Releases: akuity/kargo
v1.4.3
v1.4.2
What's Changed
- chore(backport release-1.4): fix(chart): remove unnecessary permissions from the api server by @akuitybot in #3844
- chore(backport release-1.4): fix: remove hardcoded RemoveSourceBranch flag in gitlab gitprovider CreatePullRequest by @akuitybot in #3861
Full Changelog: v1.4.1...v1.4.2
v1.4.1
What's Changed
- chore(backport release-1.4): chore(deps): bump golang from 1.24.1-bookworm to 1.24.2-bookworm by @akuitybot in #3807
- chore(backport release-1.4): chore(deps): bump the go-patch group with 5 updates by @akuitybot in #3808
- chore(backport release-1.4): feat: support expr funcs in if conditions and vars by @akuitybot in #3828
- chore(backport release-1.4): chore(deps): update Helm to v3.17.3 by @akuitybot in #3830
Full Changelog: v1.4.0...v1.4.1
v1.4.0
🆕 What's New?
Kargo v1.4.0 is more than meets the eye. While we do have a few new features to share with you, a lot of the team's recent work has been less obvious. We've been hard at work paying down some technical debt, cleaning up the codebase,
and making changes intended to help us move faster in the future and keep the project sustainable.
📦 Freight & Promotion Enrichment
Did you know container images can be annotated with standard or custom annotations at build time?
Beginning with this release, Kargo is able to collect any annotations associated with a container image and include those details in Freight -- and you can easily access them within your promotion processes using expressions.
Similarly, thanks to the efforts of first-time community contributor @keithfz, metadata about the actor who triggered a Promotion
is also now available within your promotion processes via expressions.
🔬 AnalysisRun Logs
Kargo has long supported post-promotion verification using Argo Rollouts AnalysisTemplate
s / AnalysisRun
s, which were specifically designed for reuse in contexts such as this.
Among the many types of metrics that can be collected by an AnalysisRun
, job metrics stand out as being especially useful because they're implemented as Kubernetes Job
s, which gives Kargo users the flexibility to define any arbitrary tests they'd like to run against a Stage
by simply providing an appropriate Job
spec.
One long-standing frustration with job metrics, however, has been the inability to access logs from a Job
's underlying Pod
(s) via the Kargo UI. This has been a tough nut to crack. Sometimes, perhaps even often, multiple Kargo controllers are situated in different clusters and all sync to a common Kargo control plane in another cluster. Such a topology raises the specific challenge of making logs from many remote clusters available to the Kargo API server. This difficulty notwithstanding, simply ensuring that relevant logs remain available for a reasonable period after the Pod
they came from has been deleted is a challenge in its own right.
If we were to ask ten different Kargo users how they approach logging, we probably would get ten different responses, so the Kargo team has avoided getting into the business of supporting many different logging stacks. (We'd rather remain focused on promotions!) Ultimately, we settled on a "lowest common denominator" approach that we think most users will find acceptable.
At install time, Kargo operators may now optionally define a URL template and map of HTTP headers using the api.rollouts.logs.urlTemplate
and api.rollouts.logs.httpHeaders
settings, respectively. With these defined, the Kargo API server is able to construct a URL for any Job
metric's logs, and as long as they are accessible with an HTTP GET request, can stream them to the UI.
This approach does leave it as an exercise for Kargo administrators to ship and store these logs as they choose, and anything is fair game as long as it can meet the low bar of being accessible via an HTTP GET request.
Those using Kargo through the Akuity Platform should note that forwarding and storage of logs from such Job
s will seamlessly be handled for you.
More information is available on this topic in the documentation.
Other Miscellaneous Improvements
The Kargo UI has been the recipient of a numerous small bug fixes and one major improvement -- PromotionTask
and ClusterPromotionTask
resources can now be managed through the UI.
In the CLI, re-logging in to a Kargo API server when your token (and refresh token, if applicable) have expired is now considerably easier, requiring only kargo login
, with all other arguments and flags inherited from the previous login.
🙏 New Contributors
In addition to @keithfz, mentioned earlier, we'd also like to thank @zeraye for his first contribution to Kargo.
For a more complete list of everthing accomplished in this release, please refer to the Full Changelog.
v1.3.4
What's Changed
- chore: lock 1.3 docs into 1.3 charts, scripts, etc. by @krancour in #3786
- chore(backport release-1.3): feat(ui): hide subscription and fix stage node overflow by @akuitybot in #3793
- chore(backport release-1.3): fix: make quote() func in expressions not double-quote strings by @akuitybot in #3796
Full Changelog: v1.3.3...v1.3.4
v1.4.0-rc.2
chore(backport release-1.4): fix(ui): always allow oidc auth code flo…
v1.3.3
What's Changed
- chore(backport release-1.3): fix: soak time bug by @hiddeco in #3739
- chore(backport release-1.3): fix(controller): Warehouse watch control flow Stage by @akuitybot in #3741
- chore(backport release-1.3): fix: always honor availability strategy (#3740) by @krancour in #3744
- chore(backport release-1.3): fix(ui): windows cli link by @akuitybot in #3766
- chore(backport release-1.3): fix(ui): silent renew token error by @akuitybot in #3775
- chore(backport release-1.3): fix(ui): always allow oidc auth code flow over http by @akuitybot in #3781
Full Changelog: v1.3.2...v1.3.3
v1.4.0-rc.1
chore: return error if trying to access analysis run logs and not con…
v1.3.2
What's Changed
- chore(backport release-1.3): docs: fix broken docs links by @akuitybot in #3637
- chore(backport release-1.3): docs: releaseName is now required by
helm-template
by @akuitybot in #3648 - chore(backport release-1.3): fix(api): sort warehouses when listing by @akuitybot in #3651
- chore(backport release-1.3): fix(directives): compose-output available to task by @akuitybot in #3652
- chore(backport release-1.3): docs: fix missing .ID after commitFrom() by @akuitybot in #3667
- chore(backport release-1.3): fix(api): update Git branch validation by @akuitybot in #3702
- chore(backport release-1.3): fix(api): further improve branch regex by @akuitybot in #3704
Full Changelog: v1.3.1...v1.3.2
v1.3.1
What's Changed
- chore(backport release-1.3): docs: update docs to use official kargo-helm example repo by @akuitybot in #3567
- chore(backport release-1.3): docs: add v1.3.0 release notes by @akuitybot in #3571
- chore(backport release-1.3): fix: improve construction of HTTP transports by @akuitybot in #3574
- chore(backport release-1.3): fix: require tag or digest for kustomize-set-image by @akuitybot in #3580
- chore(backport release-1.3): docs: note kustomize-set-image tag/digest requirement by @akuitybot in #3583
- chore(backport release-1.3): fix(controller): remove mustClone method from gitCloner by @akuitybot in #3601
- chore(backport release-1.3): fix(ui): invalid verification duration by @akuitybot in #3605
- chore(backport release-1.3): fix(controller): replace missing credential lookup in git-clone step by @akuitybot in #3611
- chore(backport release-1.3): fix(ui): graph edge glitch by @akuitybot in #3615
Full Changelog: v1.3.0...v1.3.1