发布日期: 2026-06-12
版本号: v4.2.1

Helm v4.2.1是一个补丁版本,建议用户升级以获得最佳体验。本次更新修复了多个重要问题,包括:并发调用GetWaiterWithOptions时的数据竞争问题、命令成功消息错误输出到stderr而非stdout的问题、使用版本范围约束时出现错误警告的问题,以及WaitForDelete中的竞态条件问题。此外,还升级了golang.org/x/net等依赖以修复安全漏洞,并更新了cli-utils、controller-runtime和k8s等SDK依赖。用户可以从官方渠道下载适用于不同平台的二进制文件进行安装或升级,详细安装说明和快速入门指南可参考官方文档。社区通过Kubernetes Slack频道和公开开发者电话会议进行交流与协作。未来计划于2026年7月发布4.2.2和3.21.2补丁版本,9月发布4.3.0和3.22.0次要版本。

更新内容 (中文)

Helm v4.2.1 是一个补丁版本。我们鼓励用户升级以获得最佳体验。

社区正在不断壮大,我们期待您的加入!

  • 加入 Kubernetes Slack 讨论:
    • 用于提问和交流
    • 用于讨论 PR、代码和错误
  • 参加公共开发者电话会议:太平洋时间周四 9:30,通过 Zoom
  • 测试、调试和贡献图表:ArtifactHub/packages

重要变更

  • 修复了并发 goroutine(升级 + 回滚、安装 + 卸载)同时对同一 FailingKubeClient 实例调用 GetWaiterWithOptions 时,-race 标志检测到的数据竞争问题 #31925
  • 修复了 helm 命令成功消息写入标准错误(stderr)而非标准输出(stdout)的问题。现已正确输出至标准输出 #32056
  • 修复了使用版本范围约束时 Helm 4 发出 “unable to find exact version” 错误的问题 #31757
  • 修复了 WaitForDelete 中的竞态条件,即状态观察器过早取消了监视,导致运行完整测试套件时出现间歇性失败 #32081
  • 升级 golang.org/x/net 至 v0.55.0 以解决 GO-2026-5026 问题 #32153
  • 通过升级依赖项(cli-utils 1.2.1、controller-runtime 0.24.1 和 k8s 1.36.1)修复了 SDK 错误 #32128
  • 依赖项更新

安装与升级

下载 Helm v4.2.1。常用平台二进制文件在此:

此版本使用密钥 208D D36E D5BB 3745 A167 43A4 C7C6 FBB5 B91C 1155 签名,可在 @scottrigby 的 keybase 账户 找到。请使用附带的签名,通过 gpg 验证此版本。

快速入门指南 将帮助您快速上手。有关升级说明或详细安装说明,请查看安装指南。您也可以使用安装脚本 在任何带有 bash 的系统上进行安装。

下一步

  • 4.2.2 和 3.21.2 是计划于 2026 年 7 月 8 日发布的下一个补丁版本
  • 4.3.0 和 3.22.0 是计划于 2026 年 9 月 9 日发布的下一个次要版本

变更日志

  • fix: 防止 FailingKubeClient.RecordedWaitOptions 出现数据竞争 (#31925) d591a19b953bd9cfdf7d9ddd83c2f4ffdaeafb29 (Terry Howe)
  • fix: 将注册表客户端输出路由至标准输出而非标准错误 (#32056) 2a9fcae29280472edec988c6bf0528e4ae79b33a (Terry Howe)
  • chore(deps): 升级 oras.land/oras-go/v2 从 2.6.0 至 2.6.1 ffa5bd693eee68ba9c1ba42d160c69114eda962c (dependabot[bot])
  • chore(deps): 升级 golang.org/x/crypto 从 0.52.0 至 0.53.0 9f9dbaf94008044a516cda4837565237306578a7 (dependabot[bot])
  • chore(deps): 升级 golang.org/x/term 从 0.43.0 至 0.44.0 64a2891699ae9c8f2d0e06d5db3dd117649886a2 (dependabot[bot])
  • chore(deps): 升级 golang.org/x/text 从 0.37.0 至 0.38.0 e54a4a2b7d4ed9ca3bb4be7562f76dd5f2fd8f71 (dependabot[bot])
  • chore(deps): 升级 github/codeql-action 从 4.36.1 至 4.36.2 acb762b0ef8882b062ba8f6b87261411309875b8 (dependabot[bot])
  • chore(deps): 升级 github/codeql-action 从 4.36.0 至 4.36.1 768586df3f2a79fca5202b6713f8675bb097a904 (dependabot[bot])
  • fix(version): 避免在预发布版本 x/X 上出现错误的范围检测 eabfae560459d1ffe1f7a3268d5441238e9f84b2 (Benoit Tigeot)
  • fix(version): 版本范围 || 之间不能有空格 e3fd51f331e14fb4056951540d2f2ffde81b405c (Benoit Tigeot)
  • feat: 在调试信息中报告使用版本范围参数选定的版本 1e47395a9566bcaaaf7ed9e31a8367eb1f95e0a3 (Benoit Tigeot)
  • fix: 防止使用版本范围约束时出现警告 a33e23939a85ac60eb9a6bee818f2c5459fda576 (Benoit Tigeot)
  • fix(kube): 在 WaitForDelete 中始终传播 context.Canceled fa06d4455724afe22bbe00af7925549a82d95e6c (Terry Howe)
  • fix(kube): 防止在 informer 同步期间 WaitForDelete 过早退出 360d4835df0fb8bd7cbde4cad0cbc79de01a6e93 (Terry Howe)
  • chore(deps): 升级 github.com/tetratelabs/wazero 从 1.11.0 至 1.12.0 7651edf21e31b5c33df82e67f23855d1358d021d (dependabot[bot])
  • chore(deps): 升级 golang.org/x/crypto 从 0.51.0 至 0.52.0 b132e7e43f3620eb60ef3524527c1b2fceed90e9 (dependabot[bot])
  • fix(deps): 升级 golang.org/x/net 至 v0.55.0 以解决 GO-2026-5026 问题 eee491a7461a524b87e5bb73ea5a0c4f82c72469 (Terry Howe)
  • chore(deps): 升级 golangci/golangci-lint-action 从 9.2.0 至 9.2.1 3e3c5751b1723239cbce042533db0d84b65c6bc1 (dependabot[bot])
  • chore(deps): 升级 github/codeql-action 从 4.35.5 至 4.36.0 c4ce2bb364dbfb781059e628572d7177ba191cc4 (dependabot[bot])
  • chore(deps): 升级 actions/stale 从 10.2.0 至 10.3.0 3892dc2a11b2e111acddcbc55d5a4733ba461f20 (dependabot[bot])
  • chore(deps): 升级 github/codeql-action 从 4.35.4 至 4.35.5 c4bbb6263f59fe541acd75ce0b508034c65899e1 (dependabot[bot])
  • chore(deps): 升级 golang.org/x/crypto 从 0.50.0 至 0.51.0 a0d7f16b58aa4cb9dbaf8c37055faa28b1b350ae (dependabot[bot])
  • chore(deps): 升级 github/codeql-action 从 4.35.3 至 4.35.4 8a3de054b5ab1b59f60c790fad39861e294671f1 (dependabot[bot])
  • fix(upstream): 升级至 cli-utils 1.2.1、controller-runtime 0.24.1 和 k8s 1.36.1 57a4803bd4953d8ef9d51d927f492ecaaf5df9db (Matheus Pimenta)
  • chore(deps): 升级 github.com/fluxcd/cli-utils 从 1.2.0 至 1.2.1 b33ae02b9cd7fcba804391ab3d364739cb2a8780 (dependabot[bot])

完整变更日志:https://github.com/helm/helm/compare/v4.2.0…v4.2.1

更新内容 (原始)

Helm v4.2.1 is a patch release. Users are encouraged to upgrade for the best experience.

The community keeps growing, and we’d love to see you there!

  • Join the discussion in Kubernetes Slack:
    • for questions and just to hang out
    • for discussing PRs, code, and bugs
  • Hang out at the Public Developer Call: Thursday, 9:30 Pacific via Zoom
  • Test, debug, and contribute charts: ArtifactHub/packages

Notable Changes

  • Fixed data race detected by -race flag when concurrent goroutines (upgrade + rollback, install + uninstall) both call GetWaiterWithOptions on the same FailingKubeClient instance #31925
  • Fixed helm command success messages writing to stderr instead of stdout. Now correctly outputing to stdout #32056
  • Fixed Helm 4 emitting “unable to find exact version” when using version range constraints #31757
  • Fixed a race condition in WaitForDelete where the status observer canceled the watch too early, causing intermittent failures when running a full test suite #32081
  • Bumped golang.org/x/net to v0.55.0 to address GO-2026-5026 #32153
  • Fixed SDK errors by upgrading dependencies: cli-utils 1.2.1, controller-runtime 0.24.1 and k8s 1.36.1 #32128
  • Dependency updates

Installation and Upgrading

Download Helm v4.2.1. The common platform binaries are here:

This release was signed with 208D D36E D5BB 3745 A167 43A4 C7C6 FBB5 B91C 1155 and can be found at @scottrigby keybase account. Please use the attached signatures for verifying this release using gpg.

The Quickstart Guide will get you going from there. For upgrade instructions or detailed installation notes, check the install guide. You can also use a script to install on any system with bash.

What’s Next

  • 4.2.2 and 3.21.2 are the next patch releases scheduled for July 8, 2026
  • 4.3.0 and 3.22.0 are the next minor releases scheduled for September 9, 2026

Changelog

  • fix: protect FailingKubeClient.RecordedWaitOptions from data race (#31925) d591a19b953bd9cfdf7d9ddd83c2f4ffdaeafb29 (Terry Howe)
  • fix: route registry client output to stdout instead of stderr (#32056) 2a9fcae29280472edec988c6bf0528e4ae79b33a (Terry Howe)
  • chore(deps): bump oras.land/oras-go/v2 from 2.6.0 to 2.6.1 ffa5bd693eee68ba9c1ba42d160c69114eda962c (dependabot[bot])
  • chore(deps): bump golang.org/x/crypto from 0.52.0 to 0.53.0 9f9dbaf94008044a516cda4837565237306578a7 (dependabot[bot])
  • chore(deps): bump golang.org/x/term from 0.43.0 to 0.44.0 64a2891699ae9c8f2d0e06d5db3dd117649886a2 (dependabot[bot])
  • chore(deps): bump golang.org/x/text from 0.37.0 to 0.38.0 e54a4a2b7d4ed9ca3bb4be7562f76dd5f2fd8f71 (dependabot[bot])
  • chore(deps): bump github/codeql-action from 4.36.1 to 4.36.2 acb762b0ef8882b062ba8f6b87261411309875b8 (dependabot[bot])
  • chore(deps): bump github/codeql-action from 4.36.0 to 4.36.1 768586df3f2a79fca5202b6713f8675bb097a904 (dependabot[bot])
  • fix(version): avoid false range detection on prerelease x/X eabfae560459d1ffe1f7a3268d5441238e9f84b2 (Benoit Tigeot)
  • fix(version): version range || can has no space e3fd51f331e14fb4056951540d2f2ffde81b405c (Benoit Tigeot)
  • feat: report in debug the version we select with version range arg 1e47395a9566bcaaaf7ed9e31a8367eb1f95e0a3 (Benoit Tigeot)
  • fix: prevent warning when using version range constraints a33e23939a85ac60eb9a6bee818f2c5459fda576 (Benoit Tigeot)
  • fix(kube): always propagate context.Canceled in WaitForDelete fa06d4455724afe22bbe00af7925549a82d95e6c (Terry Howe)
  • fix(kube): prevent spurious early exit in WaitForDelete during informer sync 360d4835df0fb8bd7cbde4cad0cbc79de01a6e93 (Terry Howe)
  • chore(deps): bump github.com/tetratelabs/wazero from 1.11.0 to 1.12.0 7651edf21e31b5c33df82e67f23855d1358d021d (dependabot[bot])
  • chore(deps): bump golang.org/x/crypto from 0.51.0 to 0.52.0 b132e7e43f3620eb60ef3524527c1b2fceed90e9 (dependabot[bot])
  • fix(deps): bump golang.org/x/net to v0.55.0 to address GO-2026-5026 eee491a7461a524b87e5bb73ea5a0c4f82c72469 (Terry Howe)
  • chore(deps): bump golangci/golangci-lint-action from 9.2.0 to 9.2.1 3e3c5751b1723239cbce042533db0d84b65c6bc1 (dependabot[bot])
  • chore(deps): bump github/codeql-action from 4.35.5 to 4.36.0 c4ce2bb364dbfb781059e628572d7177ba191cc4 (dependabot[bot])
  • chore(deps): bump actions/stale from 10.2.0 to 10.3.0 3892dc2a11b2e111acddcbc55d5a4733ba461f20 (dependabot[bot])
  • chore(deps): bump github/codeql-action from 4.35.4 to 4.35.5 c4bbb6263f59fe541acd75ce0b508034c65899e1 (dependabot[bot])
  • chore(deps): bump golang.org/x/crypto from 0.50.0 to 0.51.0 a0d7f16b58aa4cb9dbaf8c37055faa28b1b350ae (dependabot[bot])
  • chore(deps): bump github/codeql-action from 4.35.3 to 4.35.4 8a3de054b5ab1b59f60c790fad39861e294671f1 (dependabot[bot])
  • fix(upstream): upgrade to cli-utils 1.2.1, controller-runtime 0.24.1 and k8s 1.36.1 57a4803bd4953d8ef9d51d927f492ecaaf5df9db (Matheus Pimenta)
  • chore(deps): bump github.com/fluxcd/cli-utils from 1.2.0 to 1.2.1 b33ae02b9cd7fcba804391ab3d364739cb2a8780 (dependabot[bot])

Full Changelog: https://github.com/helm/helm/compare/v4.2.0...v4.2.1

下载链接