Concourse v6.1.0 Release Notes

Release Date: 2020-05-12 // almost 4 years ago
  • ๐Ÿฑ ๐Ÿ”— feature, breaking

    ๐ŸŒฒ "Have you tried logging out and logging back in?"

    • Probably every concourse operator at some point

    ๐ŸŒฒ In the old login flow, concourse used to take all your upstream third party info (think github username, teams, etc) figure out what teams you're on, and encode those into your auth token. The problem with this approach is that every time you change your team config, you need to log out and log back in. So now concourse doesn't do this anymore. Instead we use a token directly from dex, the out-of-the-box identity provider that ships with concourse.

    This new flow does introduce a few additional database calls on each request, but we've added some mitigations (caching and batching) to help reduce the impact. If you're interested in the details you can check out the original issue or the follow up with some of the optimizations.

    โฌ†๏ธ NOTE: And yes, you will need to log out and log back in after upgrading. Make sure you sync fly using fly sync -c <concourse-url> before logging in.

    ๐Ÿฑ ๐Ÿ”— fix, breaking

    โœ‚ Remove Query argument from fly curl command.

    When passing curl options as fly curl <url_path> -- <curl_options>, the first curl option is parsed as query argument incorrectly, which then causes unexpected curl behaviour. #5366

    With fix in #5371, <curl_options> functions as documented and the way to add query params to fly curl is more intuitive as following:

    fly curl <url_path?query_params> -- <curl_options>
    

    ๐Ÿฑ ๐Ÿ”— fix, breaking

    • When looking up credentials, we now prefer pipeline scoped credential managers over global ones. #5506

    ๐Ÿฑ ๐Ÿ”— fix, breaking

    • ๐Ÿš€ In a previous release, we made the switch to using zstd for compressing artifacts before they get streamed all over the place. This has proved to be unreliable for all our use cases so we switched the default back to gzip. We did make this configurable though so you can continue to use zstd if you so choose. #5398

    ๐Ÿฑ ๐Ÿ”— feature, breaking

    โšก๏ธ @pnsantos updated the Material Design icon library version to 5.0.45. #5397

    note: some icons changed names (e.g. mdi-github-circle was changed to mdi-github) so after this update you might have to update some icon: references.

    ๐Ÿฑ ๐Ÿ”— fix, breaking

    • โš™ @tjhiggins updated the flag for configuring the interval at which concourse runs its internal components. CONCOURSE_RUNNER_INTERVAL -> CONCOURSE_COMPONENT_RUNNER_INTERVAL. #5432

    ๐Ÿฑ ๐Ÿ”— feature

    Implemented the core functionality for archiving pipelines RFC #33. #5368

    note : archived pipelines are neither visible in the web UI (#5370) nor in fly pipelines.

    note: archiving a pipeline will nullify the pipeline configuration. If for some reason you downgrade the version of Concourse, unpausing a pipeline that was previously archived will result in a broken pipeline. To fix that, set the pipeline again.

    ๐Ÿฑ ๐Ÿ”— feature

    • ๐Ÿ‘€ Since switching to using dex tokens, we started using the client credentials grant type to fetch tokens for the TSA. This seemed like a good opportunity to start bcrypting client secrets in the db. #5459

    ๐Ÿฑ ๐Ÿ”— fix

    • ๐Ÿ— Thanks to some outstanding debugging from @agurney, we've fixed a deadlock in the notifications bus which caused the build page not to load under certain conditions. #5519

    ๐Ÿฑ ๐Ÿ”— feature

    • ๐Ÿ”ง @evanchaoli added a global configuration to override the check interval for any resources that have been configured with a webhook token. #5091

    ๐Ÿฑ ๐Ÿ”— feature

    โšก๏ธ We've updated the way that hijacked containers get garbage collected

    We are no longer relying on garden to clean up hijacked containers. Instead, we have implemented this functionality in concourse itself. This makes it much more portable to different container backends. #5305

    ๐Ÿฑ ๐Ÿ”— feature

    โšก๏ธ @ebilling updated the way that containers associated with failed runs get garbage collected.

    ๐Ÿ”ง Containers associated with failed runs used to sit around until a new run is executed. They now have a max lifetime (default - 120 hours), configurable via 'failed-grace-period' flag. #5431

    ๐Ÿฑ ๐Ÿ”— fix

    • ๐Ÿ›  Fix rendering pipeline previews on the dashboard on Safari. #5375

    ๐Ÿฑ ๐Ÿ”— fix

    • ๐Ÿ›  Fix pipeline tooltips being hidden behind other cards. #5377

    ๐Ÿฑ ๐Ÿ”— fix

    • ๐Ÿ›  Fix log highlighting on the one-off-build page. Previously, highlighting any log lines would cause the page to reload. #5384

    ๐Ÿฑ ๐Ÿ”— fix

    • ๐Ÿ›  Fix regression which inhibited scrolling through the build history list. #5392

    ๐Ÿฑ ๐Ÿ”— feature

    • ๐Ÿšš We've moved the "pin comment" field in the Resource view to the top of the page (next to the currently pinned version). The comment can be edited inline.

    ๐Ÿฑ ๐Ÿ”— feature

    • โž• Add loading indicator on dashboard while awaiting initial API/cache response. #5458

    ๐Ÿฑ ๐Ÿ”— fix

    • ๐Ÿ‘ Allow the dashboard to recover from the "show turbulence" view if any API call fails once, but starts working afterward. This will prevent users from needing to refresh the page after closing their laptop or in the presence of network flakiness. #5496

    ๐Ÿฑ ๐Ÿ”— feature

    • โšก๏ธ Updated a migration that adds a column to the pipelines table. The syntax initially used is not supported by Postgres 9.5 which is still supported. Removed the unsupported syntax so users using Postgres 9.5 can run the migration. Our CI pipeline has also been updated to ensure we run our tests on Postgres 9.5. #5479

    ๐Ÿฑ ๐Ÿ”— fix

    • ๐Ÿ— We fixed a bug where if you create a new build and then trigger a rerun build, both the builds will be stuck in pending state. #5452

    ๐Ÿฑ ๐Ÿ”— feature

    • We added a new flag (CONCOURSE_CONTAINER_NETWORK_POOL) to let you configure the network range used for allocating IPs for the containers created by Concourse. This is primarily intended to support the experimental containerd worker backend. Despite the introduction of this new flag, CONCOURSE_GARDEN_NETWORK_POOL is still functional for the (stable and default) Garden worker backend. #5486

    ๐Ÿฑ ๐Ÿ”— feature

    • ๐Ÿ”ง We added support for the configuration of the set of DNS resolvers to be made visibile (through /etc/resolv.conf) to containers that Concourse creates when leveraging the experimental containerd worker backend. #5465

    ๐Ÿฑ ๐Ÿ”— feature

    • โž• Added support to the experimental containerd worker backend to leverage the worker's DNS proxy to allow name resolution even in cases where the worker's set of nameservers are not reachable from the container's network namespace (for instance, when deploying Concourse workers in Docker, where the worker namerserver points to 127.0.0.11, an address that an inner container wouldn't be able to reach without the worker proxy). #5445