2026-08-25

Upgraded Concourse to 8.3.0

#concourse  #cicd 

Concourse has been upgraded from 8.1.1 to 8.3.0. The release brings security fixes, scheduling fixes and a number of small pipeline and fly improvements. Workers were replaced as part of the upgrade.

What to do

  • Run fly -t <target> sync to update your local fly to 8.3.0. An older fly refuses to talk to the upgraded Concourse until it is synced.
  • Team and pipeline names can no longer contain /. We checked every setup before the upgrade and none were affected.
  • Tasks that run as a non-root user now get their input, output and cache volumes owned by that user. Most pipelines will not notice; tasks that worked around file ownership themselves (for example with a chown step) can drop the workaround.

Notable changes

  • Security: an open redirect in the login flow (usable for phishing) is fixed, API endpoint permissions are tightened, and file extraction guards against symlink attacks.
  • Scheduling: jobs no longer get stuck in pending waiting for a resource check, and resources with check_every: never are handled correctly.
  • Non-zero task exit codes are shown in the pipeline UI, and resources used in on_success / on_failure / on_error / on_abort hooks now receive the build status as the BUILD_STATUS environment variable.
  • fly pipelines and fly execute accept --team; fly abort-build gains --force.
  • Job and step level tags now also work on do and in_parallel steps.
  • Task caches can get an expiry, and stalled workers can be pruned automatically.

References