v0.2.0
[v0.2.0] - 2025-07-23
This release brings a lot of new features, bug fixes and changes. The most notable ones are:
- The introduction of the Redis proxy now allows for desired manifests view from the control plane without cheating. Prior to the Redis proxy, this was only possible if the agent used the Redis and Repository server on the control plane. Agents are now completely isolated from the control plane. Thanks @jgwest for contributing this feature!
- It is now possible to run resource actions from the control plane 🚀. Thanks @chetan-rns for contributing this feature!
- Support for agent-specific AppProject synchronization has been contributed by @chetan-rns. If you create an AppProject on the control plane, it will only be synced to the managed agents targeted by the AppProject' destination rules. Also, AppProjects that are created on autonomous agents will be synced to the control plane.
- More functionality in the
argocd-agentctlCLI to manipulate PKI for the agent in non-prod environments
There are still a couple of rough edges especially regarding the documentation and installation procedures. We are working on those, and they should be smoothed out soon!
Thank you for your patience, and a big thank you to all who have contributed to this release!
A special thank you to @josephaw1022 who improved developer documentation!
🚀 Features
- Enable compression for communication over gRPC (#353)
- Add version flag to principal command (#358)
- Include a simple health check server for agent (#374)
- Update pprof implementation (#376)
- PKI manipulation using CLI (#373)
- Only allow managed resources through resource proxy (#390)
- Add support for resource actions in the agent (#401)
- Allow fetching API groups via resource proxy (#419)
- Load JWT signing key from Kubernetes secret (#429)
- Delete resources from the UI (#430)
- Add TLS secret name configuration for agent and principal (#434)
- CLI command to propagate CA cert to agents (#439)
- Sync appProjects to the appropriate agents (#425)
- New jwt command for the CLI to manipulate JWT signing keys (#444)
- Proxy redis traffic from principal to agents (#436)
- Add health check endpoint for principal (#456)
🐛 Bug Fixes
- Allow version information to be set by linker (#350)
- Agent should use the default queue name instead of client ID (#359)
- Don't remove the queue/eventwriter on disconnect (#369)
- Load CA certificate from a secret (#379)
- Principal should update the app if it already exists in autonmous mode (#383)
- Set the incoming App namespace so the CompareSourceUID can find the existing App (#421)
- Direct changes in app on managed-cluster are not reverted by agent (#400)
- Add missing rbac rules and namespace (#428)
- Make volume mounts optional for agent and principal deployments (#438)
- (cli) Allow DNS names for resource proxy host in agent config (#440)
- Don't compare source UID for apps on autonomous agents (#447)
- Correctly set destination cluster for autonomous apps (#449)
- Applications on managed agent can live in argocd namespace (#458)
- Cascaded delete on Application should clean up all managed-agent app resources (#462)
💼 Other
- (deps) Bump github.com/cloudevents/sdk-go/v2 from 2.15.2 to 2.16.0 (#347)
- Set version information during build time (#351)
- (deps) Bump google.golang.org/grpc from 1.71.0 to 1.71.1 (#352)
- (github) Lint PR titles (#360)
- (deps) Bump golang.org/x/term from 0.30.0 to 0.31.0 (#362)
- (deps) Bump golang.org/x/net from 0.37.0 to 0.38.0 (#349)
- (deps) Bump golang.org/x/sync from 0.12.0 to 0.13.0 (#363)
- (deps) Bump golang.org/x/crypto from 0.36.0 to 0.37.0 (#364)
- (deps) Bump github.com/argoproj/argo-cd/v2 from 2.14.8 to 2.14.9 (#356)
- (deps) Bump github.com/prometheus/client_golang from 1.21.1 to 1.22.0 (#366)
- (deps) Bump golang.org/x/net from 0.38.0 to 0.39.0 (#365)
- (deps) Bump github.com/argoproj/argo-cd/v2 from 2.14.9 to 2.14.10 (#367)
- (deps) Bump google.golang.org/grpc from 1.71.1 to 1.72.0 (#370)
- (deps) Bump github.com/argoproj/argo-cd/v2 from 2.14.10 to 2.14.11 (#371)
- (deps) Bump github.com/rs/zerolog from 1.33.0 to 1.34.0 (#377)
- (deps) Bump github.com/redis/go-redis/v9 from 9.7.3 to 9.8.0 (#378)
- (deps) Bump github.com/grpc-ecosystem/go-grpc-middleware/v2 from 2.3.1 to 2.3.2 (#381)
- (deps) Bump golang.org/x/sync from 0.13.0 to 0.14.0 (#382)
- (deps) Bump golang.org/x/net from 0.39.0 to 0.40.0 (#384)
- (deps) Bump github.com/wI2L/jsondiff from 0.6.1 to 0.7.0 (#387)
- (deps) Bump google.golang.org/grpc from 1.72.0 to 1.72.1 (#388)
- Add service manifest to expose metrics server (#391)
- (deps) Bump github.com/argoproj/argo-cd/v2 from 2.14.11 to 2.14.12 (#394)
- (deps) Bump google.golang.org/grpc from 1.72.1 to 1.72.2 (#395)
- (deps) Bump github.com/redis/go-redis/v9 from 9.8.0 to 9.9.0 (#397)
- (deps) Bump github.com/argoproj/argo-cd/v2 from 2.14.12 to 2.14.13 (#398)
- (deps) Bump github.com/alicebob/miniredis/v2 from 2.34.0 to 2.35.0 (#402)
- (deps) Bump golang.org/x/sync from 0.14.0 to 0.15.0 (#404)
- (deps) Bump google.golang.org/grpc from 1.72.2 to 1.73.0 (#405)
- (deps) Bump golang.org/x/net from 0.40.0 to 0.41.0 (#406)
- (deps) Bump github.com/redis/go-redis/v9 from 9.9.0 to 9.10.0 (#407)
- (deps) Bump github.com/cloudevents/sdk-go/binding/format/protobuf/v2 from 2.15.2 to 2.16.1 (#415)
- (deps) Bump github.com/redis/go-redis/v9 from 9.10.0 to 9.11.0 (#424)
- (deps) Bump golang.org/x/crypto from 0.39.0 to 0.40.0 (#452)
- (deps) Bump golang.org/x/net from 0.41.0 to 0.42.0 (#455)
- (deps) Bump github.com/golang-jwt/jwt/v5 from 5.2.2 to 5.2.3 (#457)
- (deps) Bump google.golang.org/grpc from 1.73.0 to 1.74.0 (#460)
🚜 Refactor
- Reduce cognitive complexity of informer package (#380)
- Unify principal and agent into the same binary (#435)
📚 Documentation
- Add docs for metrics and profiling (#375)
- Bring docs into usable state (#368)
- Add additional details and context to development docs (#442)
🧪 Testing
- E2e tests to verify resync after connection loss using toxiproxy (#372)
⚙ Miscellaneous Tasks
- Fix flaky unit test (#357)
- Add release helper script (#355)
- (e2e) Fix race condition for agent configuration (#361)
- (build) Upgrade golangci-lint to v2.1.6 (#389)
- (style) Fix code style, re-enable style linters (#393)
- (refactor) Fix lint complains and remove exclusions (#396)
- Add support for developing on non-local K8s via reverse tunnel (#399)
- (dev-env) Allow log level to be set from env (#411)
- Add script to convert Argo CD cluster secrets to kubeconf (#420)
- Add the version of the Argo CD dependency to version output (#423)
- Remove-mounted-tls-secrets (#432)
- Remove old utility code (#433)
- Update OWNERS/CODEOWNERS to latest (#437)
- Upgrade to Argo CD 3.0.11 and Go 1.24 (#453)