<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/actions-runner-controller-release-0-15-0-d35cyyu7y" -->

---
title: Actions Runner Controller release 0.15.0 | daily.dev
description: Actions Runner Controller 0.15.0 ships reliability, scalability, and observability improvements for GitHub Actions runner scale sets on Kubernetes. Patch...
canonical: https://daily.dev/posts/actions-runner-controller-release-0-15-0-d35cyyu7y
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Actions Runner Controller release 0.15.0 | daily.dev
og:description: Actions Runner Controller 0.15.0 ships reliability, scalability, and observability improvements for GitHub Actions runner scale sets on Kubernetes. Patch...
og:url: https://daily.dev/posts/actions-runner-controller-release-0-15-0-d35cyyu7y
og:image: https://api.daily.dev/og/posts/D35cyYU7y.png
og:image:alt: Actions Runner Controller release 0.15.0
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Actions Runner Controller release 0.15.0

**[GitHub Changelog](https://daily.dev/sources/github_updates)** · 2 min read · 1 upvotes · 0 comments

## Summary

Actions Runner Controller 0.15.0 ships reliability, scalability, and observability improvements for GitHub Actions runner scale sets on Kubernetes. Patch upgrades now update resources in place, terminationGracePeriodSeconds is configurable to align with controller manager shutdown, scale sets can be reregistered if missing from the Actions service, controller updates use patch instead of full update requests, status aggregation moved to metrics, listener client rate limits (QPS/burst) are configurable, concurrency can be tuned globally and per controller, event filtering reduces reconciliations, and ephemeral runner deletion is faster by skipping a redundant server-side check.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://github.blog/changelog/2026-10-01-actions-runner-controller-release-0-15-0>

## Questions this post answers

### What changed in Actions Runner Controller 0.15.0 for Kubernetes runner scale sets?

Version 0.15.0 adds reliability, scalability, and observability improvements: patch version upgrades now update resources in place instead of recreating them, terminationGracePeriodSeconds is configurable to align with the controller manager's graceful shutdown timeout, controller updates use patch requests instead of full updates to cut Kubernetes API payload size, and status aggregation for EphemeralRunnerSet and AutoscalingRunnerSet moved to metrics to reduce status patch requests.

_Teams scaling self-hosted runner fleets can track changes like these on daily.dev before upgrading clusters._

### How can I reduce Kubernetes API load from Actions Runner Controller on large runner fleets?

Actions Runner Controller 0.15.0 reduces API load several ways: controllers now send patch requests instead of full update requests, runner status aggregation moved to metrics instead of frequent status patches, controllers filter incoming events to perform fewer reconciliations, and listener Kubernetes client rate limits are configurable via QPS and burst settings to tune throughput.

_Operators tuning runner fleet throughput can follow updates like this on daily.dev._

### How do I configure controller concurrency in Actions Runner Controller?

Controller concurrency can be set globally or per controller using the max-concurrent-reconciles flags introduced in Actions Runner Controller 0.15.0. This allows operators running many scale sets to tune reconciliation throughput without changing other controller behavior.

_Those operating large runner scale sets can keep up with controller configuration changes via daily.dev._

## Similar posts on daily.dev

- [GitHub Actions: Early February 2026 updates](https://daily.dev/posts/github-actions-early-february-2026-updates-qeqqvzpnw) · GitHub Changelog · 0 upvotes · 0 comments
- [Uber Separates Scaling Intent From Execution on Kubernetes Platform](https://daily.dev/posts/uber-separates-scaling-intent-from-execution-on-kubernetes-platform-qltzctqk4) · InfoQ · 2 upvotes · 0 comments
- [A Kubernetes Resource That Doesn’t Exist: Caching CI Images on Ephemeral Runners](https://daily.dev/posts/a-kubernetes-resource-that-doesn-t-exist-caching-ci-images-on-ephemeral-runners-efcbveoer) · Mercari Engineering · 0 upvotes · 0 comments
- [Safe, versioned Worker Deployments on Kubernetes: Now with autoscaling\!](https://daily.dev/posts/safe-versioned-worker-deployments-on-kubernetes-now-with-autoscaling--trworamoi) · Temporal · 0 upvotes · 0 comments

---

Tags: [#kubernetes](https://daily.dev/tags/kubernetes), [#cicd](https://daily.dev/tags/cicd), [#observability](https://daily.dev/tags/observability), [#github-actions](https://daily.dev/tags/github-actions)

[View this post on daily.dev](https://daily.dev/posts/actions-runner-controller-release-0-15-0-d35cyyu7y)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Actions Runner Controller release 0.15.0","url":"https://daily.dev/posts/actions-runner-controller-release-0-15-0-d35cyyu7y","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/actions-runner-controller-release-0-15-0-d35cyyu7y"},"datePublished":"2026-10-01T14:14:04.998Z","dateModified":"2026-10-01T14:14:23.798Z","description":"Actions Runner Controller 0.15.0 ships reliability, scalability, and observability improvements for GitHub Actions runner scale sets on Kubernetes. Patch...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/cc4fc1b7e0e6c12c6b409ac752e0ac69?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/cc4fc1b7e0e6c12c6b409ac752e0ac69?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"GitHub Changelog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"GitHub Changelog","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/15004b7835da4d89b02b115871f0f6dc","url":"https://daily.dev/sources/github_updates"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/actions-runner-controller-release-0-15-0-d35cyyu7y","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"kubernetes,cicd,observability,github-actions","timeRequired":"PT2M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"GitHub Changelog","item":"https://daily.dev/sources/github_updates"},{"@type":"ListItem","position":3,"name":"Actions Runner Controller release 0.15.0"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/actions-runner-controller-release-0-15-0-d35cyyu7y#faq","mainEntity":[{"@type":"Question","name":"What changed in Actions Runner Controller 0.15.0 for Kubernetes runner scale sets?","acceptedAnswer":{"@type":"Answer","text":"Version 0.15.0 adds reliability, scalability, and observability improvements: patch version upgrades now update resources in place instead of recreating them, terminationGracePeriodSeconds is configurable to align with the controller manager's graceful shutdown timeout, controller updates use patch requests instead of full updates to cut Kubernetes API payload size, and status aggregation for EphemeralRunnerSet and AutoscalingRunnerSet moved to metrics to reduce status patch requests. Teams scaling self-hosted runner fleets can track changes like these on daily.dev before upgrading clusters."}},{"@type":"Question","name":"How can I reduce Kubernetes API load from Actions Runner Controller on large runner fleets?","acceptedAnswer":{"@type":"Answer","text":"Actions Runner Controller 0.15.0 reduces API load several ways: controllers now send patch requests instead of full update requests, runner status aggregation moved to metrics instead of frequent status patches, controllers filter incoming events to perform fewer reconciliations, and listener Kubernetes client rate limits are configurable via QPS and burst settings to tune throughput. Operators tuning runner fleet throughput can follow updates like this on daily.dev."}},{"@type":"Question","name":"How do I configure controller concurrency in Actions Runner Controller?","acceptedAnswer":{"@type":"Answer","text":"Controller concurrency can be set globally or per controller using the max-concurrent-reconciles flags introduced in Actions Runner Controller 0.15.0. This allows operators running many scale sets to tune reconciliation throughput without changing other controller behavior. Those operating large runner scale sets can keep up with controller configuration changes via daily.dev."}}]}
```

