Changelog
Repository-wide changes (tests, CI, docs site). Each chart has its own changelog in charts/<name>/CHANGELOG.md.
2026-11-10
CI
- The pipeline shows the chart checks as the
chartsjob, named after what it checks, like theyaml,markdownanddockerfilejobs fromhosstio/gitlab-pipelines. The job was calledlint; its script is unchanged.
2026-11-04
Docs site
- Browser tabs, bookmarks and search results show the Helm logo for helmchart.io instead of a blank page icon (
docs/public/favicon.pngandfavicon.ico). - The home page hero plays a recorded terminal session next to the tagline:
helm template,helm install,helm diff upgradeandhelm upgradeof the home page example on a kind cluster (docs/public/casts/standard.cast, played byasciinema-player). - The hero shows star and fork pills and stargazer avatars, and the pills open the GitLab repository. The numbers are fixed values in
SOCIAL_PROOFindocs/.vitepress/theme/HeroSocialProof.vue, not counted from the repository. - Links to helmchart.io shared in WhatsApp, Slack, Teams or LinkedIn show a preview with the page title, its description and a screenshot of the home page hero (
og:andtwitter:tags,docs/public/visual.png). Each page also declares its canonical URL.
2026-10-27
Tests
make buildsbuilds every chart incharts/. Before, it failed oncharts/charts/because the chart list includedcharts/itself. Its "Found charts:" line now counts the charts, where it printed the number of directories incharts/standard.
2026-10-12
CI
- Slack deploy messages for the docs site show the project's Helm logo instead of a letter.
SLACK_MESSAGE_ICON_URLpoints at a copy of the GitLab project avatar indocs/public/icon.png: Slack renders no SVG and gets a 401 for a private project's avatar.
2026-10-08
Tests
make build CHART=<chart>renders the complete chart in a fresh checkout. Before,make build CHART=akeneoleft out every elasticsearch resource without an error, and charts depending onsolrorvalkeylost those subcharts the same way: the subchart was packaged before its ownstandarddependency was built. A newmake depstarget buildsfile://dependencies depth first, andmake buildruns it beforehelm template. (!50 chart names match their directories)- CI now catches a
standardtemplatefailthat no longer fails the render or changes its message:make validationsrenders eachcharts/standard/tests/validations/<name>/values.yamland passes only when helm fails with the text in that case'serror.txt. The golden tests compare rendered output only, so the fivefailmessages had no test. The cases cover an invalidsealedSecretsScope, strict sealed secrets with a pre-hook job, a null or invalidpersistence.<key>.mount, and a container mounting an undefined volume. Thetests:standardjob runs the target.
CI
- The
lintjob fails when a chart'sChart.yamlnamediffers from its directory name, and lists each offendingChart.yamlwith the name it carries.archivebox,hello-kubernetesandwekanhad shipped asbookstack, a name copied from the bookstack chart, andhelm lintaccepts any name. (!50 chart names match their directories) - The
lintjob fails when a chart version or app version on a docs chart page, in the docs overview table or in the root README table differs from the chart'sChart.yaml, and lists each one. Those versions are typed by hand, and 12 docs pages had drifted. It also checks theDependenciesline on each docs chart page against the chart's subcharts.
2026-09-09
Tests
make testsnow fails when any test fails: the per-test sub-makes were joined with;, so only the last test's exit code counted and CI stayed green while thecronjobstest had been failing since 2026-08-25. The loops now chain with&&.- Golden manifests are regenerated with helm 4.3.0, the version the cloud-toolbox CI image ships: helm's rendering whitespace changed after 4.2.0, which broke 16 of the 33 standard tests on newer local helm versions. Goldens byte-match one helm version by design; run helm 4.3.0 locally, and regenerate with
make tests-updatewhenever the CI image's helm changes.
2026-08-21
Tests
- Golden manifests regenerated for the template filename rename: the rename to plural template filenames changed every
# Source:comment and the alphabetical render order, but the goldens were not regenerated, so every chart's tests failed. Content unchanged.
2026-08-11
CI
- Pipeline includes follow
gitlab-pipelinesmainagain: the threeinclude:entries pinnedref: helm-diff, a branch that was merged upstream and deleted. GitLab could no longer resolve the includes, so every pipeline (onmainand on merge requests alike) was created and failed instantly with zero jobs and an emptyyaml_errorsfield, which made it look like an infrastructure fault rather than a config error. Now pinned tomain, matching every other Hosst project. tests:chartsbuilds subchart dependencies too: the job built dependencies for the chart under test only. A subchart packaged without its ownstandarddependency renders nothing inside its parent, soakeneo,peertubeandsupersetwere tested against output missing all of elasticsearch and valkey, silently and without error. The job now builds every chart first, and their goldens now carry the subchart resources the charts actually ship.- Golden tests pin the namespace:
make testandmake test-updatenow pass--namespace $(TEST_NAMESPACE)(defaultdefault). Without ithelm templatetook the namespace from the caller's kube-context, so any chart renderingmetadata.namespaceproduced a different golden locally than in CI, where the runner setshelm-charts. Thebookstackjob failed on exactly that while passing on every developer machine. tests:chartsbuilds chart dependencies: the job ranmake tests CHART=$CHARTwithouthelm dependency build, so all twelve wrapper charts failed onfound in Chart.yaml, but missing in charts/ directory: standard.make testsdoes not build dependencies andtests:standardnever noticed, since thestandardchart has none.
2026-06-05
CI
- One
tests/<chart>job per chart added to the pipeline, using thecloud-toolbox:helmimage; each runshelm dependency buildfollowed bymake tests. Onmainall chart tests always run; on branches only charts with changed files are tested (wrapper chart jobs also trigger oncharts/standard/**/*changes). Jobs are grouped undertests/in the pipeline UI and start immediately without waiting for prior stages (needs: []).