Skip to content

Releases: kelos-dev/kelos

v0.30.0

16 Apr 20:46
118ba64

Choose a tag to compare

API Changes

  • Add filePatterns filtering to githubPullRequests and githubWebhook sources with remove-then-match semantics: files matching exclude patterns are removed first, then the item passes when at least one remaining file matches an include pattern.
    (#891)
  • feat: Add generic webhook source type for TaskSpawner that accepts arbitrary HTTP POST payloads and maps JSON fields to task template variables via JSONPath expressions, enabling integration with any webhook-capable system without Kelos-side code changes.
    (#902)
  • Action Required: The --token-refresher-resource-requests, --token-refresher-resource-limits, and --token-refresher-image flags are removed. Remove these flags from any automation scripts or custom controller manifests before upgrading. (#971)
  • Remove the token-refresher sidecar container from spawner and ghproxy pods. GitHub App installation tokens are now generated in-process, reducing per-pod resource usage and simplifying pod specs. Existing deployments are migrated automatically on the next controller reconcile. (#971)

Features

  • Update gemini image from 0.37.1 to 0.38.1 (#984)
  • Update codex image from 0.120.0 to 0.121.0 (#999)
  • Update cursor image from 2026.04.08-a41fba1 to 2026.04.15-dccdccd (#985)
  • Update opencode image from 1.4.3 to 1.4.6 (#988)
  • Update claude-code image from 2.1.101 to 2.1.110 (#978)

v0.29.0

11 Apr 06:41
036d5ff

Choose a tag to compare

API Changes

  • Add --values/-f, --set, --set-string, and --set-file flags to kelos install for customizing the embedded Helm chart, enabling arbitrary value overrides without dedicated CLI flags.
    (#955)
  • Add podOverrides.labels field to Task and TaskSpawner for specifying custom labels on Jobs and Pods.
    (#938)

Features

  • Update cursor image from 2026.03.30-a5d3e17 to 2026.04.08-a41fba1 (#934)
  • Update gemini image from 0.36.0 to 0.37.1 (#933)
  • Update opencode image from 1.3.15 to 1.4.3 (#923)
  • Update claude-code image from 2.1.92 to 2.1.101 (#928)
  • Update codex image from 0.118.0 to 0.120.0 (#949)
  • Add Homebrew installation support: users can now install Kelos via brew tap kelos-dev/tap && brew install kelos
    (#818)
  • Fix empty {{.Branch}} template variable for issue_comment webhook events on pull requests. The webhook server now fetches the PR's head branch from the GitHub API. Configure credentials via the new webhookServer.sources.github.githubSecretName Helm value, supporting both PAT and GitHub App authentication.
    (#892)

Bug Fixes

  • Fix kelos get taskspawner to display SOURCE column for GitHubWebhook and LinearWebhook TaskSpawners (#919)

v0.28.0

05 Apr 23:13
b6f7dad

Choose a tag to compare

API Changes

  • Add Linear webhook support for TaskSpawners. Configure when.linearWebhook with resource types and filters to automatically spawn tasks from Linear events (issues, comments, projects). Supports filtering by action (create/update/remove), workflow state, labels, and exclude labels.
    (#866)
  • Add excludeAuthors field to githubWebhook, githubIssues, and githubPullRequests TaskSpawner sources to filter out events and work items from specific GitHub usernames.
    (#880)

Features

  • Update claude-code image from 2.1.87 to 2.1.92 (#873)
  • Update gemini image from 0.35.3 to 0.36.0 (#885)
  • Update opencode image from 1.3.9 to 1.3.15 (#875)
  • Update codex image from 0.117.0 to 0.118.0 (#874)
  • Added multi-architecture (amd64/arm64) support for container images (#913)
  • Add --prompt-file flag to kelos run to read task prompts from a file or stdin, enabling multi-line prompts without shell quoting. (#901)
  • ghproxy now exposes kelos_ghproxy_github_api_upstream_requests_total to count actual upstream GitHub API calls separately from proxied request volume, including miss, revalidation, and non-GET passthrough paths. (#882)

Bug Fixes

  • Fixed kelos suspend/resume commands to use patch semantics, preventing accidental loss of newly introduced TaskSpawner fields. (#897)

v0.27.0

01 Apr 00:36
ce51afb

Choose a tag to compare

Features

  • Add --ghproxy-cache-ttl flag to configure the cache TTL for workspace ghproxy instances via the controller, Helm chart, and kelos install CLI. (#871)

v0.26.0

31 Mar 16:26
922d08a

Choose a tag to compare

API Changes

  • Add GitHub webhook support for TaskSpawners with new githubWebhook source type. TaskSpawners can now be triggered by GitHub webhook events (issues, PRs, comments) with configurable filtering. Includes webhook server deployment, signature validation, and Helm chart templates with ingress support.
    (#851)

Features

  • Update claude-code image from 2.1.87 to 2.1.88 (#854)
  • Update opencode image from 1.3.4 to 1.3.9 (#847)
  • Update cursor image from 2026.03.25-933d5a6 to 2026.03.30-a5d3e17 (#855)
  • TaskSpawner GitHub discovery now uses a workspace-scoped ghproxy that owns Workspace GitHub auth and coalesces concurrent cache misses, reducing repeated cache misses and unnecessary GitHub API traffic.
    (#859)

v0.25.0

29 Mar 16:28
a85c6ac

Choose a tag to compare

API Changes

  • You can now configure a TaskTemplate with labels and annotations expressions which will be available on the Task
    (#810)

Features

  • Add ghproxy caching server to reduce duplicate GitHub API requests across TaskSpawner pods. Deployed automatically as part of the Helm chart. Configure allowed upstream hosts via ghproxy.allowedUpstreams Helm value. (#838)
  • Update opencode image from 1.3.2 to 1.3.4 (#812)
  • Update gemini image from 0.35.0 to 0.35.3 (#800)
  • Update claude-code image from 2.1.81 to 2.1.87 (#799)
  • Update codex image from 0.116.0 to 0.117.0 (#811)
  • Update cursor image from 2026.03.20-44cb435 to 2026.03.25-933d5a6 (#801)
  • Add Prometheus metrics export to kelos-spawner for discovery cycle observability (#821)
  • users can now install kelos with helm: "helm install kelos oci://ghcr.io/kelos-dev/charts/kelos"
    (#806)
  • Add Prometheus metrics (kelos_github_api_requests_total, kelos_github_api_request_duration_seconds) for GitHub API calls (#808)
  • Restructured Helm values.yaml to use nested spawner.resources and tokenRefresher.resources keys instead of flat spawnerResourceRequests/spawnerResourceLimits/tokenRefresherResourceRequests/tokenRefresherResourceLimits values. Also moved spawnerImage and tokenRefresherImage under spawner.image and tokenRefresher.image respectively. (#798)
  • Helm chart now includes CRDs as templates, enabling standalone helm install/upgrade without the kelos CLI. CRD installation can be disabled via crds.install=false for users managing CRDs externally. (#832)

Bug Fixes

  • Fix Helm chart release to default to release-tagged images instead of :latest (#825)

Other Changes

  • Labels on controller-managed resources changed from app.kubernetes.io/* to kelos.dev/*. Spawner Deployments are migrated automatically by the controller. The controller manager Deployment must be manually deleted before upgrading (kubectl delete deployment kelos-controller-manager -n kelos-system) because spec.selector.matchLabels is immutable; it will be recreated by the install process. (#826)

v0.24.0

26 Mar 09:25
44bc68a

Choose a tag to compare

API Changes

  • Add none credential type (credentials.type: none) that disables built-in credential injection. Users supply provider-specific credentials via podOverrides.env and can set podOverrides.serviceAccountName for workload identity (IRSA, GKE Workload Identity, Azure Workload Identity). This enables AWS Bedrock, Google Vertex AI, and other providers without provider-specific CRD fields. (#785)

Features

  • Update gemini image from 0.34.0 to 0.35.0 (#790)
  • Update opencode image from 1.2.27 to 1.3.2 (#772)
  • Add --controller-resource-requests and --controller-resource-limits flags to kelos install for configuring controller container resources. The previously hardcoded resource limits have been removed to prevent OOM kills. (#783)

v0.23.0

23 Mar 00:27
3f169c6

Choose a tag to compare

Features

  • Update gemini image from 0.33.2 to 0.34.0 (#732)
  • Update claude-code image from 2.1.77 to 2.1.81 (#744)
  • Update cursor image from 2026.03.11-6dfa30c to 2026.03.20-44cb435 (#745)
  • Update codex image from 0.115.0 to 0.116.0 (#750)
  • The Kelos skill can now be installed via skills.sh: npx skills add kelos-dev/kelos (#762)
  • Added kelos install --token-refresher-resource-requests and --token-refresher-resource-limits so GitHub App token refresher sidecars can be configured with CPU and memory resources. (#755)
  • Add --spawner-resource-requests and --spawner-resource-limits flags to kelos-controller for configuring resource requirements on spawner containers. Also available via kelos install CLI. (#737)
  • The install mechanism now uses an embedded Helm chart for manifest rendering, replacing raw YAML string manipulation. All existing CLI flags and behavior are preserved. (#728)

v0.22.0

17 Mar 15:21
6a2154d

Choose a tag to compare

API Changes

  • Add per-source pollInterval field to githubIssues, githubPullRequests, and jira sources, allowing each source to override the root-level spec.pollInterval. The root-level field is deprecated. (#719)
  • TaskSpawner githubIssues and githubPullRequests now support commentPolicy, including optional GitHub user, team, and minimum-permission restrictions for comment-based workflow control. Legacy triggerComment and excludeComments remain supported for migration, but cannot be combined with commentPolicy.
    (#703)

Features

  • Update claude-code image from 2.1.76 to 2.1.77 (#711)
  • Update codex image from 0.114.0 to 0.115.0 (#712)
  • Update gemini image from 0.33.1 to 0.33.2 (#713)
  • Update cursor image from 2026.02.27-e7d2ef6 to 2026.03.11-6dfa30c (#714)
  • Update opencode image from 1.2.26 to 1.2.27 (#698)
  • Add --verbosity flag to kelos-controller and kelos-spawner for simplified log level control. Default logging now shows only info and error messages (V(0)) instead of debug output. (#689)

v0.21.0

15 Mar 03:51
cea8bf5

Choose a tag to compare

Features

  • Add ETag-based HTTP caching to TaskSpawner to reduce GitHub API rate limit consumption (#682)