github akuity/kargo v1.8.0

one day ago

v1.8.0 Release Notes

🚀 The Kargo team is proud to unveil our feature-packed v1.8.0 release!

⚠️ Breaking Changes

The format of logs emitted by Kargo components has changed slightly.

⚠️ New Deprecations

None

✨ Noteworthy Features

Now the fun stuff! As usual, we packed so much great stuff into this release that we'd be here a very long time if we were to cover all of it in detail. Here's our still longer-than-usual list of new or improved features that we regard as being especially noteworthy.

  • Freight creation criteria: Warehouse resources can now use expression-based criteria to control when automatic Freight creation occurs. This solves the long-standing problem of Warehouses creating Freight with incompatible artifact combinations when subscribed to multiple repositories.

    With a Warehouse's Freight creation policy set to Automatic, you can now provide criteria as an expression that must evaluate to true for automatic Freight creation to proceed. For example, to ensure Freight is created only when front end and back end container images have matching version tags:

    imageFrom('example/front-end').Tag == imageFrom('example/back-end').Tag
    

    You can read more about this new feature in the Working with Warehouses section of Kargo's documentation.

  • Syncing to an upstream Stage: A new auto-promotion policy, MatchUpstream, allows Stage resource to perpetually sync with their immediate upstream Stage instead of always promoting the newest available Freight. This is ideal for scenarios like keeping a performance testing environment synced with the exact same artifacts currently being tested in a QA environment.

    You can read more about this feature in the Working with Stages section of Kargo's documentation.

  • git-merge-pr promotion step: A new promotion step enables automated merging of pull requests. This addresses requests from users who want to open PRs only for the audit purposes, then merge them immediately. This feature is in beta state.

    You can read more about this feature on the git-merge-pr promotion step's reference page.

  • New and improved metadata support: You can now propagate important context between Stages using a new set-metadata promotion step. Arbitrary metadata attached to Freight and Stage resources can be retrieved using new stageMetadata() and freightMetadata() expression functions. This enables use cases like associating a Slack thread ID with a Freight resource and sending an update to that thread each time the Freight is promoted to a different Stage.

    To learn more about these features, refer to the reference docs for the set-metadata promotion step as well as the freightMetadata() and stageMetadata() sections of the expressions reference docs.

  • Improved OIDC claim-to-ServiceAccount mappings: The system for mapping authenticated users to Kubernetes ServiceAccounts has been overhauled with a new format that supports special characters not permitted in Kubernetes annotation keys. The change is largely transparent - existing mappings will migrate automatically with no user action required.

    You can read more about mappings in the operator guide and user guide.

  • Harbor webhook receiver: A new webhook receiver triggers Warehouse artifact discovery when container images or Helm charts are pushed to Harbor registries.

    To learn more, refer to the Harbor webhook receiver reference docs. Special thanks to @ahockersten for this contribution.

  • Logging improvements: We've replaced Kargo's internal logging framework, resulting in minor format changes to unstructured logs and new support for structured JSON logs (opt-in via chart settings).

  • Favorite Projects: Projects can now be "starred" for quick access - perfect for organizations with a very large number of Projects.

  • Drag 'n' drop Promotions: Need we say more?

  • New Freight assembly option: A new Freight "clone" feature lets you use existing Freight as a template, selecting only the artifact revisions you want to change from the original.

Special Thanks

Thank you, as always, to community members who made their first contribution to Kargo in this release!

Full Changelog: v1.7.5...v1.8.0

Don't miss a new kargo release

NewReleases is sending notifications on new releases.