github akuity/kargo v1.10.4

latest releases: v1.11.0-rc.1, v1.10.8, v1.8.14...
one month ago

🔧 Kargo v1.10.4 brings a focused set of bug fixes, performance improvements, and a meaningful new enhancement to controller observability.

🐛 Bug Fixes

  • Login failures for users with diacritics in their name (#6189): Users whose OIDC
    familyName contained accented characters (e.g. umlauts, diacritics) could be silently
    logged out. JWTs use base64URL encoding, not standard base64 — certain byte sequences
    were failing to decode. The UI now correctly uses base64URL for JWT parsing.

  • ForeignFieldError on Warehouse watch events in the UI (#6209): The UI was applying a
    redundant transformation to Warehouse subscription data in watch stream handlers, causing a
    ForeignFieldError on deserialization. Removing the duplicate step resolves the error.

  • Freight clone missing artifacts in the assembly UI (#6246): When cloning an existing piece of
    Freight to assemble a new one, artifacts that had aged out of the Warehouse's
    discoveredArtifacts rolling window were not shown as selectable options. The assembly UI now
    ensures any artifacts from the source Freight that are absent from discovered results are
    included, so users can always select the original versions.

  • Freight timeline scroll on right caret click (#6269): The freight timeline now reliably
    scrolls when the right caret is clicked.

⚡ Performance Improvements

  • Management controller RBAC efficiency (#6194, #6210): The project and service account
    management controllers were performing unnecessary RBAC writes on every reconciliation.
    Two improvements address this: switching from a Create → AlreadyExists → Update pattern
    to server-side apply (eliminating a high volume of 409 errors in clusters with many
    projects), and skipping RBAC re-ensures when nothing has changed. Together these
    significantly reduce API server load.

  • UI reduces backend payload with warehouse filtering (#6161): The UI now passes active
    warehouse filters to the backend when querying Freight and Stages, so the server-side filter
    applies to the initial data fetch rather than filtering client-side. Live watchers are also
    scoped to the active warehouse filter, reducing unnecessary data over watch streams.

✨ Enhancements

  • Controller heartbeats and liveness in the UI (#6184): Kargo controllers now emit
    periodic heartbeats via Kubernetes Lease objects (renewed every 10 seconds and deleted
    on graceful shutdown). A new GET /v1beta1/system/controller-heartbeats endpoint exposes
    the liveness state of all controllers. The UI uses this when loading the pipeline DAG: if a
    Stage's assigned controller has a stale or missing heartbeat, the Stage's synthesized phase
    is shown as Failed with a tooltip explaining that its controller is not responding.

  • Pagination shown on single-page stage list (#6198): Pagination controls now appear
    consistently in the stage list view, even when all stages fit on a single page.

💙 Special Thanks

A warm welcome to first-time contributor @anaplan-kh, who tracked down and fixed the JWT
base64URL issue that was silently logging out users with diacritics in their name!

Full Changelog: v1.10.3...v1.10.4

Don't miss a new kargo release

NewReleases is sending notifications on new releases.