agent-platform release v4.9.6
Changed
- The kagent line re-pins to
v0.11.0-gs.9 (components.kagent and components.kagent-crds floor, examples/customer-bom.yaml; giantswarm/giantswarm#37742 row 41): the line’s ninth release carries the Harness template that drops an empty-valued selector label (above); the pin and the other carried patches are those of gs.8.
Fixed
- The platform Harness admits templates by the platform label alone on an installation whose kagent HelmRelease pre-existed the cut-over (giantswarm/agent-platform#418): the meta chart removed the kagent chart’s own default selector key
kagent.dev/harness by forwarding a null (components.kagent.nullKeys), which deletes the key on coalesce — but a kagent HelmRelease that existed on 3.x is patched by the upgrade, and a JSON merge patch removes a null key instead of storing it, so the chart default came back and the live Harness required both agent-platform.giantswarm.io/harness and kagent.dev/harness while the Generic agent chart 1.x stamps only the first: no AgentTemplate was admitted (graveler, 2026-09-13; a freshly created release — spidertron — kept the null). The meta chart now forwards kagent.dev/harness: "" in kagent.harness.allowedAgentTemplates.selector.matchLabels, a value create and patch store alike, and the kagent line’s Harness template drops every selector label whose value is empty (v0.11.0-gs.9, giantswarm/kagent-upstream#26; a selector left with nothing fails the render there). components.kagent.nullKeys and the agent-platform.setNull helper are removed — nothing else used them. verify-kagent-harness now also replays the forwarded values as a merge patch onto a pre-existing release, coalesces the chart’s default over them and asserts the effective selector is the platform label alone, and refuses any null in the kagent release’s values; verify-components-charts asserts the Harness the resolved kagent chart renders from the forwarded values selects by agent-platform.giantswarm.io/harness only.