Sourced from click's releases.
8.5.0
This is the Click 8.5.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.
We encourage everyone to upgrade. You can read more about our Version Support Policy on our website.
PyPI: https://pypi.org/project/click/8.5.0/ Changes: https://click.palletsprojects.com/page/changes/#version-8-5-0 Milestone https://github.com/pallets/click/milestone/33
- Add built-in shell completion support for PowerShell (Windows PowerShell 5.1+ and pwsh 7+) alongside the existing
bash,zsh, andfishcompleters. Use_FOO_BAR_COMPLETE=powershell_source foo-barto generate the completion script. #2672 #3637- Supported versions of Windows enable ANSI terminal styles by default. Colorama is no longer a dependency and is not used. #2986 #3505
- {class}
Argumentaccepts ahelpparameter, and help output includes aPositional argumentssection when argument help is available. #2983 #3473confirm()andprompt()strip ANSI color and style codes from the prompt when the output stream does not support them, matchingecho(). This stripping was lost in8.4.0when #2969 began writing the prompt withinput()directly. #3572 #3653- {class}
Pathwithallow_dash=Trueno longer triggers aBytesWarning, an error underpython -bb, when checking a value against the-convention. #2877 #3642- Add {func}
custom_version_option, a--versionoption whose output is produced by a callback, covering cases {func}version_optionintentionally does not. The feature set of {func}version_optionis now frozen; see [discussion #3527](https://github.com/pallets/click/discussions/3527). #3581style()andsecho()no longer silently drop the 256-color index0(black) passed asfgorbg, and now validate color arguments. Invalid colors raise aValueErrorinstead of aTypeError. #3677- The automatic help option stores its value under the reserved name
_click_default_helpinstead ofhelp, so a parameter namedhelpno longer breaks parsing. The new name is visible in {meth}Command.to_info_dictoutput. 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). #2819 #3678unstyleand the ANSI handling behind help-text wrapping now strip the full CSI escape-sequence grammar. #3681- Streamline
Optionflag handling: the flag-kind, type, lazy-default and validation steps inOption.__init__move into focused helpers, andflag_valueanddefaultkeep their unset sentinel at construction (resolved lazily on read) sois UNSETreliably tells a user-supplied value from an auto-derived one. Runtime behavior is unchanged, but {meth}Parameter.to_info_dictnow resolvesdefault=Trueon a feature switch to itsflag_value, matching what the function receives at call
... (truncated)
Sourced from click's changelog.
Version 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, andfishcompleters. Use_FOO_BAR_COMPLETE=powershell_source foo-barto 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}
Argumentaccepts ahelpparameter, and help output includes aPositional argumentssection when argument help is available. {issue}2983{pr}3473confirm()andprompt()strip ANSI color and style codes from the prompt when the output stream does not support them, matchingecho(). This stripping was lost in8.4.0when {pr}2969began writing the prompt withinput()directly. {issue}3572{pr}3653- Fix test failures when using pytest >= 9.1. {pr}
3656- {class}
Pathwithallow_dash=Trueno longer triggers aBytesWarning, an error underpython -bb, when checking a value against the-convention. {issue}2877{pr}3642- Add {func}
custom_version_option, a--versionoption whose output is produced by a callback, covering cases {func}version_optionintentionally does not. The feature set of {func}version_optionis now frozen; see [discussion #3527](https://github.com/pallets/click/discussions/3527). {pr}3581style()andsecho()no longer silently drop the 256-color index0(black) passed asfgorbg, and now validate color arguments. Invalid colors raise aValueErrorinstead of aTypeError. {pr}3677- The automatic help option stores its value under the reserved name
_click_default_helpinstead ofhelp, so a parameter namedhelpno longer breaks parsing. The new name is visible in {meth}Command.to_info_dictoutput. 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}3678unstyleand the ANSI handling behind help-text wrapping now strip the full CSI escape-sequence grammar. {pr}3681- Streamline
Optionflag handling: the flag-kind, type, lazy-default and validation steps inOption.__init__move into focused helpers, andflag_valueanddefaultkeep their unset sentinel at construction (resolved lazily on read) sois UNSETreliably tells a user-supplied value from an auto-derived one. Runtime behavior is unchanged, but {meth}Parameter.to_info_dictnow resolvesdefault=Trueon a feature switch to itsflag_value, matching what the function receives at call time. {pr}3641- {func}
get_binary_streamand {func}get_text_streamare deprecated and will be removed in Click 9.0. {issue}3481{pr}3695- The following
click.utilsnames were never intentionally public and are now private (_-prefixed). The old names remain available with aDeprecationWarninguntil Click 9.0:LazyFile,KeepOpenFile,
... (truncated)
8b19813
Release version 8.5.02c8cd3a
Add FAQ entry about UnicodeEncodeError on Windows (#3778)131c86a
Add FAQ entry about UnicodeEncodeError on Windowse1fd594
Add support of pathlib.Path to edit (#3781)a1d8785
Add support of pathlib.Path to edit2103e15
Forward all user's parameters set in PAGER and improve flag
detection (#3777)a6256bf
Forwards all user's parameters set in PAGER61b69e9
Resolve the pager command once, in _pager_contextmanager
(#3776)9835b0f
Resolve the pager command once, in
_pager_contextmanagerf36d58b
Refactor pager stream handling (#3767)Sourced from langgraph-sdk's releases.
langgraph-sdk==0.4.4
Changes since sdk==0.4.3
- release(sdk-py): 0.4.4 (#8738)
- Merge commit from fork
- feat: route LangSmith traces from thread streams (#8723)
langgraph-sdk==0.4.3
Changes since sdk==0.4.2
- release(sdk-py): 0.4.3 (#8657)
- feat(sdk-py): add decrypt replacement result (#8598)
- release(langgraph): 1.2.11 (#8595)
- chore(deps): bump the minor-and-patch group across 1 directory with 5 updates (#8532)
- release(checkpoint): 4.2.0 (#8563)
- chore: enforce PLC0415 in tests for the remaining packages (#8547)
- release(langgraph): 1.2.10 (#8462)
- chore(deps): bump websockets from 15.0.1 to 16.0 in /libs/sdk-py in the major group (#8253)
- fix(sdk-py): support clearing cron end_time via update(end_time=None) (#8334)
- release(langgraph): 1.2.9 (#8316)
- release(langgraph): 1.2.8 (#8292)
- chore(deps): bump websockets from 15.0.1 to 16.0 in /libs/langgraph in the major group (#8256)
- chore(deps): bump the minor-and-patch group in /libs/sdk-py with 9 updates (#8252)
- release(langgraph): 1.2.7 (#8223)
- chore(deps-dev): bump starlette from 1.0.1 to 1.3.1 in /libs/sdk-py (#8104)
- chore(deps): bump langsmith from 0.8.0 to 0.8.18 in /libs/sdk-py (#8174)
- release(langgraph): 1.2.6 (#8139)
- docs: standardize package
README.mdstructure (#8064)- release(langgraph): 1.2.5 (#8062)
- fix(langgraph): merge
lc_versionsconfig metadata (#8052)- chore(deps-dev): bump starlette from 1.0.0 to 1.0.1 in /libs/sdk-py (#8006)
- chore: migrate Python type checking to ty (#8002)
- release(langgraph): 1.2.4 (#7991)
- test(sdk-py): add factory-graph integration test exercising the server factory path (#7978)
- release(langgraph): 1.2.3 (#7945)
a64414c
langgraph: release 0.4.4 (#4704)3a1c02f
update for consistency5ab2aa7
lint againc33e64d
use list4ffae60
lint + update54ddde9
update60c41ce
updateefd33d8
update254a385
langgraph: fix drawing graph with root channelb20130d
langgraph: fix graph drawing for self-loopsSourced from python-dotenv's releases.
v1.2.3
Fixed
- Strip a leading UTF-8 BOM from
.envfile contents so the first variable is no longer silently lost when the file is saved with BOM (e.g. by some JetBrains IDEs on Windows) by [@h1whelan] in #640set_keynow escapes backslashes, so values containing them (Windows paths, regular expressions) survive a write/read round-trip. Quoted values ending in an escaped backslash are no longer mis-parsed as an escaped quote, which used to swallow the following lines by [@dchaudhari7177] in #680dotenv runnow prints a friendly error instead of a traceback when no command is given by [@bbc2] in #606- Cache the parsed result for empty
.envfiles so repeateddotenv_values/load_dotenvcalls no longer re-read the file by [@ReinerBRO] in #638
Sourced from python-dotenv's changelog.
[1.2.3] - 2026-08-16
Fixed
- Strip a leading UTF-8 BOM from
.envfile contents so the first variable is no longer silently lost when the file is saved with BOM (e.g. by some JetBrains IDEs on Windows) by [@h1whelan] in #640set_keynow escapes backslashes, so values containing them (Windows paths, regular expressions) survive a write/read round-trip. Quoted values ending in an escaped backslash are no longer mis-parsed as an escaped quote, which used to swallow the following lines by [@dchaudhari7177] in #680dotenv runnow prints a friendly error instead of a traceback when no command is given by [@bbc2] in #606- Cache the parsed result for empty
.envfiles so repeateddotenv_values/load_dotenvcalls no longer re-read the file by [@ReinerBRO] in #638
49515af
Bump version: 1.2.2 → 1.2.38ac846f
chore: add release runbook (RELEASING.md) and make release targetbb31c94
docs: add 1.2.3 release notes (#606,
#638,
#680)f7b18d9
fix: round-trip backslashes through set_key (#680)751f8c1
ci(deps): bump actions/checkout from 6.0.2 to 6.0.3 in the
github-actions gro...f1937b6
chore(deps): update mkdocs-include-markdown-plugin requirement from
>=6.0.0 t...45b9372
chore(deps): update pytest requirement from >=3.9 to >=9.0.3 (#653)72896e9
docs: fix broken mkdocs link in CONTRIBUTING.md (#636)72754a1
ci(deps): bump peaceiris/actions-gh-pages from 4.0.0 to 4.1.0 in the
github-a...078325e
ci(security): harden CI/CD supply chain with SHA pinning and
least-privilege ...Sourced from ruff's releases.
0.16.5
Release Notes
Released on 2026-08-27.
Preview features
- Allow rules without codes (#28049)
- Introduce category selectors (#27666)
- Update preview default rules and categories (#27877)
Bug fixes
- [
flake8-async] Detect blocking generic HTTP requests (ASYNC210) (#28024)- [
flake8-datetimez] Allow timezone-safestrptimechains (DTZ007) (#28023)- [
flake8-simplify] Respect side effects inlambdadefaults (SIM401) (#28000)Server
- Fix duplicated "of" in
ClientOptionsdoc comment (#27978)Documentation
Contributors
Install ruff 0.16.5
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.16.5/ruff-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ruff/releases/download/0.16.5/ruff-installer.ps1 | iex"Download ruff 0.16.5
... (truncated)
Sourced from ruff's changelog.
0.16.5
Released on 2026-08-27.
Preview features
- Allow rules without codes (#28049)
- Introduce category selectors (#27666)
- Update preview default rules and categories (#27877)
Bug fixes
- [
flake8-async] Detect blocking generic HTTP requests (ASYNC210) (#28024)- [
flake8-datetimez] Allow timezone-safestrptimechains (DTZ007) (#28023)- [
flake8-simplify] Respect side effects inlambdadefaults (SIM401) (#28000)Server
- Fix duplicated "of" in
ClientOptionsdoc comment (#27978)Documentation
Contributors
0.16.4
Released on 2026-08-20.
Preview features
- [
flake8-use-pathlib] Add autofix forPTH116(#26460)- [
refurb] Restrictdelete-full-sliceto lists (FURB131) (#27711)- [
refurb] SkipFURB101andFURB103when theopenargument is a file descriptor (#27643)Bug fixes
... (truncated)
9e4938c
Bump 0.16.5 (#28110)aad0e90
Allow rules without codes (#28049)5fdab73
Update preview default rules and categories (#27877)29c8e5b
Document rule acceptance guidelines (#27910)50a4d7f
Document the new category selectors (#27906)ada8795
Introduce category selectors (#27666)d894723
[ty] Infer lambda parameters through callable type aliases (#28109)2685fde
[ty] Narrow functional enum members in == and
match (#28103)efcffd2
[ty] Intersection simplifications with subtype-related generic
specialization...eb78048
[ty] Bump ecosystem-analyzer for HTML escaping (#28104)Sourced from ty's releases.
0.0.75
Release Notes
Released on 2026-08-26.
Preview features
- Initialize PEP 723 script environments in the CLI (#27544)
- Refresh PEP 723 script environments in watch mode (#27617)
- Run PEP 723 script synchronization on bounded workers (#27615)
Bug fixes
- Specialize
Selfbounds of inherited methods (#27990)LSP server
- Add "Go to Definition" support for pytest fixtures (#27444)
Documentation
- Fix documented Python package build command (#4384)
- Link untyped-call tracking issue in migration guide (#4382)
Library support
- Resolve imported pytest fixture exposures (#27539)
- Resolve installed core pytest fixture providers (#27770)
- Resolve pytest fixtures through conftest (#27540)
Diagnostics
- Add more autofixes (#28029)
- Add a dedicated missing-slot diagnostic (#28039)
- Explain missing storage for declared slotted attributes (#27969)
- Improve diagnostic spans for unpacked variable assignments (#28041)
Core type checking
- Account for known subclasses in equality inference (#28005)
- Expand
ParamSpecsignatures inferred from bound receivers (#28020)- Fix
Selfbinding inParamSpecprotocols (#28016)- Fix
TypedDictvariance inference (#28052)- Fix unsound narrowing through branch-assigned conditions (#28006)
- Ignore inconsistent binding decorators on overloads (#28036)
- Infer
yield fromsend/return types from the iterator returned by__iter__(#27987)- Infer tuple type parameters from union arguments (#28062)
- Infer variance through nonrecursive protocol references (#28065)
- Preserve bounds of non-literal metaclasses (#28046)
- Preserve correlated generic-call inference (#28043)
... (truncated)
Sourced from ty's changelog.
0.0.75
Released on 2026-08-26.
Preview features
- Initialize PEP 723 script environments in the CLI (#27544)
- Refresh PEP 723 script environments in watch mode (#27617)
- Run PEP 723 script synchronization on bounded workers (#27615)
Bug fixes
- Specialize
Selfbounds of inherited methods (#27990)LSP server
- Add "Go to Definition" support for pytest fixtures (#27444)
Documentation
- Fix documented Python package build command (#4384)
- Link untyped-call tracking issue in migration guide (#4382)
Library support
- Resolve imported pytest fixture exposures (#27539)
- Resolve installed core pytest fixture providers (#27770)
- Resolve pytest fixtures through conftest (#27540)
Diagnostics
- Add more autofixes (#28029)
- Add a dedicated missing-slot diagnostic (#28039)
- Explain missing storage for declared slotted attributes (#27969)
- Improve diagnostic spans for unpacked variable assignments (#28041)
Core type checking
- Account for known subclasses in equality inference (#28005)
- Expand
ParamSpecsignatures inferred from bound receivers (#28020)- Fix
Selfbinding inParamSpecprotocols (#28016)- Fix
TypedDictvariance inference (#28052)- Fix unsound narrowing through branch-assigned conditions (#28006)
- Ignore inconsistent binding decorators on overloads (#28036)
- Infer
yield fromsend/return types from the iterator returned by__iter__(#27987)- Infer tuple type parameters from union arguments (#28062)
- Infer variance through nonrecursive protocol references (#28065)
- Preserve bounds of non-literal metaclasses (#28046)
- Preserve correlated generic-call inference (#28043)
- Preserve invariant materialization constraints (#28047)
... (truncated)
a553dcc
Bump version to 0.0.75 (#4396)26b1b50
Update prek dependencies (#4392)73d226e
Fix documented Python package build command (#4384)5e264da
Link untyped-call tracking issue in migration guide (#4382)00199f0
Bump version to 0.0.74 (#4351)5769062
Update mypy/pyright comparison table (#4165)4fcb060
Remove Zulip from the PGO training (#4336)a7a7064
Use the versions bot's ruleset bypass when merging (#4333)01b0fab
Update prek dependencies (#4325)deef42f
Update dependency python to 3.14 (#4326)Sourced from hatch's releases.
Hatchling v1.18.0
Changed:
- Drop support for Python 3.7
Added:
- Update the list of directories that are always excluded for builds
Hatch v1.18.0
Changed:
- Upgrade default CPython distributions to 20260807
Added:
Add the
sourcesenvironment option, which redirects dependencies to a local path, Git repository, URL, alternate index, or workspace member at install time without altering published metadata. The top-level[tool.hatch.sources]table is an alias for thedefaultenvironment, environments inherit sources entry by entry, theHATCH_NO_SOURCESenvironment variable disables them, andhatch dep show sourcesreports what each source redirectsAdd the
--all/-aflag to thebuildcommand to build the workspace root and every workspace member defined by the selected environment, consolidating artifacts in the workspace root'sdistdirectory by default. A root that does not define aprojecttable is skipped so that a top-levelpyproject.tomlmay only contain workspace configurationAdd the
tool.hatch.requires-hatchfield, a version specifier set that commands reading the project's metadata enforce against the running version of HatchAdd first-class support for free-threaded distribution names such as
3.13tand3.14tto thepythoncommands and environmentpythonoption, rather than requiring theHATCH_PYTHON_VARIANT_GILenvironment variableThe
versioncommand can now bump versions that are statically defined by theproject.versionfield, updatingpyproject.tomlin place. Pass--forceto allow an explicit downgradeSupport managing Python 3.15 distributions, currently 3.15.0rc1
Fixed:
Erase stale coverage data before running
hatch test --cover.Fix environment creation crashing when a metadata hook exists that doesn’t happen to be installed in the
hatchCLI’s environment.Fix commands run by
hatch runno longer being interruptible with Ctrl-C, which happened because the ignoredSIGINTof the parent process was inherited by the child process.Fix the generated Pyrefly config being invalid on Windows, since backslashes in the absolute paths were interpreted as TOML escape sequences.
Fix the hardcoded reliance on
pipwhen installing dependencies internally by usinguvinstead.Fix environment creation silently installing a GIL-enabled Python distribution when Hatch itself runs on a free-threaded build. The distribution matching the running interpreter, such as
3.14t, is now selected.Fix free-threaded selectors such as
3.14tbeing rejected by an environment'spythonoption, even thoughhatch python install 3.14talready accepted them.Never automatically select a prerelease Python distribution, such as 3.15.0rc1, when falling back to the latest compatible version. A prerelease is still installed when requested explicitly.
558061c
Fix ci (#2377)bc6d1bc
release Hatch v1.18.0 (#2376)8429e5d
release Hatchling v1.32.0 (#2375)413b3a8
Prepare for release (#2374)4ccc9ea
Bug Fix - fix CTRL-C behavior to correctly handle signals (#2369)a885803
Add sources to enable other types of local dependencies (#2313)ab3e000
Add --all flag to hatch build for building all workspace members (#2352)bb90277
fix: Allow the ; private annotation in
import-names/import-namespaces p...3a9d853
fix: prevent backward relative paths in readme (#2354)c4dc4f8
test: Fix test expectations for metadata generated by
flit-core (#2365)