0.9.0 - 2026-06-04
After 2 months, v0.9.0 is finally here.
This release's major focus is on bringing the hybrid architecture, which lets users move gradually from the push model to the agent based pull model within the same Argo CD instance, and eliminates the need to have an agent for the control plane to manage it using GitOps. Most of the work related to the hybrid architecture has been done by @chetan-rns, thanks a lot!
Furthermore, there is now a Helm chart for installing the principal (thanks @enbiyagoral), changes to logging, some minor performance related changes, bug fixes and a ton more.
Thanks to all the people who contributed to this release!
β°οΈ Features
- (helm) Add Principal component Helm chart (#947) - (aafcbda) by @enbiyagoral
- (helm) Improve agent helm (#911) - (d5296cc) by @C4tWithShell
- (helm) Add missing params to agent helm chart (#888) - (83f3243) by @C4tWithShell
- Improve ha snapshot cleanup safety (#960) - (bcbd0c5) by @drewbailey
- Track dropped EventWriter events in metrics (#969) - (bafc148) by @jparsai
- Add additional logging/detail granularity to logging (#914) - (d50982a) by @jparsai
- Agent informer sync timeout configurable (#955) - (bcf0519) by @muzcategui1106
- Add metrics for worker queues (#931) - (6fc59b3) by @jannfis
- Source uid mismatch policy (#927) - (0556aff) by @drewbailey
- Allow sizing recv and send queues independently (#916) - (dcdc499) by @jannfis
- Sync credential templates to managed agents (#878) - (b7453bd) by @jparsai
- Allow setting the event queue size (#882) - (bc73cb0) by @jannfis
- Extend label selectors to other agent resources (#875) - (7bf3298) by @chetan-rns
π Bug Fixes
- (build) Add BuildKit cache mounts and pin alpine version (#901) - (9aedb77) by @enbiyagoral
- (ci) Harden GitHub Actions workflow security (#898) - (48b8edc) by @enbiyagoral
- (ctl) Allow certificate chains in TLS secret validation (#907) - (fc3481f) by @EvannDev
- (e2e) Flaky GPG key and self-registration e2e tests (#932) - (7c3709d) by @jparsai
- (helm) Use appVersion as default image tag instead of latest (#895) - (e589ae1) by @enbiyagoral
- (informer) Check the correct underlying implementation for being synced (#910) - (1226ee0) by @jannfis
- (principal) Reconnect Subscribe on EventWriter send failures (#943) - (baa7be1) by @drewbailey
- (principal) Only accept agent connections after initialization is complete (#908) - (09a3d18) by @jannfis
- (redis-proxy) Fallback to principal redis for local apps in namespace-based mapping mode and hybrid architecture (#956) - (8765d38) by @lvkins
- Managed app shows outofsync/missing after re-create from unauthorized delete (#959) - (1e5e58b) by @jparsai
- Destination mapping shouldn't require agent name in AppProject sourceNamespaces (#966) - (c1a0da3) by @chetan-rns
- Detect if unmanaged app exists on agent before principal creates one (#964) - (aedf084) by @cjcocokrisp
- UI navigation to child apps fails in autonomous app-of-apps (#962) - (caaf2e6) by @jparsai
- Check if resource being patched is managed (#957) - (90cf3d9) by @cjcocokrisp
- Agent should remap apps from the principal namespace to the agent namespace (#892) - (c4c7ff2) by @chetan-rns
- Principal should allow apps from its namespace in the app filter chain (#945) - (3f057ff) by @chetan-rns
- Prevent lingering connections on connect failures (#944) - (5b5674c) by @jannfis
- Optional Redis TLS secret mounts on vcluster (#930) - (9860734) by @Rizwana777
- Obey informer options (#925) - (5114fe9) by @jannfis
- Respect managed app finalizer updates (#926) - (086ac24) by @drewbailey
- Send sync operation in a separate event to prevent overwriting (#834) - (675e0fe) by @chetan-rns
- Memory leak at agent component (#890) - (63a79be) by @C4tWithShell
- Respect Argo CD custom resource tracking labels (#886) - (8293967) by @drewbailey
π¦ Dependency updates
- (deps) Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace from 1.43.0 to 1.44.0 (#974) - (15ad3e7) by @dependabot[bot]
- (deps) Bump github.com/redis/go-redis/v9 from 9.18.0 to 9.20.0 (#972) - (0b07449) by @dependabot[bot]
- (deps) Bump google.golang.org/grpc from 1.81.0 to 1.81.1 (#971) - (adda7d9) by @dependabot[bot]
- (deps) Bump Argo CD from v3.3.9 to v3.4.3 (#970) - (d5d7903) by @chetan-rns
- (deps) Bump google.golang.org/grpc from 1.80.0 to 1.81.0 (#936) - (0c64964) by @dependabot[bot]
- (deps) Bump github.com/argoproj/argo-cd/v3 from 3.3.8 to 3.3.9 (#934) - (f8f4160) by @dependabot[bot]
- (deps) Bump github.com/argoproj/argo-cd/v3 from 3.3.7 to 3.3.8 (#923) - (5dfc8b5) by @dependabot[bot]
- (deps) Bump github.com/argoproj/argo-cd/v3 from 3.3.6 to 3.3.7 (#909) - (2331cd0) by @dependabot[bot]
- (deps) Bump golang.org/x/net from 0.52.0 to 0.53.0 (#893) - (d253a47) by @dependabot[bot]
- (deps) Bump golang.org/x/crypto from 0.49.0 to 0.50.0 (#884) - (d7ac642) by @dependabot[bot]
π Refactor
- Use %w instead of %v for error wrapping in fmt.Errorf calls (#965) - (605fa30) by @immanuwell
π Documentation
- Support for hybrid architecture (#946) - (5fd1a48) by @chetan-rns
- Fix typo (occured -> occurred) in CONTRIBUTING (#948) - (e9e4078) by @SAY-5
- Add doc for web-based terminal (#891) - (f37e7e0) by @jparsai
π§ͺ Testing
- Separate E2E namespace names to detect translation bugs (#939) - (b2aabf0) by @Rizwana777
βοΈ Miscellaneous Tasks
- (build) Use helm-docs from a container (#896) - (6bbfea2) by @jannfis
- (ci) Helm Chart Add CI check to make sure chart version is bumped whenever agent chart is updated (#952) - (b71d4cc) by @anandrkskd
- Add unit-tests flag to Codecov coverage upload (#967) - (08f35e0) by @AdamSaleh
- Add @jparsai as maintainer (#935) - (2f8cd99) by @jannfis
- Harden Helm chart validation pipeline (#928) - (5230ede) by @C4tWithShell
- Improve event writer logging (#906) - (f190566) by @jannfis
- Add @drewbailey as maintainer (#897) - (9b36370) by @jannfis
βοΈ Revert
- (ci) Revert slsa generators to be referenced by tag on release pipeline (#900) - (790c7bc) by @cjcocokrisp
Build
Release
New Contributors β€οΈ
- @github-actions[bot] made their first contribution in #976
- @enbiyagoral made their first contribution in #947
- @AdamSaleh made their first contribution in #967
- @lvkins made their first contribution in #956
- @immanuwell made their first contribution in #965
- @muzcategui1106 made their first contribution in #955
- @SAY-5 made their first contribution in #948
- @EvannDev made their first contribution in #907