✦ For everyone, free.

Practical knowledge for real and everyday life

Home

Helm Versioning and Support

Helm Versioning and Support outlines how Helm manages chart versions, ensures compatibility, and provides ongoing maintenance for Kubernetes applications.

Helm Versioning and Support defines how different versions of Helm, the Kubernetes package manager, are managed, maintained, and supported throughout their lifecycle. It encompasses version numbering schemes, compatibility guarantees, deprecation policies, backward compatibility, and the support commitment provided by the Helm maintainers. This ensures users can safely upgrade Helm, use Helm charts, and rely on stable, predictable behavior across different Helm releases.


Versioning Scheme

Helm uses Semantic Versioning (SemVer) to label its releases, which follows the format:

MAJOR.MINOR.PATCH

  • MAJOR version increments introduce backward-incompatible API changes.
  • MINOR version increments add functionality in a backward-compatible manner.
  • PATCH version increments include backward-compatible bug fixes.

This scheme allows users and developers to understand the impact of upgrades and plan accordingly.

Pre-release and Build Metadata

Helm may also include pre-release tags such as alpha, beta, or rc (release candidate) for versions under development or testing. These versions are not recommended for production use but allow early adopters to test new features.

Example:

v3.10.0-beta.1

Support Policy

Helm's support policy outlines how long each version is actively maintained with bug fixes, security patches, and minor improvements. Generally, the Helm project supports the latest major release series, focusing on:

  • Providing patch fixes for the current minor releases.
  • Addressing critical issues and security vulnerabilities promptly.
  • Encouraging users to upgrade to the latest minor or major versions for new features and improvements.

Older major versions are phased out over time, with users encouraged to migrate to supported versions to receive continued support.

End-of-Life (EOL) and Deprecation

When a Helm version reaches EOL, it no longer receives updates or fixes. Deprecated features or APIs from previous versions may be removed in future major releases, which is communicated clearly in Helm release notes and migration guides.


Compatibility Considerations

Helm versioning also reflects compatibility constraints with Kubernetes versions and Helm charts.

Kubernetes Compatibility

Each Helm release specifies the range of Kubernetes API versions it supports. Newer Helm versions typically support recent Kubernetes releases, while older Helm versions may not support the latest Kubernetes features or resources.

Users must verify compatibility between their Kubernetes cluster version and the Helm client/server version (such as Helm CLI and Tiller in Helm v2).

Chart Compatibility

Helm charts specify the minimum Helm version required to install them, using the appVersion and version fields in Chart.yaml. Helm ensures charts are installed only if compatible with the installed Helm client version.


Upgrade and Migration Guidance

Helm provides clear instructions and tooling to facilitate upgrading between versions, especially from Helm v2 to Helm v3, which introduced significant architectural changes such as the removal of Tiller.

Upgrade steps usually involve:

  • Backing up existing releases.
  • Using Helm plugins or migration tools.
  • Validating chart compatibility.
  • Testing in staging environments before production rollout.

This guidance minimizes the risk of disruption during version migrations.


Versioning in Helm Plugins and Ecosystem

The Helm ecosystem includes plugins and third-party tools, each following their own versioning practices but often aligning with Helm’s SemVer conventions.

Plugin versions typically specify compatibility with particular Helm versions to prevent runtime errors and ensure smooth integration.


Summary of Helm Versioning and Support Characteristics

CharacteristicDescription
Versioning FormatSemantic Versioning (MAJOR.MINOR.PATCH)
Pre-release VersionsAlpha, Beta, RC tags for testing new features
Support ScopeActive maintenance on latest major release; patching and security fixes
Deprecation PolicyDeprecated features removed in major releases; clear migration paths provided
Kubernetes CompatibilityHelm versions specify supported Kubernetes API versions
Chart CompatibilityCharts declare minimum Helm version required for installation
Upgrade ProcessDocumented steps and tools for seamless upgrades, especially from Helm v2 to v3
Ecosystem VersioningPlugins and tools align their versioning and support to Helm’s release cycle and compatibility

Additional Notes on Helm Versioning

  • Helm v2 and Helm v3 represent major milestones with incompatible changes; Helm v3 removed server-side components and enhanced security.
  • Patch releases are frequent and address critical bugs and security vulnerabilities quickly.
  • Users are encouraged to subscribe to Helm release announcements and changelogs to stay informed about new versions and support timelines.
  • Helm maintains backward compatibility within minor and patch versions to prevent breaking deployments unintentionally.

This comprehensive approach to versioning and support ensures Helm remains a robust, reliable, and evolving tool for Kubernetes package management.