Releases: concourse/concourse
v7.14.1
🛠️ Changes
- Fixed the
guardian
runtime for users of theconcourse/concourse
image @taylorsilva #9257 - Fixed the semver resource for users that use the
git
driver @taylorsilva concourse/semver-resource@13de59c - docker-image resource updated with latest Docker binaries
📦 Bundled Resource Types
Full Changelog: v7.14.0...v7.14.1
v7.14.0
What's Changed
🦾 Official ARM Build
This is the first release that includes an ARM version of concourse
and fly
(Linux and macOS). The ARM version of concourse
only supports the containerd runtime (See garden/#378).
🐙 Wolfi-based Images
The concourse/concourse
container image and all base resource-types now use Wolfi as their base image. This was done to support building the ARM version of Concourse.
✈️ Features
- Add Pipeline identity token as a
var_source
by @dbaumgarten in #9035- See the docs for more details: https://concourse-ci.org/idtoken-credential-manager.html
- atc: allow identifiers to start with numbers by @analytically in #9119
- atc: enhance container memory unit parsing with IEC notation support by @analytically in #9130
- atc: Consider image volumes in volume-locality strategy by @analytically in #9188
- Restrict algorithms for host key exchange by @neumayer in #9214
- Bump pgx and concourse/flag to latest patch, this enables sslnegotiation option by @analytically in #9211
- Invalidate access token on Logout by @IvanChalukov in #9218
- containerd: add flag to add additional-hosts by @Kump3r in #9238
- Add
/download-fly
page for downloading the fly cli by @taylorsilva in #9240
🐞 Bug Fixes
- Skip renewal for non-renewable Vault tokens by @IvanChalukov in #9208
- Improve idtoken credential provider compatibility (with AWS and Azure) by @dbaumgarten in #9224
- runtime/containerd: ensure logs are not dropped when web node re-attaches to running containers by @taylorsilva in #9234
- Re-enable manual token entry when a fly command fails due to auth by @taylorsilva in #9245
🛠️ Misc. Changes
- Update github.com/aws/aws-sdk-go to github.com/aws/aws-sdk-go-v2 by @hoegaarden in #9178
- refactor: More granular locking in WorkerCache by @analytically in #9118
- worker: containerd.go: Fixed typo in error message by @jpds in #9192
- fix(deps): update javasript by @renovate[bot] in #9172
- Fix error handling in processStream.Write method to follow io.Writer contract by @analytically in #9120
- Improve repository lock manager with sync.Map for better concurrency by @analytically in #9131
- Adding the db connection parameter to dev docker-compose by @Kump3r in #9196
- fix: add O_TRUNC flag when writing volume metadata file by @analytically in #9132
- Replace standard gzip with klauspost/compress/gzip by @analytically in #9138
- Migrate from kr/pty to creack/pty by @analytically in #9152
- Migrate from mitchellh/mapstructure to go-viper/mapstructure/v2 by @analytically in #9153
- fix k8s-topgun prometheus integration tests by @taylorsilva in #9206
- Remove use of deprecated package github.com/pkg/errors by @BooleanCat in #9216
- refactor: replace map+RWMutex with sync.Map in artifact repository for better concurrency by @analytically in #9148
- refactor: beingWatchedBuildEventChannelMap to use sync.Map by @analytically in #9161
- refactor: optimize Counter and Gauge with atomic.Int64 by @analytically in #9158
- refactor: simplify hasPermission method in accessor by @analytically in #9166
- Optimize SSE build event streaming by @analytically in #9169
- Increase containerd runner ready state timeout by @jzho987 in #9230
- Bump containerd libraries to v2 by @taylorsilva in #9231
- Remove hardcoded AlwaysSample from OpenTelemetry tracing configuration by @marcus-crane in #9229
- runtime: remove guardian as a runtime option for linux/arm64 by @taylorsilva in #9235
- fix(deps): update module github.com/containerd/containerd/v2 to v2.0.5 [security] by @renovate[bot] in #9233
- go and web dependency updates by @taylorsilva in #9243
- update web dependencies by @taylorsilva in #9247
- remove --time-format flag when using guardian runtime by @taylorsilva in #9252
New Contributors
- @hoegaarden made their first contribution in #9178
- @jpds made their first contribution in #9192
- @Kump3r made their first contribution in #9196
- @neumayer made their first contribution in #9214
- @dbaumgarten made their first contribution in #9035
- @jzho987 made their first contribution in #9230
- @marcus-crane made their first contribution in #9229
📦 Bundled Resource Types
Full Changelog: v7.13.2...v7.14.0
v7.13.2
v7.13.1
📦 Bundled resource types
This release only updates the bundled resource-types, specifically the s3
and registry-image
resources. Both resources had bugs related to their upgrade to v2 of the AWS Go SDK.
v7.13.0
🚨 Breaking Changes
- Remove
CONCOURSE_POSTGRES_BINARY_PARAMETERS
flag (#9068) @taylorsilva 🔗- BREAKING: Removed the
CONCOURSE_POSTGRES_BINARY_PARAMETERS
flag. This was alib/pq
specific flag. We are now using Pgx as our Postgresql driver, therefore this flag is no longer relevant. If you are using PgBouncer we recommend being on the latest version (v1.24.0) which now supports prepared statements by default, though any version >1.21.0 may also work. This flag has been removed from both the Helm chart and Bosh release.
- BREAKING: Removed the
✈️ Features
-
Building with Go 1.24.0 (#9074) @taylorsilva 🔗
-
go-concourse:connection client prints response body to the end user (#9011) @aliculPix4D 🔗
-
improve the error message given to the end user when setting the pipeline (#9012) @aliculPix4D 🔗
-
Log policy checker error messages (#9013) @aliculPix4D 🔗
- Log detailed OPA error messages in web nodes logs and show a friendlier error message to the end user
-
Introduce privileged-mode (#9017) @A1kmm 🔗
- Added a new
--containerd-privileged-mode
/CONCOURSE_CONTAINERD_PRIVILEGED_MODE
option to the worker, which acceptsfull
(default, original behaviour),fuse-only
(privileged: true tasks can use tools like buildah and podman, but can't escape if user namespaces are used to run the worker),ignore
(privileged: true tasks have no extra access compared to privileged: false tasks)
- Added a new
-
pgx Migration (Removing lib/pq) (#9066) @taylorsilva 🔗
- Replace lib/pq with pgx as the Postgresql driver.
- PgBouncer users: The Pgx driver docs state that its out-of-the-box configuration does not support PgBouncer, but recent discussion indicates that may not be the case if you're using PgBouncer >1.21.0. The recent 1.24.0 release also says prepared statement support is on by default, so this may be a non-issue if you're on the most recent version of PgBouncer.
- Replace lib/pq with pgx as the Postgresql driver.
-
atc: exec: ignore task input/output paths that reference parent directories (#9078) @taylorsilva 🔗
- Task inputs and outputs can be placed using absolute or relative paths inside task containers now. This was changed back in v7.5.0 (#6597) but never properly announced. Paths that reference parent directories (
../
) will be treated as relative paths and no parent directory traversal will occur.
- Task inputs and outputs can be placed using absolute or relative paths inside task containers now. This was changed back in v7.5.0 (#6597) but never properly announced. Paths that reference parent directories (
-
worker runtime: concurrent process killing (#9084) @analytically 🔗
- Worker runtime: make process killing concurrent for faster container cleanup
-
worker runtime: make container deletion more robust (#9090) @taylorsilva 🔗
- Make container deletion more robust by continuing to delete a container even if we get errors related to reading the containers
/etc/host
file
- Make container deletion more robust by continuing to delete a container even if we get errors related to reading the containers
-
Mount /sys/fs/cgroup as cgroup2 type if supported (#9094) @mariash 🔗
- Enable cgroupv2 support for the Guardian runtime by mounting
/sys/fs/cgroup
as cgroup2 type if supported. Requires Garden v1.67.0 or greater
- Enable cgroupv2 support for the Guardian runtime by mounting
-
fly: improve performance of fly watch (#9097) @analytically 🔗
-
Add
--team
flag toclear-resource-cache
command (#9106) @IvanChalukov 🔗 -
Add
--team
flag tocontainers
command (#9107) @IvanChalukov 🔗- Added
--team
flag to fly commandcontainers
. Use:fly -t ci containers --team custom-team
- Added
-
Support custom pipeline background image styling (#9117) @analytically 🔗
- Add
background_filter
option for pipeline background images which takes in string of CSS filters. Defaults to the current filtersopacity(30%) grayscale(100%)
- Add
-
runtime: Seccomp update (#9173) @taylorsilva 🔗
- Update seccomp profile to be in sync with Docker/Containerd's default profiles
-
CF API v3 is now supported by our fork of Dex which will ensure CF Auth does not break when the CF v2 API is officially gone. Work done by @Kump3r @IvanChalukov in concourse/dex#148
-
Add support for Strict-Transport-Security header (#9076) @taylorsilva 🔗
- Add
CONCOURSE_STRICT_TRANSPORT_SECURITY
to the web command which allows an operator to set the Strict-Transport-Security header
- Add
-
Add ESC key shortcut to hide keyboard help (#9111) @analytically 🔗
- Can use the Escape key to close the Help menu in the Web UI
🐞 Bug Fixes
-
make sure to drop item from secret cache after default duration if calculated duration is equal or less than 0 (#9049) @carlo-blohm 🔗
- Fix a bug in credential caching where a secret would be cached forever
-
8529/fix chrome login (#9051) @taylorsilva 🔗
- Have fly handle preflight requests from Chromium browsers. Users will no longer get a "your token could not be sent to fly" error if they login to
fly
using a Chormium browser
- Have fly handle preflight requests from Chromium browsers. Users will no longer get a "your token could not be sent to fly" error if they login to
-
Properly close process IO (#9061) @taylorsilva 🔗
- Fix a bug where builds could not be aborted because the underlying process had a lock on stdout that Concourse would wait for the process to release. If the underlying process never released it then Concourse would wait forever and the build would never be aborted.
-
fix the policy-checker-handler logger session name (#9081) @aliculPix4D 🔗
-
Fix bug in maxValidFromFile using hardcoded path (#9082) @analytically 🔗
-
Use github.com/google/uuid to generate UUIDv4 (#9083) @taylorsilva 🔗
- Use github.com/google/uuid to generate UUID's (v4). The previous library incorrectly implemented UUID generation and would sometimes generate the same UUID twice. Therefore it was possible for two containers or volumes to be created with the same UUID. The second container/volume would fail to create due to the UUID collision.
-
atc: Various small fixes (#9092) @taylorsilva 🔗
- Fix unbounded goroutine creation in resource scanner (lidar)
- Fix potential race condition in
Tracker.IterateInterpolatedCreds
- Optimize
SequenceGenerator
using atomic types - Fix error message in container placement strategy. Previously an unknown placement strategy would result in an error which showed the successfully parsed part of the chain. Now the error will show the unknown strategy that was passed in.
- Fix: redirect var source diffs to output writer & improve nil handling
-
CI: only run baggageclaimcmd test on linux (#9093) @taylorsilva 🔗
-
Gracefully recover from containerd TaskNotFound errors (#9100) @taylorsilva 🔗
- Gracefully recover from
task retrieval: no running task found
errors
- Gracefully recover from
-
Fix
--team
flag inorder-pipelines
command (#9102) @IvanChalukov 🔗- Fix
order-pipelines
command with--team
Option
- Fix
-
web: avoid duplicate in-memory checks (#9103) @taylorsilva 🔗
-
Fix: Preserve existing browser session during
fly login
(#9109) @IvanChalukov 🔗- Fix: Corrected CSRF token header format for proper validation.
-
Fix fish shell completion generation (#9113) @analytically 🔗
🤷 Miscellaneous
-
Correct policy-checker test suite names (#9009) @aliculPix4D 🔗
-
Split go-concourse client tests (#9010) @aliculPix4D 🔗
-
merging main back into master (#9022) @taylorsilva 🔗
-
Revert "bump go dependencies" (#9024) @taylorsilva 🔗
-
fix: topgun k8s container limits ...
v7.12.1
What's Changed
- fix: topgun k8s container limits test supports cgroups v1 and v2 by @Spimtav in #9028
- Split go-concourse client tests by @aliculPix4D in #9010
- go-concourse:connection client prints response body to the end user by @aliculPix4D in #9011
- Rebase master onto release 7.12.x by @drich10 in #9037
- fix(deps): update all dependencies by @drich10 in #9038
- Rebase master 7.12 by @drich10 in #9040
- fix(deps): update module golang.org/x/crypto to v0.31.0 [security] by @renovate in #9039
- Update renovate config by @drich10 in #9043
- Disable garden renovate update by @drich10 in #9044
- fix(deps): update all dependencies by @renovate in #8985
- CNI was downgraded to v1.5.1 to resolve an issue with the current versions (v1.6.x) of CNI. See #9027
New Contributors
Full Changelog: v7.12.0...v7.12.1
📦 Bundled resource types
v7.12.0
✈️ Features
-
Add resource type check interval (#8381) @Caprowni
- This adds an option for a user to configure resource types to be checked every X time at a global level as opposed to setting check_every on each resource type.
-
add shared path to SSM parameters (#8687) @konstl000
-
Implement support for IPv6 networking in tasks (#8801) @Qjammer
- Add IPv6 networking support to tasks - There's now a CONCOURSE_CONTAINERD_V6_ENABLE/--containerd-v6-enable config option on the concourse worker command to enable IPv6 support in containerd containers. There are two IPv6 config's you can change. --containerd-v6-pool to specify the IPv6 subnet to use. Default subnet is fd9c:31a6:c759::/64. --containerd-v6-disable-masquerade to disable IPMasq, which is on by default if you use IPv6.
-
fly: add background option to execute command (#8856) @KoltesDigital
- fly execute gets new -b/--background option to create builds without watching them.
-
Load vault client token from file (#8899) @jenniferplusplus
- This allows Concourse to use the client tokens provided by the K8s Vault-Agent sidecar by setting
CONCOURSE_VAULT_CLIENT_TOKEN_PATH
- This allows Concourse to use the client tokens provided by the K8s Vault-Agent sidecar by setting
-
Add --team flag to clear-task-cache command (#8933) @hlreyes
-
Added team flag to fly command clear-task-cache. Use:
fly -t dev clear-task-cache --job pipeline/job --step some-task-step --team other-team
-
-
Add --team flag to rename-pipeline command (#8940) @Priyanshinv
- Added team flag to fly command rename-pipeline. Usage: fly -t dev rename-pipeline -o some-pipeline -n new-pipeline --team other-team
🐞 Bug Fixes
-
Fly excludes Mac metadata when uploading local inputs (#8939) @selzoc
- fly execute no longer includes MacOS extended file attributes when uploading local inputs
-
fix: fix the mistakes in defer statements (#9003) @cuishuang
🤷 Miscellaneous
-
Fix incorrect log message (#8865) @hongkuancn
-
use stable website for internet test in watsjs (#8869) @xtremerui
-
Update renovate.json (#8871) @xtremerui
-
fix(deps): update module github.com/containerd/containerd to v1.7.11 [security] (#8872) @renovate
-
fix(deps): update module github.com/go-jose/go-jose/v3 to v3.0.1 [security] (#8873) @renovate
-
fix(deps): update module golang.org/x/crypto to v0.17.0 [security] (#8874) @renovate
-
Pulling go version other than relying on runner image in CodeQL scan (#8879) @xtremerui
-
Fix compilation error in topgun/k8s test (#8889) @xtremerui
-
Rebase master 7.11.1 (#8895) @xtremerui
-
fix(deps): update module github.com/opencontainers/runc to v1.1.12 [security] (#8900) @renovate
-
Rotate dev vault certs (#8904) @xtremerui
-
Rebase master 7.11.2 (#8909) @xtremerui
-
fix(deps): update module github.com/go-jose/go-jose/v3 to v3.0.3 [security] (#8922) @renovate
-
Fix elm data-format package hash error (#8928) @xtremerui
-
switch from elm package ryannhg/date-format to ryan-haskell/date-format
-
Fix integration test failure due to deprecated docker-compose (#8946) @xtremerui
-
chore: fix function name in comment (#8948) @fuyangpengqi
-
chore: remove repeat words (#8967) @stellrust
-
fix(deps): update module github.com/hashicorp/go-retryablehttp to v0.7.7 [security] (#8969) @renovate
-
Correctly configure the garden backend in integration tests (#8979) @taylorsilva
📦 Bundled resource types
Note about the Windows Package: The Concourse Windows package had to be re-uploaded after the initial release because the Windows package was not correctly zipped up. We accidentally zipped up an empty folder! This has been fixed in our CI build script.
v7.11.2
🚨 Security
🤷 Miscellaneous
-
Rotate dev vault certs (#8904) @xtremerui 🔗
-
Rebase master 7.11.2 (#8909) @xtremerui 🔗
📦 Bundled resource types
v7.11.1
✈️ Features
-
add shared path to SSM parameters (#8687) @konstl000 🔗
- Added `--aws-ssm-shared-path` to configure shared secret paths for AWS SSM cred manager similarly to the one for Vault.
🤷 Miscellaneous
-
Fix incorrect log message (#8865) @hongkuancn 🔗
-
Use stable website for internet test in watsjs (#8869) @xtremerui 🔗
-
Pulling go version other than relying on runner image in CodeQL scan (#8879) @xtremerui 🔗
-
fix(deps): update module github.com/containerd/containerd to v1.7.11 [security] (#8872) @renovate 🔗
-
fix(deps): update module github.com/go-jose/go-jose/v3 to v3.0.1 [security] (#8873) @renovate 🔗
-
fix(deps): update module golang.org/x/crypto to v0.17.0 [security] (#8874) @renovate 🔗
-
fix(deps): update all dependencies (#8875 #8876 #8877 #8878 #8880 #8882 #8884 #8887 #8890) @renovate 🔗
-
Fix compilation error in topgun/k8s test (#8889) @xtremerui 🔗
📦 Bundled resource types
v7.11.0
🚨 Breaking
- Topgun gc_interval to gc.interval (#8822) @xtremerui 🔗
- Refer to concourse/concourse-bosh-release@8d2cfa0, if you are deploying Concourse with Bosh, make sure to replace
gc_interval
withgc.interval
in the spec, if applicable.
- Refer to concourse/concourse-bosh-release@8d2cfa0, if you are deploying Concourse with Bosh, make sure to replace
✈️ Features
-
Make cc.xml endpoint public, and only list public pipelines (#8809) @LukeWinikates 🔗
- Public pipelines are now accessible through the
cc.xml
endpoint while unauthenticated
- Public pipelines are now accessible through the
-
Emitting "latest_completed_build_status" gauge from prometheus (#8826) @wayneadams 🔗
- Add
concourse_builds_latest_completed_build_status
metric- Guage = 0 for success
- Guage = 1 for failure
- Guage = 2 for aborted
- Guage = 3 for error
- Add
-
Add additional help context for metric (#8839) @wayneadams 🔗
🐞 Bug Fixes
-
Fixes cf authentication fails on 7.9.1 #8696 (#8806) @wayneadams 🔗
- Fix CF connector regression bug introduced on 7.9.1
-
Fix fly builds cmd with --team flag (#8841) @xtremerui 🔗
- Fix a bug of
fly builds
command that showspipeline/job not found
when both--team
and--pipeline
/--job
are provided.
- Fix a bug of
🤷 Miscellaneous
-
Update all dependencies (#8789, #8815, #8819, #8821, #8823, #8825, #8830, #8835) @renovate 🔗
-
Bump imdario/mergo to v1.0.0 (#8810) @taylorsilva 🔗
-
Bump concourse/retryhttp to v1.2.4 (#8811) @taylorsilva 🔗
-
Bump concourse/flag to v2.0.2 (#8812) @taylorsilva 🔗
-
Bump txn2/txeh to v1.5.4 (#8813) @taylorsilva 🔗
-
Fix data race in emmiter and pool unit tests (#8832) @xtremerui 🔗
- Fix data race observed in unit tests for emitter new-relic and worker pool tests.
-
Fix integration flaky ops parallel upgrade/downgrade tests (#8834) @xtremerui 🔗
-
Fix integration flaky ops test (#8838) @xtremerui 🔗