NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Go modules · #2453 by repository stars
Last release 2 days ago
06 Oct 2026
Ships on a steady schedule
a new release about every 8 days
Rarely documented
notes for 12 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
1161 releases · first in 2023
One column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Health Checks: Metric-Based Validation ValidateHealth now supports querying a Prometheus-compatible endpoint as an additional data source. Named scala
Health Checks: Metric-Based Validation
ValidateHealth now supports querying a Prometheus-compatible endpoint as an additional data source. Named scalar values are exposed to the Lua evaluate() function via a metrics table, enabling checks such as "error rate below 5 %". In push mode the endpoint must be reachable from the management cluster; in pull mode the sveltos-applier agent running inside the managed cluster reaches it directly via in-cluster DNS.
PR: addon-controller #1816 (#1816)
Kubernetes Events for Deployment Failures
The addon-controller now raises Kubernetes Warning events to make failure causes immediately visible via kubectl describe or any event-watching tool. Events are emitted for conflicts, missing referenced resources, template instantiation errors, and when the controller gives up after reaching the maximum consecutive failure count.
PR: addon-controller #1815 (#1815)
Dashboard: Cluster Deployment Health Signals
The cluster list now surfaces deployment state at a glance. An amber alert icon appears when one or more profile deployments are failing; a blue clock icon appears when deployment is actively in progress with no failures. The ui-backend computes these signals as O(1) in-memory indexes updated by the existing ClusterSummary watcher, so no per-request scanning is required.
PRs: dashboard #173 (projectsveltos/dashboard#173), ui-backend #167 (projectsveltos/ui-backend#167)
HealthCheck: Surface "No Resources Found" as a Degraded Status
When a HealthCheck's resource selectors matched nothing, the resulting HealthCheckReport was silently empty and sveltosctl show resources showed nothing. The Lua evaluate() function can now detect an empty resources table and return a top-level degraded status (e.g. "No deployments found in namespace metrics"), which is surfaced in the report and in sveltosctl.
PR: sveltos-agent #489 (projectsveltos/sveltos-agent#489)
MCP Server: Classifier Pipeline Analysis Tool
A new tool has been added to the Sveltos MCP server to analyze classifier pipelines, making it easier to inspect and reason about classifier configuration via AI-assisted workflows.
PR: mcp-server #55 (projectsveltos/mcp-server#55)
Shard-Controller: Patch Support
A new --shard-components-config flag accepts the name of a ConfigMap in the Sveltos namespace. The ConfigMap holds one or more patches (JSON6902 or strategic-merge) that are applied to the five Deployments shard-controller creates per shard. Target selectors allow a single ConfigMap to patch only specific components. When the ConfigMap changes, a dedicated reconciler re-deploys all active shards immediately so patches take effect without restarting shard-controller.
PR: shard-controller #216 (projectsveltos/shard-controller#216)
addon-controller: Logging, Pull-Mode Status Handler, Helm Data Race, and Dependency Manager
Fixed a logging mistake where cluster name was populated with the cluster namespace in two places. Corrected the pull-mode agent status handler, which could reach a nil dereference when the agent returned an error without a status payload. Fixed a data race in the Helm chart manager where a shared map was read without holding the mutex. The dependency manager's background update loop now snapshots work, releases the write lock before making API calls, and re-acquires it only to clear completed entries — unblocking concurrent reconcilers. Its startup rebuild loop now waits 5 seconds between retries instead of spinning at full speed on API errors.
PR: addon-controller #1823 (#1823)
sveltos-applier: ClassifierReport Retry, Discovery Loop, and Namespace Client Reuse
ClassifierReports were silently marked as delivered even when the push to the management cluster failed, so they were never rld also continue with an empty Classifier object on non-NotFound API errors. The discovery retry loop in the REST mapperrefresh executed exactly once regardless of the loop variable, causing immediate failure on transient API server slowness. A new Kubernetes client — and with it a new HTTP connection pool — was being created for every single resource that needed a namespace ensured; it is now
created once per reconciliation pass.
PR: sveltos-applier #89 (projectsveltos/sveltos-applier#89)
sveltos-agent: Handful Bugs in the Evaluation Package
Nine bugs in the evaluation package have been corrected.
PR: sveltos-agent #490 (projectsveltos/sveltos-agent#490)
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
OIDC Authentication in Dashboard
OIDC Authentication in Dashboard
Users can now log into the Sveltos dashboard using OpenID Connect (Authorization Code Flow with a public client), as an alternative to manual token authentication.
PR: dashboard #160 (projectsveltos/dashboard#160)
EventManager: Ordered Removal of Resources
When stale ClusterProfile resources were being cleaned up by the event-manager, referenced resources could be removed before the ClusterProfile was fully deleted, causing ordering violations. Sveltos now waits for stale ClusterProfiles to be fully deleted before removing their referenced resources.
PR: event-manager #485 (projectsveltos/event-manager#485)
addon-controller: Guaranteed Helm Chart Handoff Between Profiles
When a cluster atomically switched from one ClusterProfile to another (both referencing the same Helm chart), a race condition could cause a delete-and-reinstall instead of an in-place upgrade. Sveltos now verifies that every matching profile has had its ClusterSummary fully processed by the chart manager before allowing an uninstall, avoiding unnecessary downtime.
PR: addon-controller #1780 (#1780)
addon-controller: Surface Errors for Missing Non-Optional TemplateResourceRefs
When a non-optional resource referenced in TemplateResourceRefs was missing, no error was reported in the ClusterSummary, making it difficult to diagnose why a profile was not being deployed. The failure message is now surfaced directly in the ClusterSummary status.
PR: addon-controller #1790 (#1790)
shard-controller: Correct Flags for Init Container in Agentless Mode
When running in agentless mode, the agent-in-mgmt-cluster flag was not being set correctly for the addon-controller init container.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Remote URL Support in PolicyRefs
Reference YAML content directly from HTTP/HTTPS endpoints: Previously, PolicyRef was limited to ConfigMaps and Secrets, which imposed an ~1 MB size cap. You can now define a remoteURL field pointing to any HTTP/HTTPS URL. Sveltos fetches and redeploys automatically whenever the content changes, driven by a configurable polling interval (default: 5 minutes).
Optional authentication via secretRef (token, username/password, or CA file) and Go template rendering are fully supported.
Gate deployments on cluster readiness: A new preDeployChecks field on ClusterProfile/Profile lets you define conditions that must pass before Sveltos deploys any resource. This provides a built-in operational gate — for example, blocking rollouts until a cluster reaches a healthy state.
Stable revision counters after management cluster takeover: When a new management cluster reconciled clusters that already had Helm charts deployed, the absence of stored state caused Sveltos to run helm upgrade on every reconcile even when nothing had changed. Revision counters now remain stable on takeover. Charts with patches: configured and
ContinuousWithDriftDetection subsequent reconciliations are intentionally unaffected.
Targeted addon inspection in sveltosctl: sveltosctl show addons gains two new flags — --helm-charts to display only Helm releases and --resources to display only Kubernetes resources. This makes it easier to inspect large deployments without noise from unrelated resource types.
PR: sveltosctl #427
Simulation results in the Sveltos dashboard: The Sveltos dashboard now surfaces DryRun simulation results. Operators can review exactly what changes would be applied to each cluster before committing a profile to active mode — without leaving the dashboard.
Configuration drift for KustomizationRef-deployed resources was not being detected or repaired. Resources deployed via KustomizationRefs (e.g. through a Flux GitRepository) are now correctly tracked by the drift-detection agent and reconciled when changed out-of-band.
Partial ConfigurationBundle instances no longer reach the applier: When processing Helm charts in pull mode, an error mid-flight could cause a partially populated ConfigurationBundle to be committed. The applier would then treat missing resources as deleted, pruning live workloads or deploying broken stacks. Bundle preparation is now atomic — any error discards all
partial state before it can be committed.
When ClusterPromotion creates ClusterProfile resources, the order of HelmCharts, KustomizationRefs, and PolicyRefs must be preserved. A bug was causing the order in generated ClusterProfile resources to diverge from the ClusterPromotion definition. This is now fixed.
When an EventTrigger's referenced EventSource was updated, the ClusterProfile, ConfigMap, and Secret resources created for the previous EventSource were left as stale orphans in the management cluster. These are now correctly cleaned up whenever the EventSource reference changes.
When a ClusterProfile simultaneously changed its cluster selector (deselecting a cluster) and switched to DryRun mode, the system immediately deleted the ClusterSummary and ran undeploy logic — leaving no ClusterReport behind. Sveltos now keeps the ClusterSummary alive in DryRun scenarios, generates a ClusterReport for the diff, and defers actual cleanup until
DryRun mode is exited.
The shard controller was building its internal cluster map key from an uninitialized object (before the Get call), so every reconcile wrote to the same empty namespace/name key, corrupting the cluster-to-shard map. Cluster shard tracking now correctly identifies clusters by their actual namespace and name.
Incorrect logic when updating ClusterConfiguration ownerReferences was causing instances to be erroneously deleted. This is now fixed.
Identify why a profile update is blocked: Given a cluster reference, this new tool scans all ClusterProfile and Profile resources and returns those whose update to that cluster is currently pending, together with a structured reason. Two reasons are surfaced: ClusterSuspended (the cluster is paused or outside its active window) and MaxUpdateThrottle (the cluster is
queued behind others under a MaxUpdate limit).
PR: mcp-server #47
Preview changes before they apply: This tool surfaces the simulated changes that DryRun-mode profiles would apply to a given managed cluster. Results are organized across three categories — Helm release changes, resource changes (from policy refs or pull-mode templates), and Kustomize changes — with no-op entries suppressed for clarity. Each result also includes a
hasChanges summary flag.
PR: mcp-server #48
Unnecessary network calls to managed clusters to check or remove ResourceSummary instances are now skipped when the sync mode is not ContinuousWithDriftDetection and no ResourceSummary was ever deployed. This eliminates spurious reconcile failures and 10-second retry loops against unreachable clusters.
PRs: addon-controller #1735, #1750
EventReport, HealthCheckReport, ReloaderReport, and ClassifierReport collection in agentless mode has been optimized across event-manager, healthcheck-manager, and classifier. All reports are now fetched in a single management-cluster query instead of one query per managed cluster. Collection is also skipped entirely for clusters with no matching EventTrigger,
ClusterHealthCheck, or reloader-enabled profile. In environments with more than 50 clusters, up to 5 parallel workers are used to parallelise report processing.
PRs: event-manager #475, healthcheck-manager #398, classifier #465
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →