RATATOSKRATATOSK
로그인

릴리즈

CNCF graduated·incubating 프로젝트 릴리즈 노트의 AI 분석.

프로젝트: Helm해제 ×

Helm

Kubernetes Core2026년 6월 18일

Helm v4.2.2는 WaitForDelete의 조기 종료 수정사항을 되돌렸습니다. 상태 감시 레이스 컨디션을 해결하기 위한 한 줄짜리 패치입니다.

  • breakingWaitForDelete 레이스 컨디션 재도입—테스트 스위트 행(hang) 현상 복귀 가능성

    이전에 수정된 WaitForDelete의 레이스 컨디션(상태 감시자가 워치를 조기에 취소하는 문제)이 v4.2.2에서 되돌려졌습니다. Helm 테스트 스위트를 광범위하게 실행하거나 WaitForDelete 동작에 의존 중이라면 업그레이드 후 간헐적인 행(hang) 또는 타임아웃이 다시 나타날 수 있습니다. 업그레이드 후 테스트 실행에서 불안정성을 모니터링하세요. 향후 패치에서 적절한 수정이 나올 가능성이 높으므로, v4.2.2에 오래 머물지 마세요.

주요 변경 (2)
  • WaitForDelete의 조기 종료 수정사항을 되돌림—전체 테스트 스위트 실행 중 간헐적 실패 유발
  • 상태 감시자가 워치를 조기에 취소하는 레이스 컨디션 재도입
원문

Helm

Kubernetes Core2026년 6월 13일

Helm v4.2.1는 동시 작업 중 발생하는 데이터 경쟁 상태를 고치고, 명령 출력 경로를 수정하며, 버전 범위 제약 파싱 문제를 해결합니다.

  • breaking업그레이드 후 출력 파싱 로직 검토하기

    Helm 명령 성공 메시지가 stderr 대신 stdout으로 출력되도록 바뀌었습니다. CI/CD 파이프라인, 모니터링, 셸 스크립트에서 Helm 출력을 스트림별로 리다이렉트하거나 필터링한다면 예상 외로 동작할 수 있습니다. grep, tee, 출력 캡처 로직을 확인하세요. 대부분의 스크립트는 그대로 작동하지만, 스트림 의존도가 높은 로직은 재검토가 필요합니다.

  • enhancement버전 범위 제약을 제약 없이 사용하기

    Helm 4에서 프리릴리스 버전이나 공백이 없는 범위 제약(예: 'v1.0.0||v1.1.0')을 거부하거나 경고하던 문제가 해결됐습니다. 범위 제약을 피하거나 고정 버전으로 대체한 팀이라면 이제 제약 기반 선택을 도입할 수 있고, 이는 대규모 배포에서 의존성 관리를 단순화합니다.

  • enhancement동시 작업 안정성을 위해 업그레이드하기

    동시 goroutine 실행 중 여러 경쟁 상태(upgrade+rollback, install+uninstall이 같은 클라이언트 대상, WaitForDelete 타이밍)가 모두 고쳐졌습니다. 고속 동시 Helm 작업(멀티 차트 배포, 병렬 재조정 루프, 대규모 테스트 스위트)을 운영한다면 업그레이드해서 간헐적 실패를 제거하세요. CI 파이프라인에서 불안정한 테스트 결과를 보고 있다면 특히 중요합니다.

주요 변경 (5)
  • 같은 FailingKubeClient 인스턴스에서 동시에 upgrade+rollback, install+uninstall을 실행할 때 GetWaiterWithOptions의 데이터 경쟁 상태 제거
  • Helm 명령 출력 경로 수정: 성공 메시지가 stderr이 아니라 stdout으로 출력됨
  • Helm 4에서 버전 범위 제약 파싱 오류 해결 (프리릴리스 버전, || 연산자의 공백 누락 등)
  • WaitForDelete 경쟁 상태 패치: 상태 감시자가 watch를 너무 일찍 취소하던 문제 제거
  • 의존성 업데이트: cli-utils 1.2.1, controller-runtime 0.24.1, k8s 1.36.1, golang.org/x/net v0.55.0 (GO-2026-5026)
원문

Helm

Kubernetes Core2026년 6월 12일

Helm v3.21.1은 템플릿 작업 중 nil 포인터 패닉을 고치고 의존성을 업데이트합니다. 안정성 개선 패치입니다.

  • securityGo 보안 패치 GO-2026-5026 적용

    golang.org/x/net이 v0.55.0으로 올라가 GO-2026-5026을 고칩니다. 이는 공급망 의존성이며 Helm API에 직접 노출되지 않습니다. 보안 검사 도구가 net 취약점을 플래그하면 업그레이드하세요. Helm을 정상적으로 사용하는 경우라면 별도 조치는 필요하지 않습니다.

  • breakingClientOnly 템플릿 작업이 이제 정상 에러를 반환합니다

    클러스터 없이 helm template 명령을 실행하는 환경(ClientOnly 모드)에서 nil 포인터 패닉이 발생하던 문제가 고쳐졌습니다. 이제 올바른 템플릿 에러를 반환합니다. 패닉을 잡아서 처리하는 자동화가 있다면 에러 처리를 타입이 있는 템플릿 에러로 업데이트하고 템플릿 워크플로를 테스트하세요.

  • enhancement레지스트리 인증이 HTTP 폴백 시 유지됩니다

    oras-go v2.6.1 덕분에 레지스트리 작업이 HTTPS에서 plain HTTP로 폴백할 때 인증 정보를 유지합니다. HTTP 전용 엔드포인트를 가진 프라이빗 레지스트리를 사용한다면 안정성이 개선됩니다. 설정 변경은 필요 없으며 자동으로 적용됩니다.

주요 변경 (3)
  • ClientOnly 모드에서 helm template 실행 시 nil 포인터 패닉 수정
  • oras-go v2.6.1 업데이트로 plain-HTTP 폴백 시 레지스트리 인증 정보 유지
  • Go 1.26 및 golang.org/x/net v0.55.0으로 업그레이드하여 GO-2026-5026 대응
원문

Helm

Kubernetes Core2026년 5월 14일

Helm v3.21.0은 Kubernetes 클라이언트 라이브러리를 v1.36으로 올리고, OpenTelemetry CVE를 패치하며, OCI 인덱스 차트 풀 버그를 수정합니다. v3 EOL이 가까워지고 있습니다.

  • securityOpenTelemetry CVE 패치를 위해 즉시 업그레이드

    이번 릴리스에서 OpenTelemetry 패키지의 CVE를 직접 수정했습니다. CI/CD 파이프라인이나 자동화 툴링에서 Helm을 사용 중이라면 다음 패치 릴리스를 기다리지 말고 지금 바로 v3.21.0으로 올리세요.

  • breakingHelm v4 마이그레이션 계획을 지금 시작해야 합니다

    릴리스 노트에 Helm v3 EOL이 명시적으로 경고됩니다. v3.22.0이 Kubernetes v1.37을 타깃으로 하는 마지막 주요 피처 릴리스가 될 수 있습니다. 커스텀 플러그인이나 Helm CLI, Go SDK를 기반으로 한 자동화 코드가 있다면 지금부터 v4 변경 사항을 검토하세요.

  • enhancement멀티아키텍처 레지스트리 환경에서 OCI 인덱스 차트 풀 재검토

    OCI 이미지 인덱스 매니페스트에서 차트를 풀하는 버그가 수정됐습니다. 멀티아키텍처 환경에서 이 문제를 회피하기 위해 다이제스트 직접 참조나 특정 매니페스트 태그를 써왔다면, 해당 워크어라운드가 더 이상 필요하지 않을 수 있으니 검토해 보세요.

주요 변경 (5)
  • Kubernetes 클라이언트 라이브러리 v1.36으로 업그레이드
  • OpenTelemetry 패키지 CVE 보안 패치 적용
  • OCI 이미지 인덱스에서 차트 풀링 버그 수정
  • 차트 dot-name 경로 버그 수정
  • 차트 기본값이 빈 맵일 때 nil 값이 올바르게 유지되도록 수정
원문

Helm

Kubernetes Core2026년 5월 14일

Helm v4.2.0은 Kubernetes 1.36 클라이언트 지원, mustToToml 템플릿 함수 추가, generateName 리소스에 대한 dry-run 서버 모드 수정, 그리고 post-renderer YAML 파싱 버그 수정을 포함합니다.

  • breakingCI 스크립트에서 deprecated 플래그 제거

    --hide-notes와 --render-subchart-notes가 deprecated됐고 향후 릴리스에서 제거될 가능성이 높습니다. helm install, upgrade, template 명령을 쓰는 CI 파이프라인과 스크립트를 지금 점검해서 해당 플래그를 미리 제거해두세요. 나중에 강제로 마이그레이션하는 상황을 피할 수 있습니다.

  • enhancementTOML 템플릿에서 mustToToml로 전환

    mustToToml은 mustToJson과 동일하게 동작합니다. TOML 직렬화에 실패할 경우 빈 출력이나 잘못된 결과를 내놓는 대신 명시적 에러를 반환합니다. 차트 템플릿에서 toToml을 쓰고 있다면 mustToToml로 교체해 렌더링 실패를 즉시 감지할 수 있도록 하세요.

  • enhancementgenerateName 리소스에 대한 서버 사이드 dry-run 재검증

    이전에는 --dry-run=server가 name 대신 generateName을 사용하는 리소스를 건너뛰어서 검증이 된 것처럼 보였습니다. 이제 수정됐으므로, generateName을 사용하는 차트에 대해 서버 사이드 dry-run을 다시 실행해보세요. 기존에 조용히 무시되던 검증 오류가 드러날 수 있습니다.

주요 변경 (5)
  • Kubernetes 클라이언트 라이브러리를 v1.36으로 업그레이드
  • 에러 안전 방식의 mustToToml 템플릿 함수 추가
  • --dry-run=server가 generateName 리소스를 제대로 처리하도록 수정
  • --hide-notes, --render-subchart-notes 플래그 deprecated 처리
  • post-renderer에서 YAML 구분자 처리, 줄 끝 문자 보존, 훅 충돌 문제 수정
원문

Helm

Kubernetes Core2026년 3월 12일

Helm v4.1.3는 OCI 레지스트리, dry-run 작업, 값 처리에서 배포 실패나 예측 불가능한 동작을 일으키던 여러 중요한 버그를 수정했습니다.

  • breakingOCI 레지스트리 워크플로우 즉시 업데이트

    컨테이너 이미지와 Helm 차트를 같은 태그로 저장하는 OCI 레지스트리를 사용한다면 즉시 업그레이드하세요. 이전 버그는 완전한 풀링 실패를 일으켰습니다. 업그레이드 후 차트 풀링을 테스트해서 레지스트리 설정과의 호환성을 확인하세요.

  • enhancement오토스케일링 업그레이드 타임아웃 검토

    이제 업그레이드가 조기 실패하지 않고 클러스터 오토스케일러와 롤링 업데이트를 제대로 기다립니다. 배포 파이프라인을 검토하고 이 문제를 우회하려고 추가했던 인위적인 지연을 줄이는 것을 고려하세요. 초기 업그레이드를 면밀히 모니터링해서 개선된 동작을 확인하세요.

  • enhancementgenerateName 사용 시 dry-run 작업 검증

    서버사이드 dry-run이 이제 generateName 필드를 올바르게 처리합니다. generateName을 사용하는 리소스에 대해 dry-run 검증을 피하고 있었다면 CI/CD 파이프라인에서 다시 활성화하세요. 배포 전 검증 범위가 개선됩니다.

주요 변경 (5)
  • dry-run 서버 모드에서 generateName을 무시하던 검증 문제 해결
  • 컨테이너/차트 혼합 저장소에서 차트 풀링 실패 문제 수정
  • 차트 기본값 재정의를 방해하던 nil 값 보존 문제 해결
  • 오토스케일링 중 업그레이드가 조기 실패하던 FailedStatus 처리 개선
  • 포스트 렌더링 후 템플릿 공백 제거로 인한 YAML 손상 제거
원문