What's new.
Keep up with the latest features, fixes, and improvements for RunsOn.
v3.3.2
Restore automatic reruns for eligible Fleet jobs interrupted by Spot reclamation when GitHub supplies an opaque scale-set job ID. Recovery now identifies the exact job and run attempt. - Upgrade…
v3.3.1
No major new features in this patch release.
v3.3.0
Spot interrupted jobs now report failure, and Flex and Fleet can retry after workflow attempts 1 and 2; attempt 3 is final. We are also releasing an example reusable workflow that can be used in…
v3.2.3
Install multiple roc CLI versions side by side with mise. For example, pin this release with mise use --pin 'github:runs-on/cli[bin=roc]@3.2.3'.
v3.2.2
Make sure Flex keeps webhook processing moving when malformed GitHub requests, invalid workflow-job payloads, or message-level panics occur. Invalid events are dropped with diagnostic details in…
v3.2.1
Send custom metrics, logs, and traces from runner jobs through a ready-to-use local OpenTelemetry endpoint at 127.0.0.1:4318. The collector runs on every runner; forwarding to the configured OTLP…
v3.2.0
Sticky disks: native-speed persistent build caches Jobs can now attach dedicated EBS cache volumes through the sticky= runner label. RunsOn restores the latest compatible snapshot, mounts the…
v2.12.9
Updated CloudFormation helper Lambda runtimes to python3.14. - Updated the Terraform-managed Slack webhook Lambda runtime to python3.14. - Backported GitHub App installation ID validation to the…
v3.1.3
Terraform installs now use bundled Lambda ZIP artifacts, removing local packaging and the hashicorp/archive provider.
v3.1.2
Flex now canonicalizes workflow job GitHub App installation IDs from the current app registry, preventing stale installation IDs from breaking token refresh and active job processing. Pool runners…
v3.1.1
GitHub App setup is more resilient during first initialization: RunsOn now waits for the primary app installation to appear, activates it automatically, and retries transient persisted-config…
v3.1.0
Introduce Fleet as a first-class RunsOn product for GitHub Actions runner scale sets, built around pool-based capacity management instead of one runner per job attempt. Add ECR pull-through cache…
v3.0.10
CloudFormation deployments can now attach an existing AWS Network Firewall policy to route IPv4 egress through managed firewall endpoints, with endpoint readiness handled during stack creation.
v3.0.9
GitHub App boost routing now handles organization-wide installations without listing every repository, reducing GitHub API usage and improving refresh behavior for large organizations.
v3.0.8
Improved GitHub runner registration recovery so 409 name conflicts during JIT re-mint rotate to a fresh attempt instead of failing the job terminally. Moved StepSecurity integration setup into…
v2.12.8
Extract repoconfig into config package, and log more detailed info about validation issues - Make sure we use the packaged config module
v3.0.7
No major product changes in this release.
v3.0.6
Added roc logs --full, which exports a complete diagnostic archive for a job including the DynamoDB job record, RunsOn service logs, CloudTrail events, EC2 console output, and agent logs for…
v3.0.5
None
v3.0.2
Improved the Terraform Flex quickstart with a complete runnable VPC example, including private subnets, NAT Gateway, S3 gateway endpoint, optional EFS/ECR/admin routes, and the gettingstarted…
v3.0.1
Reduced provisioning broker log noise when recovered work queues are saturated by aggregating repeated enqueue failures into a single warning with backlog and capacity details.
v3.0.0
RunsOn v3 replaces the App Runner control plane with the new runtime on ECS/Fargate, using API Gateway/Lambda ingress and a simpler runtime service model. Added an integrated managed WAF option…
v2.12.6
Fixed EC2 Fleet generation for runner labels with multiple exact instance types and Spot, so exact family=a+b selectors use explicit instance-type overrides correctly. - Pools: dangling runner…
v2.12.5
Fix for magic cache scope. Fixes 474. Detect overlapping families and put them into the same group. Fixes 476.