tag:github.com,2008:https://github.com/pallets/click/releases Release notes from click 2026-03-15T05:57:20Z tag:github.com,2008:Repository/19103692/8.3.2 2026-03-15T05:57:20Z 8.3.2 <p>Release version 8.3.2.</p> Rowlando13 tag:github.com,2008:Repository/19103692/8.3.1 2025-11-15T20:46:24Z 8.3.1 <p>This is the Click 8.3.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.</p> <p>PyPI: <a href="https://pypi.org/project/click/8.3.1/" rel="nofollow">https://pypi.org/project/click/8.3.1/</a><br> Changes: <a href="https://click.palletsprojects.com/page/changes/#version-8-3-1" rel="nofollow">https://click.palletsprojects.com/page/changes/#version-8-3-1</a><br> Milestone: <a href="https://github.com/pallets/click/milestone/28">https://github.com/pallets/click/milestone/28</a></p> <ul> <li>Don't discard pager arguments by correctly using <code>subprocess.Popen</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3326205821" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/3039" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/3039/hovercard" href="https://github.com/pallets/click/issues/3039">#3039</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3383444652" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/3055" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/3055/hovercard" href="https://github.com/pallets/click/pull/3055">#3055</a></li> <li>Replace <code>Sentinel.UNSET</code> default values by <code>None</code> as they're passed through the <code>Context.invoke()</code> method. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3432113838" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/3066" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/3066/hovercard" href="https://github.com/pallets/click/issues/3066">#3066</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3431458923" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/3065" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/3065/hovercard" href="https://github.com/pallets/click/issues/3065">#3065</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3433979309" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/3068" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/3068/hovercard" href="https://github.com/pallets/click/pull/3068">#3068</a></li> <li>Fix conversion of <code>Sentinel.UNSET</code> happening too early, which caused incorrect behavior for multiple parameters using the same name. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3434547029" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/3071" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/3071/hovercard" href="https://github.com/pallets/click/issues/3071">#3071</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3441216502" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/3079" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/3079/hovercard" href="https://github.com/pallets/click/pull/3079">#3079</a></li> <li>Fix rendering when <code>prompt</code> and <code>confirm</code> parameter <code>prompt_suffix</code> is empty. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3271353696" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/3019" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/3019/hovercard" href="https://github.com/pallets/click/issues/3019">#3019</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3271558076" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/3021" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/3021/hovercard" href="https://github.com/pallets/click/pull/3021">#3021</a></li> <li>When <code>Sentinel.UNSET</code> is found during parsing, it will skip calls to <code>type_cast_value</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3434315602" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/3069" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/3069/hovercard" href="https://github.com/pallets/click/issues/3069">#3069</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3454649727" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/3090" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/3090/hovercard" href="https://github.com/pallets/click/pull/3090">#3090</a></li> <li>Hide <code>Sentinel.UNSET</code> values as <code>None</code> when looking up for other parameters through the context inside parameter callbacks. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3606236286" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/3136" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/3136/hovercard" href="https://github.com/pallets/click/issues/3136">#3136</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3611151279" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/3137" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/3137/hovercard" href="https://github.com/pallets/click/pull/3137">#3137</a></li> </ul> github-actions[bot] tag:github.com,2008:Repository/19103692/8.3.0 2025-09-18T17:34:57Z 8.3.0 <p>This is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.</p> <p>We encourage everyone to upgrade. You can read more about our <a href="https://palletsprojects.com/versions" rel="nofollow">Version Support Policy</a> on our website.</p> <p>PyPI: <a href="https://pypi.org/project/click/8.3.0/" rel="nofollow">https://pypi.org/project/click/8.3.0/</a><br> Changes: <a href="https://click.palletsprojects.com/page/changes/#version-8-3-0" rel="nofollow">https://click.palletsprojects.com/page/changes/#version-8-3-0</a><br> Milestone <a href="https://github.com/pallets/click/milestone/27">https://github.com/pallets/click/milestone/27</a></p> <ul> <li> <p><strong>Improved flag option handling</strong>: Reworked the relationship between <code>flag_value</code><br> and <code>default</code> parameters for better consistency:</p> <ul> <li>The <code>default</code> parameter value is now preserved as-is and passed directly<br> to CLI functions (no more unexpected transformations)</li> <li>Exception: flag options with <code>default=True</code> maintain backward compatibility<br> by defaulting to their <code>flag_value</code></li> <li>The <code>default</code> parameter can now be any type (<code>bool</code>, <code>None</code>, etc.)</li> <li>Fixes inconsistencies reported in: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="937807178" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/1992" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/1992/hovercard" href="https://github.com/pallets/click/issues/1992">#1992</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1708573764" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2514" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2514/hovercard" href="https://github.com/pallets/click/issues/2514">#2514</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1899667757" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2610" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2610/hovercard" href="https://github.com/pallets/click/issues/2610">#2610</a><br> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3285556668" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/3024" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/3024/hovercard" href="https://github.com/pallets/click/issues/3024">#3024</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3295762036" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/3030" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/3030/hovercard" href="https://github.com/pallets/click/pull/3030">#3030</a></li> </ul> </li> <li> <p>Allow <code>default</code> to be set on <code>Argument</code> for <code>nargs = -1</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1091374375" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2164" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2164/hovercard" href="https://github.com/pallets/click/issues/2164">#2164</a><br> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3295762036" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/3030" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/3030/hovercard" href="https://github.com/pallets/click/pull/3030">#3030</a></p> </li> <li> <p>Show correct auto complete value for <code>nargs</code> option in combination with flag<br> option <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2707761687" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2813" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2813/hovercard" href="https://github.com/pallets/click/issues/2813">#2813</a></p> </li> <li> <p>Show correct auto complete value for nargs option in combination with flag option <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2707761687" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2813" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2813/hovercard" href="https://github.com/pallets/click/issues/2813">#2813</a></p> </li> <li> <p>Fix handling of quoted and escaped parameters in Fish autocompletion. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3205756255" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2995" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2995/hovercard" href="https://github.com/pallets/click/issues/2995">#2995</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3258775980" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/3013" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/3013/hovercard" href="https://github.com/pallets/click/pull/3013">#3013</a></p> </li> <li> <p>Lazily import <code>shutil</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3281363991" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/3023" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/3023/hovercard" href="https://github.com/pallets/click/pull/3023">#3023</a></p> </li> <li> <p>Properly forward exception information to resources registered with<br> <code>click.core.Context.with_resource()</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1571000936" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2447" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2447/hovercard" href="https://github.com/pallets/click/issues/2447">#2447</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3404985919" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/3058" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/3058/hovercard" href="https://github.com/pallets/click/pull/3058">#3058</a></p> </li> <li> <p>Fix regression related to EOF handling in CliRunner. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3083685481" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2939" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2939/hovercard" href="https://github.com/pallets/click/issues/2939">#2939</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3084507040" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2940" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2940/hovercard" href="https://github.com/pallets/click/pull/2940">#2940</a></p> </li> </ul> github-actions[bot] tag:github.com,2008:Repository/19103692/8.2.2 2025-08-02T02:25:26Z 8.2.2 <p>This is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.</p> <p>PyPI: <a href="https://pypi.org/project/click/8.2.2/" rel="nofollow">https://pypi.org/project/click/8.2.2/</a><br> Changes: <a href="https://click.palletsprojects.com/page/changes/#version-8-2-2" rel="nofollow">https://click.palletsprojects.com/page/changes/#version-8-2-2</a><br> Milestone: <a href="https://github.com/pallets/click/milestone/25">https://github.com/pallets/click/milestone/25</a></p> <ul> <li>Fix reconciliation of <code>default</code>, <code>flag_value</code> and <code>type</code> parameters for<br> flag options, as well as parsing and normalization of environment variables.<br> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3093548593" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2952" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2952/hovercard" href="https://github.com/pallets/click/issues/2952">#2952</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3097824829" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2956" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2956/hovercard" href="https://github.com/pallets/click/pull/2956">#2956</a></li> <li>Fix typing issue in <code>BadParameter</code> and <code>MissingParameter</code> exceptions for the<br> parameter <code>param_hint</code> that did not allow for a sequence of string where the<br> underlying functino <code>_join_param_hints</code> allows for it. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2522772887" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2777" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2777/hovercard" href="https://github.com/pallets/click/issues/2777">#2777</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3198764249" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2990" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2990/hovercard" href="https://github.com/pallets/click/pull/2990">#2990</a></li> <li>Use the value of <code>Enum</code> choices to render their default value in help<br> screen. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3059758361" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2911" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2911/hovercard" href="https://github.com/pallets/click/issues/2911">#2911</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3246325133" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/3004" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/3004/hovercard" href="https://github.com/pallets/click/pull/3004">#3004</a></li> <li>Fix completion for the Z shell (<code>zsh</code>) for completion items containing<br> colons. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2225791970" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2703" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2703/hovercard" href="https://github.com/pallets/click/issues/2703">#2703</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2796370359" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2846" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2846/hovercard" href="https://github.com/pallets/click/pull/2846">#2846</a></li> <li>Don't include envvar in error hint when not configured. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3127279944" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2971" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2971/hovercard" href="https://github.com/pallets/click/issues/2971">#2971</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3127303384" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2972" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2972/hovercard" href="https://github.com/pallets/click/pull/2972">#2972</a></li> <li>Fix a rare race in <code>click.testing.StreamMixer</code>'s finalization that manifested<br> as a <code>ValueError</code> on close in a multi-threaded test session.<br> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3202314067" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2993" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2993/hovercard" href="https://github.com/pallets/click/issues/2993">#2993</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3202109129" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2991" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2991/hovercard" href="https://github.com/pallets/click/pull/2991">#2991</a></li> </ul> github-actions[bot] tag:github.com,2008:Repository/19103692/8.2.1 2025-05-20T23:20:12Z 8.2.1 <p>This is the Click 8.2.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.</p> <p>PyPI: <a href="https://pypi.org/project/click/8.2.1/" rel="nofollow">https://pypi.org/project/click/8.2.1/</a><br> Changes: <a href="https://click.palletsprojects.com/page/changes/#version-8-2-1" rel="nofollow">https://click.palletsprojects.com/page/changes/#version-8-2-1</a><br> Milestone: <a href="https://github.com/pallets/click/milestone/24?closed=1">https://github.com/pallets/click/milestone/24?closed=1</a></p> <ul> <li>Fix flag value handling for flag options with a provided type. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3054788786" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2894" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2894/hovercard" href="https://github.com/pallets/click/issues/2894">#2894</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3054908026" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2897" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2897/hovercard" href="https://github.com/pallets/click/issues/2897">#2897</a></li> <li>Fix shell completion for nested groups. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3056568388" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2906" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2906/hovercard" href="https://github.com/pallets/click/issues/2906">#2906</a></li> <li>Flush <code>sys.stderr</code> at the end of <code>CliRunner.invoke</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2160466961" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2682" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2682/hovercard" href="https://github.com/pallets/click/issues/2682">#2682</a></li> <li>Fix EOF handling for stdin input in <code>CliRunner</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2580545854" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2787" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2787/hovercard" href="https://github.com/pallets/click/issues/2787">#2787</a></li> </ul> github-actions[bot] tag:github.com,2008:Repository/19103692/8.2.0 2025-05-18T09:48:41Z 8.2.0 <p>This is the Click 8.2.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.</p> <p>We encourage everyone to upgrade. You can read more about our <a href="https://palletsprojects.com/versions" rel="nofollow">Version Support Policy</a> on our website.</p> <p>PyPI: <a href="https://pypi.org/project/click/8.2.0/" rel="nofollow">https://pypi.org/project/click/8.2.0/</a><br> Changes: <a href="https://click.palletsprojects.com/en/stable/changes/" rel="nofollow">https://click.palletsprojects.com/en/stable/changes/</a><br> Milestone <a href="https://github.com/pallets/click/milestone/15">https://github.com/pallets/click/milestone/15</a></p> <ul> <li>Drop support for Python 3.7, 3.8,and 3.9. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1855797269" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2588" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2588/hovercard" href="https://github.com/pallets/click/pull/2588">#2588</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3054542852" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2893" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2893/hovercard" href="https://github.com/pallets/click/pull/2893">#2893</a></li> <li>Use modern packaging metadata with <code>pyproject.toml</code> instead of <code>setup.cfg</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1550160816" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2438" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2438/hovercard" href="https://github.com/pallets/click/pull/2438">#2438</a></li> <li>Use <code>flit_core</code> instead of <code>setuptools</code> as build backend. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1779527253" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2543" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2543/hovercard" href="https://github.com/pallets/click/pull/2543">#2543</a></li> <li>Deprecate the <code>__version__</code> attribute. Use feature detection, or <code>importlib.metadata.version("click")</code>, instead. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1873921156" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2598" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2598/hovercard" href="https://github.com/pallets/click/issues/2598">#2598</a></li> <li><code>BaseCommand</code> is deprecated. <code>Command</code> is the base class for all commands. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1857054289" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2589" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2589/hovercard" href="https://github.com/pallets/click/issues/2589">#2589</a></li> <li><code>MultiCommand</code> is deprecated. <code>Group</code> is the base class for all group commands. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1857103790" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2590" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2590/hovercard" href="https://github.com/pallets/click/issues/2590">#2590</a></li> <li>The current parser and related classes and methods, are deprecated.<br> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1148268458" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2205" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2205/hovercard" href="https://github.com/pallets/click/issues/2205">#2205</a> <ul> <li><code>OptionParser</code> and the <code>parser</code> module, which is a modified copy of <code>optparse</code> in the standard library.</li> <li><code>Context.protected_args</code> is unneeded. <code>Context.args</code> contains any remaining arguments while parsing.</li> <li><code>Parameter.add_to_parser</code> (on both <code>Argument</code> and <code>Option</code>) is unneeded. Parsing works directly without building a separate parser.</li> <li><code>split_arg_string</code> is moved from <code>parser</code> to <code>shell_completion</code>.</li> </ul> </li> <li>Enable deferred evaluation of annotations with <code>from __future__ import annotations</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1223360176" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2270" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2270/hovercard" href="https://github.com/pallets/click/pull/2270">#2270</a></li> <li>When generating a command's name from a decorated function's name, the suffixes <code>_command</code>, <code>_cmd</code>, <code>_group</code>, and <code>_grp</code> are removed. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1306221218" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2322" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2322/hovercard" href="https://github.com/pallets/click/issues/2322">#2322</a></li> <li>Show the <code>types.ParamType.name</code> for <code>types.Choice</code> options within <code>--help</code> message if <code>show_choices=False</code> is specified. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1377821213" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2356" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2356/hovercard" href="https://github.com/pallets/click/issues/2356">#2356</a></li> <li>Do not display default values in prompts when <code>Option.show_default</code> is <code>False</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1698058093" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2509" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2509/hovercard" href="https://github.com/pallets/click/pull/2509">#2509</a></li> <li>Add <code>get_help_extra</code> method on <code>Option</code> to fetch the generated extra items used in <code>get_help_record</code> to render help text. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1712115784" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2516" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2516/hovercard" href="https://github.com/pallets/click/issues/2516">#2516</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1712118954" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2517" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2517/hovercard" href="https://github.com/pallets/click/pull/2517">#2517</a></li> <li>Keep stdout and stderr streams independent in <code>CliRunner</code>. Always collect stderr output and never raise an exception. Add a new output stream to simulate what the user sees in its terminal. Removes the <code>mix_stderr</code> parameter in <code>CliRunner</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1731559241" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2522" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2522/hovercard" href="https://github.com/pallets/click/issues/2522">#2522</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1732022163" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2523" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2523/hovercard" href="https://github.com/pallets/click/pull/2523">#2523</a></li> <li><code>Option.show_envvar</code> now also shows environment variable in error messages. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2212077879" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2695" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2695/hovercard" href="https://github.com/pallets/click/issues/2695">#2695</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2212081555" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2696" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2696/hovercard" href="https://github.com/pallets/click/pull/2696">#2696</a></li> <li><code>Context.close</code> will be called on exit. This results in all <code>Context.call_on_close</code> callbacks and context managers added via <code>Context.with_resource</code> to be closed on exit as well. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2150994373" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2680" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2680/hovercard" href="https://github.com/pallets/click/pull/2680">#2680</a></li> <li>Add <code>ProgressBar(hidden: bool)</code> to allow hiding the progressbar. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1891629520" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2609" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2609/hovercard" href="https://github.com/pallets/click/issues/2609">#2609</a></li> <li>A <code>UserWarning</code> will be shown when multiple parameters attempt to use the same name. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1437709627" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2396" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2396/hovercard" href="https://github.com/pallets/click/issues/2396">#2396</a></li> <li>When using <code>Option.envvar</code> with <code>Option.flag_value</code>, the <code>flag_value</code> will always be used instead of the value of the environment variable. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2370065083" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2746" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2746/hovercard" href="https://github.com/pallets/click/issues/2746">#2746</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2584260676" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2788" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2788/hovercard" href="https://github.com/pallets/click/pull/2788">#2788</a></li> <li>Add <code>Choice.get_invalid_choice_message</code> method for customizing the invalid choice message. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1927018624" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2621" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2621/hovercard" href="https://github.com/pallets/click/issues/2621">#2621</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1927021533" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2622" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2622/hovercard" href="https://github.com/pallets/click/pull/2622">#2622</a></li> <li>If help is shown because <code>no_args_is_help</code> is enabled (defaults to <code>True</code> for groups, <code>False</code> for commands), the exit code is 2 instead of 0. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="577211300" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/1489" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/1489/hovercard" href="https://github.com/pallets/click/pull/1489">#1489</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="577211300" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/1489" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/1489/hovercard" href="https://github.com/pallets/click/pull/1489">#1489</a></li> <li>Contexts created during shell completion are closed properly, fixing a <code>ResourceWarning</code> when using <code>click.File</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2022625717" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2644" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2644/hovercard" href="https://github.com/pallets/click/issues/2644">#2644</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2631208077" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2800" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2800/hovercard" href="https://github.com/pallets/click/pull/2800">#2800</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2478601556" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2767" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2767/hovercard" href="https://github.com/pallets/click/pull/2767">#2767</a></li> <li><code>click.edit(filename)</code> now supports passing an iterable of filenames in case the editor supports editing multiple files at once. Its return type is now also typed: <code>AnyStr</code> if <code>text</code> is passed, otherwise <code>None</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="996168313" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2067" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2067/hovercard" href="https://github.com/pallets/click/issues/2067">#2067</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="997445250" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2068" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2068/hovercard" href="https://github.com/pallets/click/pull/2068">#2068</a></li> <li>Specialized typing of <code>progressbar(length=...)</code> as <code>ProgressBar[int]</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1982314586" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2630" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2630/hovercard" href="https://github.com/pallets/click/pull/2630">#2630</a></li> <li>Improve <code>echo_via_pager</code> behaviour in face of errors. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2131133791" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2674" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2674/hovercard" href="https://github.com/pallets/click/issues/2674">#2674</a> <ul> <li>Terminate the pager in case a generator passed to <code>echo_via_pager</code> raises an exception.</li> <li>Ensure to always close the pipe to the pager process and wait for it to terminate.</li> <li><code>echo_via_pager</code> will not ignore <code>KeyboardInterrupt</code> anymore. This allows the user to search for future output of the generator when using less and then aborting the program using ctrl-c.</li> </ul> </li> <li><code>deprecated: bool | str</code> can now be used on options and arguments. This previously was only available for <code>Command</code>. The message can now also be customised by using a <code>str</code> instead of a <code>bool</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1219110025" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2263" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2263/hovercard" href="https://github.com/pallets/click/issues/2263">#2263</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1223364499" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2271" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2271/hovercard" href="https://github.com/pallets/click/pull/2271">#2271</a> <ul> <li><code>Command.deprecated</code> formatting in <code>--help</code> changed from <code>(Deprecated) help</code> to <code>help (DEPRECATED)</code>.</li> <li>Parameters cannot be required nor prompted or an error is raised.</li> <li>A warning will be printed when something deprecated is used.</li> </ul> </li> <li>Add a <code>catch_exceptions</code> parameter to <code>CliRunner</code>. If <code>catch_exceptions</code> is not passed to <code>CliRunner.invoke</code>, the value from <code>CliRunner</code> is used. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2720562697" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2817" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2817/hovercard" href="https://github.com/pallets/click/issues/2817">#2817</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2725569266" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2818" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2818/hovercard" href="https://github.com/pallets/click/pull/2818">#2818</a></li> <li><code>Option.flag_value</code> will no longer have a default value set based on <code>Option.default</code> if <code>Option.is_flag</code> is <code>False</code>. This results in <code>Option.default</code> not needing to implement <code>__bool__</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2754664817" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2829" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2829/hovercard" href="https://github.com/pallets/click/pull/2829">#2829</a></li> <li>Incorrect <code>click.edit</code> typing has been corrected. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2646316670" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2804" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2804/hovercard" href="https://github.com/pallets/click/pull/2804">#2804</a></li> <li><code>Choice</code> is now generic and supports any iterable value. This allows you to use enums and other non-<code>str</code> values. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2630634871" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2796" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2796/hovercard" href="https://github.com/pallets/click/pull/2796">#2796</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="164656825" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/605" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/605/hovercard" href="https://github.com/pallets/click/issues/605">#605</a></li> <li>Remove <code>click.HelpOption</code> that was introduced in 8.1.8 due to api incompatibility. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2763079023" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2832" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2832/hovercard" href="https://github.com/pallets/click/issues/2832">#2832</a></li> </ul> <p>Please remember, applications <em>must</em> lock their full dependency tree to control when updates are installed and ensure reproducible deployments. Use one of the various project management or lock tools available in the Python ecosystem. Test with warnings treated as errors to be able to adapt to deprecation warnings early.</p> github-actions[bot] tag:github.com,2008:Repository/19103692/8.1.8 2024-12-21T18:39:41Z 8.1.8 <p>This is the Click 8.1.8 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.</p> <p>PyPI: <a href="https://pypi.org/project/click/8.1.8/" rel="nofollow">https://pypi.org/project/click/8.1.8/</a><br> Changes: <a href="https://click.palletsprojects.com/en/stable/changes/#version-8-1-8" rel="nofollow">https://click.palletsprojects.com/en/stable/changes/#version-8-1-8</a><br> Milestone <a href="https://github.com/pallets/click/milestones/23?closed=1">https://github.com/pallets/click/milestones/23?closed=1</a></p> <ul> <li>Fix an issue with type hints for <code>click.open_file()</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2276876264" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2717" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2717/hovercard" href="https://github.com/pallets/click/issues/2717">#2717</a></li> <li>Fix issue where error message for invalid <code>click.Path</code> displays on<br> multiple lines. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2216173803" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2697" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2697/hovercard" href="https://github.com/pallets/click/issues/2697">#2697</a></li> <li>Fixed issue that prevented a default value of <code>""</code> from being displayed in<br> the help for an option. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1688965600" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2500" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2500/hovercard" href="https://github.com/pallets/click/issues/2500">#2500</a></li> <li>The test runner handles stripping color consistently on Windows. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2238124447" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2705" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2705/hovercard" href="https://github.com/pallets/click/issues/2705">#2705</a></li> <li>Show correct value for flag default when using <code>default_map</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1988959490" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2632" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2632/hovercard" href="https://github.com/pallets/click/issues/2632">#2632</a></li> <li>Fix <code>click.echo(color=...)</code> passing <code>color</code> to coloroma so it can be<br> forced on Windows. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1879822229" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2606" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2606/hovercard" href="https://github.com/pallets/click/issues/2606">#2606</a>.</li> <li>More robust bash version check, fixing problem on Windows with git-bash. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2016187987" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2638" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2638/hovercard" href="https://github.com/pallets/click/issues/2638">#2638</a></li> <li>Cache the help option generated by the <code>help_option_names</code> setting to<br> respect its eagerness. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2687769102" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2811" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2811/hovercard" href="https://github.com/pallets/click/pull/2811">#2811</a></li> <li>Replace uses of <code>os.system</code> with <code>subprocess.Popen</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="569365522" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/1476" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/1476/hovercard" href="https://github.com/pallets/click/issues/1476">#1476</a></li> <li>Exceptions generated during a command will use the context's <code>color</code><br> setting when being displayed. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1137322850" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2193" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2193/hovercard" href="https://github.com/pallets/click/issues/2193">#2193</a></li> <li>Error message when defining option with invalid name is more descriptive. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1588448510" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2452" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2452/hovercard" href="https://github.com/pallets/click/issues/2452">#2452</a></li> <li>Refactor code generating default <code>--help</code> option to deduplicate code. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1799267625" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2563" data-hovercard-type="pull_request" data-hovercard-url="/pallets/click/pull/2563/hovercard" href="https://github.com/pallets/click/pull/2563">#2563</a></li> <li>Test <code>CLIRunner</code> resets patched <code>_compat.should_strip_ansi</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2311646537" data-permission-text="Title is private" data-url="https://github.com/pallets/click/issues/2732" data-hovercard-type="issue" data-hovercard-url="/pallets/click/issues/2732/hovercard" href="https://github.com/pallets/click/issues/2732">#2732</a></li> </ul> github-actions[bot] tag:github.com,2008:Repository/19103692/8.0.x 2024-10-24T20:37:08Z 8.0.x <p>last 8.0.x maintenance</p> davidism tag:github.com,2008:Repository/19103692/7.x 2024-10-24T20:37:08Z 7.x <p>last 7.x maintenance</p> davidism tag:github.com,2008:Repository/19103692/6.x 2024-10-24T20:37:08Z 6.x <p>last 6.x maintenance</p> davidism