Roadmap
The roadmap is organized around what users need to trust HelmSharp in a .NET application: render the same chart, explain the same values, and mutate Kubernetes only when the application intentionally asks for it.
GitHub milestones remain the source of truth for issue-level scope.
Current focus
M1: Helm Template Parity is complete in 1.1.0, M2: Chart Packaging and Repository Parity is complete in 1.2.0, and M3: Release Lifecycle Parity is complete in 1.3.0. Work now focuses on Kubernetes operations, OCI/provenance, public SDK hardening, and compatibility expansion from real user charts.
The latest published version is 1.3.2. M2 chart-distribution and M3 release-lifecycle documentation describe APIs available from the 1.3.2 NuGet packages.
Review the compatibility page for current rendering coverage, the chart distribution guide for M2 workflows, or follow the later milestones on GitHub for release lifecycle, Kubernetes semantics, OCI, and public SDK hardening.
Delivery principles
- Keep runtime behavior managed in .NET; do not shell out to Helm from consumer applications.
- Use Helm CLI output as a test oracle, not as an SDK dependency.
- Prefer common production chart behavior before rare terminal formatting details.
- Make package boundaries clear so applications can depend on only what they use.
- Treat Kubernetes mutation, credentials, OCI, and provenance as security-sensitive work.
Milestone plan
| Phase | Status | User outcome |
|---|---|---|
| M1: Helm Template Parity | Complete in 1.1.0 | Render common charts from .NET with predictable Helm-compatible output. |
| M2: Chart Packaging and Repository Parity | Complete in 1.2.0 | Package, index, pull, and resolve chart dependencies without CLI handoffs. |
| M3: Release Lifecycle Parity | Complete in 1.3.0 | Install, upgrade, rollback, uninstall, status, history, and hook behavior with durable revision transitions. |
| M4: Kubernetes Apply and Wait Semantics | Planned | Correct resource identity, namespace handling, readiness, Jobs, deletion, and hook cleanup. |
| M5: OCI and Provenance | Planned | Registry authentication, chart pull/push, signing, and verification. |
| M6: Public SDK Hardening | Ongoing | Better docs, examples, nullable correctness, package quality, and API polish. |
| M7: Compatibility Expansion Research | Research | Evidence-based decision on netstandard, .NET Framework, and longer target support. |
How work graduates
A compatibility item is ready when:
- The behavior is captured by a focused unit, integration, or golden test.
- The compatibility page says what is supported and what remains open.
- Public API changes have examples from a user point of view.
- Release builds and tests pass for
net8.0,net9.0, andnet10.0.
Contributing
Start with an existing milestone issue when possible. For a newly found Helm difference, open a compatibility issue with a minimal chart, Helm command, HelmSharp API call, and both outputs.