Product updates

Changelog

Every release, fix, and improvement shipped to Relay.

AILatest

Relay AI flaky-test detection GA

Relay AI is generally available. Pipelines can now detect flaky tests, auto-retry transient failures, and post AI-generated summaries on pull requests.

  • Flaky-test detection — statistical analysis across branches and matrix legs flags tests with intermittent failures
  • Auto-retry — configure retry.when: relay.ai.flaky on any step to retry only likely-transient failures
  • PR summariesrelay/ai-summary@v1 posts root-cause analysis and suggested fixes on failed builds
  • Quarantine workflow — move persistently flaky tests to non-blocking jobs without stopping the pipeline
  • Insights dashboard — new Flaky Tests and Timing Regressions views under Insights

Enable Relay AI in Settings → AI or add an ai: block to relay.yaml. See the Relay AI docs for configuration examples.

Performance

Self-hosted ARM runners + 2x faster cache restores

This release expands runner coverage and significantly improves remote cache performance for monorepos and matrix builds.

  • Self-hosted ARM64 runners — register self-hosted-arm64 agents for Apple Silicon and Linux ARM builds in your VPC
  • 2x faster cache restores — content-addressable cache layer reduces median restore time from 90s to under 45s on large node_modules trees
  • Cross-branch cache sharing — cache hits now apply across feature branches when lockfile hashes match
  • Matrix deduplication — identical matrix legs share a single cache upload
  • Runner labels UI — filter and manage self-hosted pools from Settings → Runners

Also in this release:

  • Deploy gates support required reviewer groups per environment
  • OIDC token lifetime extended to 15 minutes for multi-step cloud deploys
  • Fixed a bug where preview environments were not destroyed when a PR was closed via merge queue
  • Fixed a bug where cache keys containing ${{ hashFiles() }} were truncated on Windows runners
  • Fixed a bug where concurrent matrix jobs could exhaust small runner pools without queue visibility

Learn more in the Runners docs and API Reference.

Update

Preview environment TTL and idle cleanup

Preview environments now support per-repo TTL policies and idle detection so stale PR previews do not linger after merge or abandon.

  • TTL policies — set default lifetime in hours under Settings → Environments → Previews
  • Idle detection — previews with no HTTP traffic for 72 hours are queued for teardown with a Slack or email warning
  • Bulk cleanup — admins can purge all previews for closed PRs from the Environments dashboard
  • Cost visibility — preview compute minutes appear as a separate line item in Usage

Also in this release:

  • Preview URLs support custom subdomains on verified domains
  • Fixed a bug where redeploying a preview could leave the previous deployment running
  • Fixed a bug where monorepo path filters ignored nested preview: overrides

Configure TTL defaults in the API Reference.