Skip to content

Releases: buildkite/agent

v3.45.0

17 Mar 02:25
ac3643b
Compare
Choose a tag to compare

3.45.0 (2023-03-16)

Full Changelog

It's a busy one! The major new feature in this release is the job-api experiment, which enables an HTTP API within the agent that allows jobs to inspect and mutate their environment, without using the normal bash-isms that we normally require. This is a big step towards supporting hooks and plugins in other languages, and we're really excited to see what you all do with it!

When this experiment is enabled, the agent will start an HTTP server on a unix domain socket, the address of which will be made available through the BUILDKITE_AGENT_JOB_API_SOCKET environment variable, with a token available through the BUILDKITE_AGENT_JOB_API_TOKEN environment variable. This socket can be used with the buildkite-agent env {get,set,unset} commands on the commandline, or directly through cURL or other HTTP client. Included in this release of the agent is a golang client, which can be imported directly into your Go projects.

Also included is another experimental feature, descending-spawn-priority, which makes agents using the --spawn-with-priority flag spawn agents with a descending priority, rather than the default ascending priority. This is useful when running agents on heterogeneous hardware (ie, having two agents on one machine and four on another), as it means that jobs will be spread more evenly across the agents. For more information, see the original issue, and @DrJosh9000's PR. Huge thanks to @nick-f for bringing this to our attention!

Full changelog follows:

Added

Fixed

Changed

  • Kubernetes improvements:
    • Set a non-zero exit status when a job is cancelled in Kubernetes #2010 (@triarius)
    • Add tags from env variables provided by the controller in agent-stack-k8s if kuberenetes-exec experiment is enabled #2003 (@triarius)
  • Globs parsed by the agent now support negation and bracketing #2001 (@moskyb)
  • Allow the use of non-bash shells to execute agent hooks #1995 (@DrJosh9000)
  • Don't add custom remotes for submodules when using git-mirrors #1991 (@jonahbull)
  • Improve systemd behaviour when updating the agent #1993 (@triarius)
  • ... And as always, the usual crop of small fixes, dependency updates, and cleanups (@moskyb, @dependabot, @DrJosh9000, @triarius)

v3.44.0

27 Feb 06:58
8828452
Compare
Choose a tag to compare

v3.44.0 (2023-02-27)

Full Changelog

Fixed

  • tini is once again available at the old path (/usr/sbin/tini) in the Ubuntu 20.04 image #1934 (@triarius)
  • With ansi-timestamps experiment enabled, each line's timestamp is now computed at the end of the line #1940 (@DrJosh9000)
  • A panic when the AWS region for an S3 bucket is undiscoverable #1964 (@DrJosh9000)

Added

Changed

  • Upstart is no longer supported #1946 (@sj26)
  • pipeline upload internally uses a new asynchronous upload flow, reducing the number of connections held open #1927 (@triarius)
  • Faster failure when trying to pipeline upload a malformed pipeline #1963 (@triarius)
  • Better errors when config loading fails #1937 (@moskyb)
  • Pipelines are now parsed with gopkg.in/yaml.v3. This change should be invisible, but involved a non-trivial amount of new code. #1930 (@DrJosh9000)
  • Many dependency updates, notably Go v1.20.1 #1955.
  • Several minor fixes, improvements and clean-ups (@sj26, @triarius, @jonahbull, @DrJosh9000, @tcptps, @dependabot[bot])

v3.43.1

19 Jan 22:31
08067e3
Compare
Choose a tag to compare

v3.43.1 (2023-01-20)

Full Changelog

Fixed

  • An issue introduced in v3.43.0 where agents running in acquire mode would exit after ~4.5 minutes, failing the job they were running #1923 (@leathekd)

v3.43.0

18 Jan 23:24
ec8675e
Compare
Choose a tag to compare

3.43.0 (2023-01-18)

Full Changelog

⚠️ ⚠️ ⚠️
This version of the agent has issues running in --acquire-job mode
Please use v3.43.1 or later. See #1923 for more info.
⚠️ ⚠️ ⚠️

Fixed

  • A nil pointer dereference introduced in 3.42.0 due to missing error handling after calling user.Current #1910 (@DrJosh9000)

Added

Changed

v3.42.0

06 Jan 02:47
5155b83
Compare
Choose a tag to compare

v3.42.0 (2023-01-05)

Full Changelog

Added

  • Add an in-built hierarchical status page #1873 (@DrJosh9000)
  • Add an agent-startup hook that fires at the same time as the agent-shutdown hook is registered #1778 (@donalmacc)

Changed

Fixed

  • Ensure that unrecoverable errors for Heartbeat and Ping stop the agent #1855 (@moskyb)

Security

v3.41.0

29 Nov 05:35
51ac3d5
Compare
Choose a tag to compare

v3.41.0 (2022-11-24)

Full Changelog

Added

Changed

  • Update windows install script to detect arm64 systems #1768 (@yob)
  • Install docker compose v2 plugin in agent alpine and ubuntu docker images #1841 (@ajonei + @triarius)
  • 🧹 A variety of dependency updates, documentation, and cleanups! (@dependabot + @DrJosh9000)

v3.40.0

09 Nov 22:57
1371aac
Compare
Choose a tag to compare

v3.40.0 (2022-11-08)

Full Changelog

Added

Security

  • (Fixed in 3.39.1) A security issue in environment handling between buildkite-agent and Bash 5.2 #1781 (@moskyb)
  • Secret redaction now handles secrets containing UTF-8 code points greater than 255 #1809 (@DrJosh9000)
  • The update to Go 1.19.3 fixes two Go security issues (particularly on Windows):

Changed

  • 5xx responses are now retried when attempting to start a job #1777 (@jonahbull)
  • 🧹 A variety of dependency updates and cleanups!

v3.39.1

14 Oct 09:00
05de75b
Compare
Choose a tag to compare

v3.39.1 (2022-10-14)

Full Changelog

Security

v3.39.0

09 Sep 05:10
029b29e
Compare
Choose a tag to compare

v3.39.0 (2022-09-08)

Full Changelog

Added

  • gcp:instance-name and tweak GCP labels fetching #1742 (@pda)
  • Support for not-yet-released per-job agent tokens #1745 (@moskyb)

Changed

Fixed

v3.38.0

21 Jul 04:28
c355645
Compare
Choose a tag to compare

3.38.0 (2022-07-20)

Full Changelog

Added

Changed

  • Include a list of enabled features in the register request #1706 (@moskyb)
  • Promote opentelemetry tracing to mainline feature status #1702 (@moskyb)
  • Improve opentelemetry implementation #1699 #1705 (@moskyb)