Releases: buildkite/agent-stack-k8s
v0.43.1
v0.43.1 (2026-05-07)
Changed
- A-1202 part 2: handle pod failure before agent container start #883 (@zhming0)
- A-1202 part 1: documenting pod-pending-timeout via helm chart #881 (@zhming0)
Fixed
- fix: Keep some podspec fields in informer to prevent regression of #862 #882 (@DrJosh9000)
Images
Helm chart
Image: public.ecr.aws/buildkite/helm/agent-stack-k8s:0.43.1
Image: ghcr.io/buildkite/helm/agent-stack-k8s:0.43.1
Digest: sha256:6cffb2ac2a3d3085d5657d0d3d381ef59612f25a3f277e27c3b444e28b2d8550
Controller
Image: public.ecr.aws/buildkite/agent-stack-k8s/controller:0.43.1
Image: ghcr.io/buildkite/agent-stack-k8s/controller:0.43.1
Digest: sha256:090f2e7e342f19e0b92790194cb20f7cd1f6091364e5a58f66d1d9ebcdecd4d0
Agent
Image: ghcr.io/buildkite/agent:3.125.0
Digest: sha256:304bf42463fd42bdcd22d960de4304cd85bfbb3261049c5709b152f2007fdcb7
v0.43.0
v0.43.0 (2026-05-06)
Added
- feat: pass in pod-template-name annotation on jobs built from podTemp… #879 (@ss1909)
- feat: add workspace-mount-sub-path-expr config option #871 (@csweeney-plaid)
Fixed
Images
Helm chart
Image: public.ecr.aws/buildkite/helm/agent-stack-k8s:0.43.0
Image: ghcr.io/buildkite/helm/agent-stack-k8s:0.43.0
Digest: sha256:d19db296418d33aec3fd3e5e92d12d3a94f07dc4817dd15d7a5d72eba19c9742
Controller
Image: public.ecr.aws/buildkite/agent-stack-k8s/controller:0.43.0
Image: ghcr.io/buildkite/agent-stack-k8s/controller:0.43.0
Digest: sha256:c89605ef96cdf61cc219fa59eb5264e759892c65c57bd9c7f51188904fc88b3f
Agent
Image: ghcr.io/buildkite/agent:3.125.0
Digest: sha256:304bf42463fd42bdcd22d960de4304cd85bfbb3261049c5709b152f2007fdcb7
v0.42.1
v0.42.1 (2026-05-05)
Added
- SUP-6977: Expose reservation-expiry-seconds in Helm chart values #872 (@stephanieatte)
Fixed
- fix: excess memory use in list-throttle condition #875 (@DrJosh9000)
- fix: Init controller-runtime logger before GetConfigOrDie #867 (@nishaad78)
Internal
- chore: update values with agentStackSecret #866 (@tylerauerbeck)
Dependencies
- chore(deps): Bump github.com/buildkite/agent/v3 from 3.123.1 to 3.125.0 #876 (@dependabot[bot])
- chore(deps): Bump github.com/mattn/go-isatty from 0.0.21 to 0.0.22 #868 (@dependabot[bot])
- chore(deps): Bump github.com/jedib0t/go-pretty/v6 from 6.7.9 to 6.7.10 #869 (@dependabot[bot])
Agent changelog excerpt
v3.125.0 (2026-05-04)
Added
- Multipart S3 download for faster artifact downloads #3875 (@buildkate)
- New
--fail-on-missing-tagsflag (andBUILDKITE_AGENT_FAIL_ON_MISSING_TAGSenv var) to exit the agent on startup if a configured cloud tag source (EC2/ECS/GCP) returns no tags #3801 (@omehegan) - Automatic tracing for CLI subcommands (e.g.
artifact upload,pipeline upload) whenBUILDKITE_TRACING_BACKEND=opentelemetryand aTRACEPARENTis present #3866 (@ss1909) - Register
application/zstdMIME type for.zstartifact uploads #3864 (@ladd)
Fixed
- Preserve literal percent sequences in JSON job logs (previously rewritten by Go format-string handling) #3877 (@friel-openai)
Internal
- Remove Bazel from the agent build #3873 (@moskyb)
- Rename
logger.Loggermethods to end inf(e.g.Debugf,Infof) #3878 #3881 (@DrJosh9000, @buildkate) - Separate OTel provider provisioning from span generation #3880 (@ss1909)
- Only log the first stream connection to reduce log noise #3872 (@moskyb)
- Remove and prevent use of assert libraries (testify) #3858 (@DrJosh9000)
- Bump go-pipeline to v0.17.0 #3865 (@CerealBoy)
v3.124.0 (2026-04-28)
Added
- feat: build and publish freebsd/arm64 binary #3855 (@buildkate)
- feat: add metrics to record histogram of chunk sizes and compressed size #3833 (@wolfeidau)
Changed
- fix: Hide detached-HEAD advice #3851 (@DrJosh9000)
- Big process refactor, improved Windows signal handling #3814 (@DrJosh9000)
Fixed
- fix: use single-quoted shell escaping for --format env output #3856 (@ss1909)
- fix: More consistent protected env vars #3838 (@DrJosh9000)
- fix: set PTY raw mode before process start #3837 (@lox)
Internal
- fix: Flakes in shell_test.go due to missing signal grace period #3854 (@DrJosh9000)
- fix: Make TestChunksIntervalSeconds less flaky #3850 (@DrJosh9000)
- chore: rename mise config and add tasks #3839 (@lox)
- feat: migrate to github.com/klauspost/compress/gzip for optimized deflate #3832 (@wolfeidau)
- Removal manual gates from deployment process #3830 (@zhming0)
- Normalise HTTP status-based retry policies across the agent #3827 (@moskyb)
Images
Helm chart
Image: public.ecr.aws/buildkite/helm/agent-stack-k8s:0.42.1
Image: ghcr.io/buildkite/helm/agent-stack-k8s:0.42.1
Digest: sha256:6618c0c2c8ee3f917e00a73ef14a6eb87ba8cc7fbb9fa26a370d13f8c7828c77
Controller
Image: public.ecr.aws/buildkite/agent-stack-k8s/controller:0.42.1
Image: ghcr.io/buildkite/agent-stack-k8s/controller:0.42.1
Digest: sha256:ea4a8e76f8fb153ba4c3d0b1fc52119ab1ea3bee299bff4bd6480a2ae38eaf6e
Agent
Image: ghcr.io/buildkite/agent:3.125.0
Digest: sha256:304bf42463fd42bdcd22d960de4304cd85bfbb3261049c5709b152f2007fdcb7
v0.42.0
v0.42.0 (2026-04-17)
✨ Features & Enhancements
🐛 Bug Fixes
📦 Dependency Updates
- Bump github.com/buildkite/agent/v3 from 3.123.0 to 3.123.1 #865 (@dependabot[bot])
Images
Helm chart
Image: public.ecr.aws/buildkite/helm/agent-stack-k8s:0.42.0
Image: ghcr.io/buildkite/helm/agent-stack-k8s:0.42.0
Digest: sha256:3d69e4565c1dcb52e7b9cf1f9d3c9fe1808aa4424011589b7fe5133808efebe5
Controller
Image: public.ecr.aws/buildkite/agent-stack-k8s/controller:0.42.0
Image: ghcr.io/buildkite/agent-stack-k8s/controller:0.42.0
Digest: sha256:4b9471be869862a25fff4a503b373126fc6310cfaf55eb0c2efe987782fdcaf9
Agent
Image: ghcr.io/buildkite/agent:3.123.1
Digest: sha256:bc5b112457f0061cf9f938944865ce5582d051bf10a3640e42123989fcb421b8
v0.41.0
v0.41.0 (2026-04-15)
✨ Features & Enhancements
- Allow safe-to-evict annotation to be overridden #855 (@ceciliaschudel)
- A-1099: Allow container start timeout to be configured #860 (@zhming0)
- PIPE-2128: Customise job reservation expiry #847 (@mcncl)
🐛 Bug Fixes
📦 Dependency Updates
- Bump various dependencies: go-isatty, kong, validator, go-pretty, buildkite/agent, and k8s group #844 #845 #848 #850 #851 #852 #853 #859 (@dependabot[bot])
Images
Helm chart
Image: public.ecr.aws/buildkite/helm/agent-stack-k8s:0.41.0
Image: ghcr.io/buildkite/helm/agent-stack-k8s:0.41.0
Digest: sha256:3496771bf84222831712fb8aaae77b685c75644ef59bb6da9b5115e934412578
Controller
Image: public.ecr.aws/buildkite/agent-stack-k8s/controller:0.41.0
Image: ghcr.io/buildkite/agent-stack-k8s/controller:0.41.0
Digest: sha256:1d5cf74ece7e83dc7aad558c37d55d1fb0dacbd47f8e654f3b380feabe353382
Agent
Image: ghcr.io/buildkite/agent:3.123.0
Digest: sha256:f64923b77ac020140b49543de60760d527be1fde77640492c4c5d526c1648680
v0.40.0
v0.40.0 (2026-03-18)
Added
- Add --pod-pending-timeout config option #832 (@jeremybumsted)
Changed
- Add more container status waiting reasons to pod watcher #839 (@DrJosh9000)
- Apply default-image-pull-policy to agent and checkout containers #841 (@seemethere), #842 (@DrJosh9000)
Dependency updates
- chore(deps): Bump github.com/buildkite/agent/v3 from 3.120.0 to 3.120.1 #843 (@dependabot[bot])
- chore(deps): Bump github.com/buildkite/agent/v3 from 3.119.1 to 3.120.0 #840 (@dependabot[bot])
Agent changelog excerpt
v3.120.1 (2026-03-17)
Fixed
- Adds
API_KEYvalues to the redacted list #3761 (@mcncl) - fix: Support []string fields in ReadFromEnvironment #3767 (@DrJosh9000)
Internal
Dependency updates
- build(deps): bump the container-images group across 1 directory with 2 updates #3764 (@dependabot[bot])
- build(deps): bump the container-images group across 5 directories with 2 updates #3766 (@dependabot[bot])
- build(deps): bump the golang-x group with 3 updates #3762 (@dependabot[bot])
- build(deps): bump the cloud-providers group with 8 updates #3765 (@dependabot[bot])
v3.120.0 (2026-03-13)
[!TIP]
Streaming job dispatch (Public Preview): This release adds opt-in support for a new streaming connection between agents and Buildkite, significantly reducing job acceptance latency for self-hosted agents. To try it, start your agent with--endpoint https://agent-edge.buildkite.com/v3, for example:buildkite-agent start --endpoint https://agent-edge.buildkite.com/v3You may alternatively use the environment variable
BUILDKITE_AGENT_ENDPOINTor edit yourbuildkite-agent.cfgto containendpoint=https://agent-edge.buildkite.com/v3.This capability is in public preview and will become the default in a future release. If you have any feedback or run into issues, please reach out to [email protected].
[!NOTE]
The minimum version of Go used to build the agent is now Go 1.25.
Fixed
- fix: Make submodule clone config an agent config #3752 (@DrJosh9000)
- fix: prevent header times scan panic after stop #3740 (@lox)
- fix: handle multiple lifecycle hooks without closed pipe reuse #3741 (@lox)
- fix: potential deadlock in baton #3754 (@DrJosh9000)
- fix: Use targetPath helper and tempfile for Azure Blob download #3751 (@DrJosh9000)
Internal
- Add feature detection for streaming pings #3757 (@moskyb)
- chore: Apply other go fixes #3756 (@DrJosh9000)
- chore: use WaitGroup.Go where possible #3755 (@DrJosh9000)
Dependency updates
- build(deps): bump the container-images group across 5 directories with 1 update #3749 (@dependabot[bot])
- Upgrade to Go 1.25 and update all dependencies #3750 (@DrJosh9000)
v3.119.2 (2026-03-09)
Added
- Generate a warning when cache is specified on self-hosted jobs #3743 (@CerealBoy)
Internal
Images
Helm chart
Image: public.ecr.aws/buildkite/helm/agent-stack-k8s:0.40.0
Image: ghcr.io/buildkite/helm/agent-stack-k8s:0.40.0
Digest: sha256:5347045f40808153867b167c46063ab59bcaeef72937f50d620ef7c4b4f8cdb3
Controller
Image: public.ecr.aws/buildkite/agent-stack-k8s/controller:0.40.0
Image: ghcr.io/buildkite/agent-stack-k8s/controller:0.40.0
Digest: sha256:7d485ba77045eaaf2af25af5a5a83ac7ebebca25a6689453419e1caae74c6342
Agent
Image: ghcr.io/buildkite/agent:3.120.1
Digest: sha256:a400cd028e449f389c7223a990cdb34adb5d96584a8f3863ba442550eac2a4c1
v0.39.0
v0.39.0 (2026-03-11)
Added
- PS-1695: configurable controller-id to via CLI and env var #828 (@zhming0)
- Added via Agent upgrade:
- A-970: A flag to skip git fetch for already-present commits during checkout buildkite/agent#3725 (@zhming0)
Internal
- chore: go fix ./... #836 (@DrJosh9000)
- chore(deps): Bump sigs.k8s.io/controller-runtime from 0.23.1 to 0.23.3 in the k8s group #833 (@dependabot[bot])
- chore(deps): Bump github.com/buildkite/agent/v3 from 3.118.1 to 3.119.1 #834 (@dependabot[bot])
- chore(deps): Bump the k8s group with 3 updates #825 (@dependabot[bot])
Images
Helm chart
Image: public.ecr.aws/buildkite/helm/agent-stack-k8s:0.39.0
Image: ghcr.io/buildkite/helm/agent-stack-k8s:0.39.0
Digest: sha256:3c73216d6d3e9a1afee9b01999b966fe461f62664bfa316670347f8f2ce23fb9
Controller
Image: public.ecr.aws/buildkite/agent-stack-k8s/controller:0.39.0
Image: ghcr.io/buildkite/agent-stack-k8s/controller:0.39.0
Digest: sha256:eae4ab9e82069331ba74addf128e45388c6f496198f6884e53a1727ad2bc4000
Agent
Image: ghcr.io/buildkite/agent:3.119.1
Digest: sha256:00fcd21748f3472e4a62450af432622cb4d76766e7f8ab632395d4fb39928a48
v0.38.1
v0.38.1 (2026-03-03)
Fixed
- Better request logging #824 (@moskyb)
- PS-1689: add ignoreJob call to failOnInitContainerFailure #829 (@zhming0)
Dependencies
- chore(deps): Bump github.com/buildkite/agent/v3 from 3.117.0 to 3.118.1 #831 (@dependabot[bot])
- chore(deps): Bump sigs.k8s.io/controller-runtime from 0.23.0 to 0.23.1 in the k8s group #812 (@dependabot[bot])
- chore(deps): Bump github.com/buildkite/agent/v3 from 3.116.0 to 3.117.0 #821 (@dependabot[bot])
- chore(deps): Bump github.com/alecthomas/kong from 1.13.0 to 1.14.0 #820 (@dependabot[bot])
- chore(deps): Bump github.com/lmittmann/tint from 1.1.2 to 1.1.3 #819 (@dependabot[bot])
Images
Helm chart
Image: public.ecr.aws/buildkite/helm/agent-stack-k8s:0.38.1
Image: ghcr.io/buildkite/helm/agent-stack-k8s:0.38.1
Digest: sha256:9be7d71d417c0e585ec65b6447af5c8fcfa90524fcd1bcf2fa05512d2e5585ed
Controller
Image: public.ecr.aws/buildkite/agent-stack-k8s/controller:0.38.1
Image: ghcr.io/buildkite/agent-stack-k8s/controller:0.38.1
Digest: sha256:e7e0429734a658e42c2eb4101cb07d3fc0c3df6fd1d6812e3d4b40e5ff941015
Agent
Image: ghcr.io/buildkite/agent:3.118.1
Digest: sha256:e91278e9ed80bb8e3659400fb10695c7ff6b3c70ea845d258c1493fc8587a3eb
v0.38.0
v0.38.0 (2026-02-12)
Added
- Added configurable HTTP Timeouts, and applied those timeouts to the stacks API #823 (@moskyb + @adnowakodbx1)
Fixed
- PB-1631: Fix command container detection for steps with no command value #818 (@zhming0 + @trvrnrth)
Images
Helm chart
Image: public.ecr.aws/buildkite/helm/agent-stack-k8s:0.38.0
Image: ghcr.io/buildkite/helm/agent-stack-k8s:0.38.0
Digest: sha256:bf10064a4560bf020286e8abd4745918f3e401c5d5139bd267fb5edbc7b524a6
Controller
Image: public.ecr.aws/buildkite/agent-stack-k8s/controller:0.38.0
Image: ghcr.io/buildkite/agent-stack-k8s/controller:0.38.0
Digest: sha256:8514210a8e4f3ac3a129c20e3a23caa19d74e510d7bcf17579ccd8ad03b5343d
Agent
Image: ghcr.io/buildkite/agent:3.116.0
Digest: sha256:6cfb4f832fc071bf647d57b54dfb93d57ea5c3ba3786739bb998100d63197c61
v0.37.1
v0.37.1 (2026-01-29)
Fixed
- PS-1583: Replace Alpine-specific shell commands with portable alternatives #811 (@zhming0, @seemethere)
- Bump github.com/buildkite/agent/v3 from 3.115.3 to 3.116.0
- Fixed #806
Changed
Internal
- chore(deps): Bump sigs.k8s.io/controller-runtime from 0.22.4 to 0.23.0 in the k8s group #810 (@dependabot[bot])
- PB-1062: dogfooding resource class #804 (@zhming0)
- Quiet down logs by default #803 (@moskyb)
Images
Helm chart
Image: public.ecr.aws/buildkite/helm/agent-stack-k8s:0.37.1
Image: ghcr.io/buildkite/helm/agent-stack-k8s:0.37.1
Digest: sha256:18a4a3773f6cbf6ef6103140cd4c754843a555dbaf1ab611639fc46ce2027b06
Controller
Image: public.ecr.aws/buildkite/agent-stack-k8s/controller:0.37.1
Image: ghcr.io/buildkite/agent-stack-k8s/controller:0.37.1
Digest: sha256:2f2815e1f15d8daa55a0dd595ef6148431e0c986cdb8cb74e7cd4b06e74e9114
Agent
Image: ghcr.io/buildkite/agent:3.116.0
Digest: sha256:6cfb4f832fc071bf647d57b54dfb93d57ea5c3ba3786739bb998100d63197c61