Argo Workflows v3.7.15 - Controller Reliability and Artifact Retries
Argo Workflows v3.7.15 shipped on June 10, 2026 as a stable patch on the 3.7 line. The release tightens semaphore and mutex handling, stops duplicate onExitNode runs, and classifies bare S3 5xx responses as transient so artifact steps retry instead of failing outright.
The full release notes and downloads are on the GitHub release page. GitHub lists installation paths for the CLI and controller manifest; detailed commit history lives in the changelog referenced from that page.
Semaphore and mutex logic had an unsoundness bug during initialization. The fix in 8cbe2380e, cherry picked from #16160 for the 3.7 branch, addresses holder state that could diverge from what operators expect when workflows compete for shared limits.
Teams that gate ETL batches with synchronization.semaphore or synchronization.mutex should treat this as a correctness patch, not a cosmetic tweak. A bad lock state can let too many pods run at once or leave workflows stuck in a waiting state with no clear owner.
The onExitNode handler no longer re runs after completion (02bde5198, fixing #14392). Pipelines that use exit hooks for cleanup, notification, or final artifact promotion were seeing duplicate work when the controller reconciled late. That kind of double execution is costly when the hook touches external systems.
S3 artifact steps now treat bare 5xx HTTP responses as transient (fab3015aa, fixing #15565). Object store gateways and load balancers sometimes return an empty 503 or 502 body with no AWS error XML. Before this patch those responses could fail the step immediately. With the new classification, the executor can retry within its existing backoff policy.
Metadata merge behavior is corrected in 1a1e3c06e (fixing #15870). Workflows that attach labels or annotations across template levels depend on predictable merges when the controller patches status. Drift here shows up as missing lineage tags in downstream lineage tools or inconsistent filter results in the UI.
Archived workflow storage gains retry logic for database transaction errors (d67c1c43d, fixing #16101). Clusters using PostgreSQL or MySQL as the workflow archive backend see transient serialization or deadlock errors under load. Retrying those transactions reduces false failures during high submit rates.
List operations that pass a continue token no longer require a resource version match (bcb2d5cb5). Pagination through large workflow inventories should be more stable when the API client pages with continue while the underlying resource version shifts.
Security maintenance bumps several modules on the release-3.7 branch: golang.org/x/crypto to v0.52.0, golang.org/x/net to v0.55.0, golang.org/x/sys to v0.44.0, github.com/go-git/go-git/v5 to v5.19.1, the qs dependency to v6.15.2, and a refreshed distroless base image (b71a45e29). None of these change workflow YAML semantics, but they affect the controller and server image digests you deploy.
The v3.7.14…v3.7.15 compare view also carries documentation updates for leader election recreation and allowed fields when templateReferencing is enabled. Those are operator docs, not runtime behavior, but they matter if you manage multi replica controller installs.
The GitHub release points operators to the upgrading guide and to open issues before moving off v3.7.14. This tag is not marked as a prerelease. No new breaking changes are called out in the release text itself; the changelog reads as a collection of cherry picked fixes and dependency pins.
Apply the controller and server manifest from the release assets, or roll your own image build from the v3.7.15 tag if you maintain a forked chart. After upgrade, spot check workflows that use semaphores, S3 artifacts, and onExit templates since those code paths changed.
- Release page: https://github.com/argoproj/argo-workflows/releases/tag/v3.7.15
- Repository: https://github.com/argoproj/argo-workflows
- Tag:
v3.7.15
Controller install from the release manifest:
kubectl create namespace argo
kubectl apply -n argo -f https://github.com/argoproj/argo-workflows/releases/download/v3.7.15/install.yaml
CLI binaries for Linux and macOS ship as argo-linux-amd64.gz and argo-darwin-amd64.gz on the same release page.