What's Changed
- chore(deps): bump docker/setup-qemu-action from 3.6.0 to 3.7.0 by @dependabot[bot] in #4525
- docs(cli): add mise alternative installation for kubectl plugin by @jylenhof in #4532
- chore(deps): bump softprops/action-gh-release from 2.4.1 to 2.4.2 by @dependabot[bot] in #4530
- fix(controller): Skip analysis runs if no templates are specified by @alexnovak in #4544
- chore: switch to *bool for clusterScope by @zachaller in #4551
- revert: PR #4074 by @zachaller in #4553
- chore: don't use httpbin.org it's flaky by @zachaller in #4554
- chore(deps): bump actions/checkout from 5 to 6 by @dependabot[bot] in #4550
- docs: Update Changelog by @github-actions[bot] in #4529
- docs(controller): Resource Plugin Proposal by @Hariharasuthan99 in #4387
- docs: Add Procore to the list of users by @sherifabdlnaby in #4577
- fix(trafficrouting): set weight before hash for new canary by @andrewjamesbrown in #4564
- build: Stop rendering gh-pages by @kostis-codefresh in #4583
- docs: clarify the v1alpha meaning for Rollouts by @kostis-codefresh in #4587
- docs: mention managedFieldsManagers option of Argo CD for GitOps scenarios by @kostis-codefresh in #4586
- chore: update
exprversion fromv1.16.9tov1.17.7by @aali309 in #4588 - docs: Add 'Netease Cloud Music' to USERS.md by @ryanwuer in #4594
- feat!: update default Traefik API group to v3 by @idurgakalyan in #4572
- fix(controller): Cap minPodsPerReplicaSet to rollout spec replicas. Fixes #4566 by @krapie in #4570
- fix(dashboard): View full image URI while editing by @lyonsy in #4573
- chore(deps): bump actions/setup-go from 6.0.0 to 6.1.0 by @dependabot[bot] in #4549
- fix: bluegreen analysis prematurely succeeds if new ReplicaSet becomes unsaturated by @jessesuen in #4604
- fix: update broken yarn.lock file by @Rizwana777 in #4603
- fix: job with image pull error should not be marked as successful by @kostis-codefresh in #4602
- docs(example): Update argo-rollouts docs url by @edbighead in #4599
- build: Parameterized build system for company forks by @kostis-codefresh in #4605
- fix(trafficrouting): cache RPC client to avoid 'Stdout already set' error. Fixes #3918 by @hdt12a1 in #4613
- chore: update USERS.md to remove duplicates and fix numbering by @andrewjamesbrown in #4620
- fix(controller): ensure progress when canary > desired replicas by @andrewjamesbrown in #4619
- chore(deps): bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #4601
- fix(dashboard): avoid dialing 0.0.0.0 in newHTTPServer. Fixes #3931. by @ItsMattL in #4589
- fix(trafficrouting): ReplicaSetReferenced does not check istio DestinationRules by @andrewjamesbrown in #4560
- fix(controller): Always reconcile pod metadata by @JRBANCEL in #4477
- chore: support team workflows and Nats.io for notifications by @kostis-codefresh in #4625
- chore(deps): bump actions/cache from 4 to 5 by @dependabot[bot] in #4622
- ci: Llm disclosure by @kostis-codefresh in #4627
- ci: test e2e against k8s 1.35 by @kostis-codefresh in #4636
- ci: pin k3s version to avoid breakage of e2e tests by @kostis-codefresh in #4644
- fix(trafficrouting): ensure early SetWeight runs after checkReplicasAvailable by @andrewjamesbrown in #4639
- chore(deps): bump golang to 1.26 by @blkperl in #4638
- docs: clarify basic canary options applicability. Fixes #1821 by @mark-liu in #4649
- fix(controller): Use maxTrafficWeight instead of hardcoded 100 in checkReplicasAvailable. by @FumingZhang in #4646
- docs: update rollout spec for incorrect attribute YAML by @paul-prdca in #4633
- chore(deps): update debian11 to debian12 by @blkperl in #4652
- refactor(deps): replace pkg/errors with fmt.Errorf by @blkperl in #4650
- chore(deps): update dependencies to latest by @blkperl in #4659
- fix(trafficrouting): ensure DestinationRule is updated before SetWeight on rollback by @andrewjamesbrown in #4612
- docs: add rollout secret change best practice by @omer2500 in #4189
- ci: Speed up ci by ignoring codeql for docs only change by @Kevinjoeharris in #4641
- docs: Updated workflows readme by @Kevinjoeharris in #4640
- fix(analysis): improve error messages for AnalysisRun metric evaluation failures. Fixes #2101 by @nvsahana in #4680
- ci: pin pr-check version by @kostis-codefresh in #4685
- fix(controller): honor stderrthreshold when logtostderr is enabled by @pierluigilenoci in #4673
- fix: preserve CRD field descriptions for kubectl explain by @jaspreet-skillz in #4687
- chore(deps): update google.golang.org/grpc. Fixes #4667 by @nickvollmar in #4686
- ci: Speedup Go build timing with effective caching by @Kevinjoeharris in #4702
- fix: create isolated logger for redactor by @pjiang-dev in #4703
- fix: remove header & mirror routes so rollout can complete. Fixes #2526 by @chansuke in #4307
- fix: remove readinessProbe on rollout install by @pjiang-dev in #4704
- docs: add missing argoproj-labs plugins to metric and traffic-router lists by @natejsimonsen in #4705
- docs: clarify header based routing via plugins by @kostis-codefresh in #4708
- fix: allows plugins to implement traffic mirroring (and not just Istio) by @kostis-codefresh in #4643
- docs: fix broken Anti Affinity link on canary/bluegreen pages by @alliasgher in #4700
- fix: Typo in VPA deployment description by @angelov-g in #4669
- chore: Migrate to pnpm (#4699) by @keithchong in #4712
- chore: add Code owners similar to Argo CD by @kostis-codefresh in #4628
- docs: explain policy for plugins by @kostis-codefresh in #4738
- fix(dashboard): guard null chartValue in metric chart tooltip. Fixes #4743 by @berk-karaal in #4744
- fix: allow plugins to implement ping-pong (and not just ALB/Istio) by @ajax-boiko-y in #4740
- chore: add OneSignal to USERS.md by @niels-s in #4765
- fix(metricprovider): Close HTTP response body by @krosen040 in #4720
- fix: leader lease name from instance id by @kostis-codefresh in #4768
- fix(dashboard): Show page size selector in table view by @gheine in #4629
- build: skip full CI for documentation only changes by @kostis-codefresh in #4737
- docs: explain how to run the UI locally from source by @kostis-codefresh in #4773
- docs: minor spelling mistakes by @kostis-codefresh in #4781
- test: make tests resilient to nil ptr by @agaudreault in #4782
- ci: upload unit and e2e coverage separately with Codecov flags by @AdamSaleh in #4761
- fix(controller): Requeue on stale informer cache instead of writeBackToInformer by @zachaller in #4786
- chore(deps): migrate to go.yaml.in/yaml/v2 by @thevilledev in #4683
- fix(controller): Exit reconciliation early after in-flight Rollout writes by @agaudreault in #4784
- ci: Speedup test timing with effective caching part 2 by @Kevinjoeharris in #4714
- fix(metricprovider): Don't swallow RpcError returned by InitPlugin by @krosen040 in #4762
- test: use t.Log instead of fmt.Println by @pillatipriyanka in #4735
- refactor: evaluate conditions after pause context is resolved by @agaudreault in #4785
- chore: update notification engine by @KyriosGN0 in #4715
- fix(trafficrouting): parse VirtualService name containing a period correctly by @arpitjain099 in #4766
- fix(analysis): detect infrastructure errors early and mark job analysis as inconclusive by @MohammedShetaya in #4692
- ci: Bring Cherry pick functionality from Argo CD by @kostis-codefresh in #4797
- chore(deps): update dependencies for cves by @blkperl in #4801
- fix(controller): reduce memory by filtering ReplicaSet informer by @blkperl in #4666
- fix(controller): convert unstructured→typed to avoid memory bloat by @niels-s in #4745
- fix(experiments): fall back to API when AnalysisRun missing from informer cache. Fixes #4804 by @something-ai-hash in #4805
- docs: Added roadmap (again) by @kostis-codefresh in #4811
- chore: Address CVE-2026-35469 by @kostis-codefresh in #4814
- ci: skip checks for documentation PR by @kostis-codefresh in #4816
- fix: incorrect evaluation of scale down delay on rollback by @agaudreault in #4787
- feat(metricprovider): make Datadog API request timeout configurable by @gferrate in #4812
New Contributors
- @jylenhof made their first contribution in #4532
- @alexnovak made their first contribution in #4544
- @Hariharasuthan99 made their first contribution in #4387
- @sherifabdlnaby made their first contribution in #4577
- @andrewjamesbrown made their first contribution in #4564
- @ryanwuer made their first contribution in #4594
- @idurgakalyan made their first contribution in #4572
- @lyonsy made their first contribution in #4573
- @edbighead made their first contribution in #4599
- @hdt12a1 made their first contribution in #4613
- @ItsMattL made their first contribution in #4589
- @mark-liu made their first contribution in #4649
- @FumingZhang made their first contribution in #4646
- @paul-prdca made their first contribution in #4633
- @omer2500 made their first contribution in #4189
- @Kevinjoeharris made their first contribution in #4641
- @nvsahana made their first contribution in #4680
- @pierluigilenoci made their first contribution in #4673
- @jaspreet-skillz made their first contribution in #4687
- @nickvollmar made their first contribution in #4686
- @natejsimonsen made their first contribution in #4705
- @alliasgher made their first contribution in #4700
- @angelov-g made their first contribution in #4669
- @berk-karaal made their first contribution in #4744
- @ajax-boiko-y made their first contribution in #4740
- @niels-s made their first contribution in #4765
- @krosen040 made their first contribution in #4720
- @gheine made their first contribution in #4629
- @AdamSaleh made their first contribution in #4761
- @pillatipriyanka made their first contribution in #4735
- @KyriosGN0 made their first contribution in #4715
- @arpitjain099 made their first contribution in #4766
- @MohammedShetaya made their first contribution in #4692
- @something-ai-hash made their first contribution in #4805
- @gferrate made their first contribution in #4812
Full Changelog: v1.9.0...v1.10.0-rc1