Releases: siderolabs/omni
v1.7.1
Omni 1.7.1 (2026-04-24)
Welcome to the v1.7.1 release of Omni!
Please try out the release binaries and report any issues at
https://github.com/siderolabs/omni/issues.
Urgent Upgrade Notes (No, really, you MUST read this before you upgrade)
A EULA agreement has been added to Omni which must be accepted in order to continue using it.
This agreement can be accepted through UI or programmatically either by adding the below flags:
--eula-accept-name=Your Name
--eula-accept-email=your@email.comOr if using --config-path with the below configuration:
eulaAccept:
name: Your Name
email: your@email.comContributors
- Artem Chernyshev
Changes
2 commits
Dependency Changes
This release has no dependency changes
Previous release can be found at v1.7.0
v1.7.0
Omni 1.7.0 (2026-04-17)
Welcome to the v1.7.0 release of Omni!
Please try out the release binaries and report any issues at
https://github.com/siderolabs/omni/issues.
Urgent Upgrade Notes (No, really, you MUST read this before you upgrade)
A EULA agreement has been added to Omni which must be accepted in order to continue using it.
This agreement can be accepted through UI or programmatically either by adding the below flags:
--eula-accept-name=Your Name
--eula-accept-email=your@email.comOr if using --config-path with the below configuration:
eulaAccept:
name: Your Name
email: your@email.comAllow Machine Request Destroy
Machine requests are now created without a controller owner, allowing operators and admins to teardown stuck or unwanted requests directly. The controller replaces destroyed requests automatically to maintain the desired machine count.
Browsable Audit Logs in the UI
Audit logs are now browsable directly in the Omni UI, making it easier to review audit events without CLI access.
Human-Readable Config Validation Errors
Configuration validation errors are now presented in a human-readable format, making it easier to diagnose and fix configuration issues.
Move Omni Defaults to JSONSchema
Omni default config values are now defined in the JSONSchema.
Direct Talos Node Access via SideroLink
All Talos nodes can now be accessed directly via their SideroLink endpoint, removing the need to route through the load balancer for Talos API calls. Allowing direct access to worker nodes when control plane nodes are unavailable.
Kubernetes Manifests Sync
Omni now supports syncing Kubernetes manifests directly to managed clusters. Manifests can be defined in cluster templates, allowing declarative management of Kubernetes resources alongside cluster configuration.
omnictl edit Command
A new omnictl edit command has been added, allowing users to edit Omni resources interactively from the CLI.
Allow Using talosctl debug
Update Omni Talos API proxy code to elevate permissions for talosctl debug command.
Workload Proxy Subdomain Options
The workload proxy now supports an empty subdomain configuration and a new useOmniSubdomain option, providing more flexibility in how workload proxy URLs are structured.
Contributors
- Edward Sammut Alessi
- Utku Ozdemir
- Artem Chernyshev
- Oguz Kilcan
- Andrey Smirnov
- Orzelius
- Dmitriy Matrenichev
- Hector Monsalve
- Justin Garrison
Changes
78 commits
5e912b14release(v1.7.0): prepare releasea25c5fdechore: prepare omni with talos v1.13.0-rc77859611chore: bump talos machinery851d0e25chore: bump deps9afdc911fix(frontend): open external eula link in a new tab8933e716release(v1.7.0-beta.1): prepare releasecad37135feat: implement eula guard for omni0d92cc0dfeat: allow force destroying machine requests507becf1feat: toggle info buttons if already openeddb4f1d7dfix: attribute SA audit events to the performing admin0773827cfix(frontend): disable workload proxy checkbox if disabled on instancef5aa0f72fix: always set last error on manifests sync failureba80cf6efix: use resource definition's default namespace in omnictl get131bd3a6feat: allow usingtalosctl debugcf463639feat: move config defaults into the JSON schema53ed351dfix: evict per-machine cache entries before the cluster-wide entry4352f3cbrelease(v1.7.0-beta.0): prepare release9b09e8b0fix: apply --force-context-name on initial kubeconfig creation3251d142fix: batch SQLite cleanup deletes to reduce write lock contentionb6e3280achore: bump go to v1.26.29201358bchore: bump dependencies and rekrese4760526feat: supportomnictl editcommand78bfa12achore: collect metrics on the initialCollectcall to avoid empty data43be52c7chore: bump sqlite metrics collector timeout and interval5db4dbfatest: lock prepared for Omni upgrade cluster, then check pending changes76d0c6a2chore: extract sqlite metrics collector into a separate goroutine68305854chore(frontend): bump yaml to 2.8.3f0dd48f3feat(frontend): place machine labels on new line for cluster scale/created10f1f1cfix: log errors from the metrics endpoint handler5edcef1frefactor(frontend): drop the views/cluster folder65c6b804refactor(frontend): drop the components/common foldercc71b5b5refactor(frontend): drop the views/omni folder0e66352ffix: fix stale writes of MachineRequestStatus in infra provider lib2bb49a95fix(frontend): fix useclusterpermissions not reacting to cluster changes1bbe869bfix: clean up stale identity last active resources on identity removala366efb9fix: add missing cluster relations to resource typesff5d9bebtest: add e2e tests for key expiration6efb0f2ffeat: support Kubernetes manifests in the cluster templates73f3079ffix(frontend): hide machine tutorial card if we have machinesfe7c1bebfix(frontend): fix ui error on cluster all nodes pagee46d9420fix(frontend): prevent invalid auth states in frontendb720fc30fix(frontend): prevent saving unconfirmed keys2a863fcfchore: rewrite cluster workload proxy controller to use manifests7cb5ba3cfeat(frontend): introduce browsable audit logs in the frontend2b39af72refactor(frontend): abort useresource get/list queries on unmountc6f2413dfix: enable Teardown audit logs26798512chore: bump deps, rekres, Talos 1.12.6, Kubernetes 1.35.3- [
44c0d0e2](44c0d0e210e67b5d8afa41d4...
v1.7.0-beta.1
Omni 1.7.0-beta.1 (2026-04-13)
Welcome to the v1.7.0-beta.1 release of Omni!
This is a pre-release of Omni
Please try out the release binaries and report any issues at
https://github.com/siderolabs/omni/issues.
Urgent Upgrade Notes (No, really, you MUST read this before you upgrade)
A EULA agreement has been added to Omni which must be accepted in order to continue using it.
This agreement can be accepted through UI or programmatically either by adding the below flags:
--eula-accept-name=Your Name
--eula-accept-email=your@email.comOr if using --config-path with the below configuration:
eulaAccept:
name: Your Name
email: your@email.comAllow Machine Request Destroy
Machine requests are now created without a controller owner, allowing operators and admins to teardown stuck or unwanted requests directly. The controller replaces destroyed requests automatically to maintain the desired machine count.
Browsable Audit Logs in the UI
Audit logs are now browsable directly in the Omni UI, making it easier to review audit events without CLI access.
Human-Readable Config Validation Errors
Configuration validation errors are now presented in a human-readable format, making it easier to diagnose and fix configuration issues.
Move Omni Defaults to JSONSchema
Omni default config values are now defined in the JSONSchema.
Direct Talos Node Access via SideroLink
All Talos nodes can now be accessed directly via their SideroLink endpoint, removing the need to route through the load balancer for Talos API calls. Allowing direct access to worker nodes when control plane nodes are unavailable.
Kubernetes Manifests Sync
Omni now supports syncing Kubernetes manifests directly to managed clusters. Manifests can be defined in cluster templates, allowing declarative management of Kubernetes resources alongside cluster configuration.
omnictl edit Command
A new omnictl edit command has been added, allowing users to edit Omni resources interactively from the CLI.
Allow Using talosctl debug
Update Omni Talos API proxy code to elevate permissions for talosctl debug command.
Workload Proxy Subdomain Options
The workload proxy now supports an empty subdomain configuration and a new useOmniSubdomain option, providing more flexibility in how workload proxy URLs are structured.
Contributors
- Edward Sammut Alessi
- Utku Ozdemir
- Artem Chernyshev
- Oguz Kilcan
- Andrey Smirnov
- Orzelius
- Dmitriy Matrenichev
- Hector Monsalve
- Justin Garrison
Changes
73 commits
8933e716release(v1.7.0-beta.1): prepare releasecad37135feat: implement eula guard for omni0d92cc0dfeat: allow force destroying machine requests507becf1feat: toggle info buttons if already openeddb4f1d7dfix: attribute SA audit events to the performing admin0773827cfix(frontend): disable workload proxy checkbox if disabled on instancef5aa0f72fix: always set last error on manifests sync failureba80cf6efix: use resource definition's default namespace in omnictl get131bd3a6feat: allow usingtalosctl debugcf463639feat: move config defaults into the JSON schema53ed351dfix: evict per-machine cache entries before the cluster-wide entry4352f3cbrelease(v1.7.0-beta.0): prepare release9b09e8b0fix: apply --force-context-name on initial kubeconfig creation3251d142fix: batch SQLite cleanup deletes to reduce write lock contentionb6e3280achore: bump go to v1.26.29201358bchore: bump dependencies and rekrese4760526feat: supportomnictl editcommand78bfa12achore: collect metrics on the initialCollectcall to avoid empty data43be52c7chore: bump sqlite metrics collector timeout and interval5db4dbfatest: lock prepared for Omni upgrade cluster, then check pending changes76d0c6a2chore: extract sqlite metrics collector into a separate goroutine68305854chore(frontend): bump yaml to 2.8.3f0dd48f3feat(frontend): place machine labels on new line for cluster scale/created10f1f1cfix: log errors from the metrics endpoint handler5edcef1frefactor(frontend): drop the views/cluster folder65c6b804refactor(frontend): drop the components/common foldercc71b5b5refactor(frontend): drop the views/omni folder0e66352ffix: fix stale writes of MachineRequestStatus in infra provider lib2bb49a95fix(frontend): fix useclusterpermissions not reacting to cluster changes1bbe869bfix: clean up stale identity last active resources on identity removala366efb9fix: add missing cluster relations to resource typesff5d9bebtest: add e2e tests for key expiration6efb0f2ffeat: support Kubernetes manifests in the cluster templates73f3079ffix(frontend): hide machine tutorial card if we have machinesfe7c1bebfix(frontend): fix ui error on cluster all nodes pagee46d9420fix(frontend): prevent invalid auth states in frontendb720fc30fix(frontend): prevent saving unconfirmed keys2a863fcfchore: rewrite cluster workload proxy controller to use manifests7cb5ba3cfeat(frontend): introduce browsable audit logs in the frontend2b39af72refactor(frontend): abort useresource get/list queries on unmountc6f2413dfix: enable Teardown audit logs26798512chore: bump deps, rekres, Talos 1.12.6, Kubernetes 1.35.344c0d0e2feat: update omnictl version warning text72dfad7dfeat: update github issue templates53f94596fix(frontend): address login race conditionsada03608feat: add a way to sync Kubernetes manifests in Omnid6f50a7ffix: disable client IP...
v1.7.0-beta.0
Omni 1.7.0-beta.0 (2026-04-09)
Welcome to the v1.7.0-beta.0 release of Omni!
This is a pre-release of Omni
Please try out the release binaries and report any issues at
https://github.com/siderolabs/omni/issues.
Browsable Audit Logs in the UI
Audit logs are now browsable directly in the Omni UI, making it easier to review audit events without CLI access.
Human-Readable Config Validation Errors
Configuration validation errors are now presented in a human-readable format, making it easier to diagnose and fix configuration issues.
Direct Talos Node Access via SideroLink
All Talos nodes can now be accessed directly via their SideroLink endpoint, removing the need to route through the load balancer for Talos API calls. Allowing direct access to worker nodes when control plane nodes are unavailable.
Kubernetes Manifests Sync
Omni now supports syncing Kubernetes manifests directly to managed clusters. Manifests can be defined in cluster templates, allowing declarative management of Kubernetes resources alongside cluster configuration.
omnictl edit Command
A new omnictl edit command has been added, allowing users to edit Omni resources interactively from the CLI.
Workload Proxy Subdomain Options
The workload proxy now supports an empty subdomain configuration and a new useOmniSubdomain option, providing more flexibility in how workload proxy URLs are structured.
Contributors
- Edward Sammut Alessi
- Utku Ozdemir
- Artem Chernyshev
- Oguz Kilcan
- Andrey Smirnov
- Orzelius
- Dmitriy Matrenichev
- Hector Monsalve
Changes
62 commits
4352f3cbrelease(v1.7.0-beta.0): prepare release9b09e8b0fix: apply --force-context-name on initial kubeconfig creation3251d142fix: batch SQLite cleanup deletes to reduce write lock contentionb6e3280achore: bump go to v1.26.29201358bchore: bump dependencies and rekrese4760526feat: supportomnictl editcommand78bfa12achore: collect metrics on the initialCollectcall to avoid empty data43be52c7chore: bump sqlite metrics collector timeout and interval5db4dbfatest: lock prepared for Omni upgrade cluster, then check pending changes76d0c6a2chore: extract sqlite metrics collector into a separate goroutine68305854chore(frontend): bump yaml to 2.8.3f0dd48f3feat(frontend): place machine labels on new line for cluster scale/created10f1f1cfix: log errors from the metrics endpoint handler5edcef1frefactor(frontend): drop the views/cluster folder65c6b804refactor(frontend): drop the components/common foldercc71b5b5refactor(frontend): drop the views/omni folder0e66352ffix: fix stale writes of MachineRequestStatus in infra provider lib2bb49a95fix(frontend): fix useclusterpermissions not reacting to cluster changes1bbe869bfix: clean up stale identity last active resources on identity removala366efb9fix: add missing cluster relations to resource typesff5d9bebtest: add e2e tests for key expiration6efb0f2ffeat: support Kubernetes manifests in the cluster templates73f3079ffix(frontend): hide machine tutorial card if we have machinesfe7c1bebfix(frontend): fix ui error on cluster all nodes pagee46d9420fix(frontend): prevent invalid auth states in frontendb720fc30fix(frontend): prevent saving unconfirmed keys2a863fcfchore: rewrite cluster workload proxy controller to use manifests7cb5ba3cfeat(frontend): introduce browsable audit logs in the frontend2b39af72refactor(frontend): abort useresource get/list queries on unmountc6f2413dfix: enable Teardown audit logs26798512chore: bump deps, rekres, Talos 1.12.6, Kubernetes 1.35.344c0d0e2feat: update omnictl version warning text72dfad7dfeat: update github issue templates53f94596fix(frontend): address login race conditionsada03608feat: add a way to sync Kubernetes manifests in Omnid6f50a7ffix: disable client IP reporting in embedded discovery service3b2f6daafeat(frontend): refactor watch to allow watch singletons outside of components027ff314fix(frontend): respect embedded discovery checkbox in cluster createb9cabbd9feat: add deprecation notification for non-ImageFactory machines21a08702chore(frontend): bump monaco-editor to 0.55.17699f5e7chore(frontend): bump frontend deps5b29817ffix: restore resolved node address fallback56b6a90ffeat: make config validation errors human-readable9052ebc2fix: allow Talos API read and copy methodscfb18f36chore: rewrite machine status link as qcontrollerc7f60c0cfeat: access all Talos nodes directly via their SideroLink endpoint311f75cefeat(frontend): remove cookie consent banner2977f053feat: allow empty subdomain for workload proxyd5862a27fix(frontend): prevent flashing no access during logine85ab384fix: correct SQLite size metrics to include indexes and freelist621d3f44fix: fix panics in diff algorithms90d73211fix: use dynamic SQLite pool1fc2e01ffix: track load balancer port allocations in-memory- [
e35ff83f](e35ff83...
v1.6.5
Omni 1.6.5 (2026-04-09)
Welcome to the v1.6.5 release of Omni!
Please try out the release binaries and report any issues at
https://github.com/siderolabs/omni/issues.
Urgent Upgrade Notes (No, really, you MUST read this before you upgrade)
The deprecated flags and config fields that were kept for the SQLite migration period (introduced in v1.4.0) have been removed.
If you still have any of the following flags or config keys set, you must remove them before upgrading, as they will cause startup errors:
--audit-log-dir(.logs.audit.path)--secondary-storage-path(.storage.secondary.path)--machine-log-storage-path(.logs.machine.storage.path)--machine-log-storage-enabled(.logs.machine.storage.enabled)--log-storage-path(.logs.machine.storage.path)--embedded-discovery-service-snapshot-path(.services.embeddedDiscoveryService.snapshotsPath)--machine-log-buffer-capacity(.logs.machine.bufferInitialCapacity)--machine-log-buffer-max-capacity(.logs.machine.bufferMaxCapacity)--machine-log-buffer-safe-gap(.logs.machine.bufferSafetyGap)--machine-log-num-compressed-chunks(.logs.machine.storage.numCompressedChunks)
The automatic migration code for BoltDB secondary storage, file-based audit logs, file-based discovery service snapshots, and circular buffer machine logs has also been removed. If you are upgrading from a version older than v1.4.0, you must first upgrade to v1.4.x to complete the migrations, then upgrade to this version.
Contributors
- Andrey Smirnov
- Utku Ozdemir
- Oguz Kilcan
- Orzelius
- Artem Chernyshev
- Dmitriy Matrenichev
- Hector Monsalve
Changes
4 commits
Changes from siderolabs/crypto
Changes from siderolabs/discovery-service
4 commits
Changes from siderolabs/go-kubernetes
5 commits
Changes from siderolabs/go-talos-support
2 commits
Changes from siderolabs/grpc-proxy
3 commits
Changes from siderolabs/proto-codec
Changes from siderolabs/siderolink
Dependency Changes
- github.com/ProtonMail/gopenpgp/v2 v2.9.0 -> v2.10.0
- github.com/aws/aws-sdk-go-v2 v1.41.3 -> v1.41.5
- github.com/aws/aws-sdk-go-v2/config v1.32.11 -> v1.32.14
- github.com/aws/aws-sdk-go-v2/credentials v1.19.11 -> v1.19.14
- github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.22.6 -> v1.22.12
- github.com/aws/aws-sdk-go-v2/service/s3 v1.96.4 -> v1.98.0
- github.com/aws/smithy-go v1.24.2 -> v1.24.3
- github.com/cosi-project/runtime v1.14.0 -> v1.14.1
- github.com/go-jose/go-jose/v4 v4.1.3 -> v4.1.4
- github.com/google/go-containerregistry v0.21.2 -> v0.21.4
- github.com/hashicorp/vault/api v1.22.0 -> v1.23.0
- github.com/hashicorp/vault/api/auth/kubernetes v0.10.0 -> v0.12.0
- github.com/siderolabs/crypto v0.6.4 -> v0.6.5
- github.com/siderolabs/discovery-service v1.0.15 -> v1.0.17
- github.com/siderolabs/go-kubernetes 8364adde8878 -> v0.2.36
- github.com/siderolabs/go-talos-support v0.1.4 -> v0.2.0
- github.com/siderolabs/grpc-proxy v0.5.1 -> v0.5.2
- github.com/siderolabs/omni/client v1.5.9 -> v1.6.1
- github.com/siderolabs/proto-codec v0.1.3 -> v0.1.4
- github.com/siderolabs/siderolink v0.3.15 -> v0.3.16
- github.com/siderolabs/talos/pkg/machinery cc636f1dd1f1 -> v1.13.0-beta.1
- github.com/zitadel/oidc/v3 v3.45.5 -> v3.46.0
- go.etcd.io/etcd/client/pkg/v3 v3.6.8 -> v3.6.10
- go.etcd.io/etcd/client/v3 v3.6.8 -> v3.6.10
- go.etcd.io/etcd/server/v3 v3.6.8 -> v3.6.10
- golang.org/x/tools v0.42.0 -> v0.43.0
- k8s.io/api v0.35.2 -> v0.35.3
- k8s.io/client-go v0.35.2 -> v0.35.3
Previous release can be found at v1.6.4
v1.6.4
Omni 1.6.4 (2026-04-02)
Welcome to the v1.6.4 release of Omni!
Please try out the release binaries and report any issues at
https://github.com/siderolabs/omni/issues.
Urgent Upgrade Notes (No, really, you MUST read this before you upgrade)
The deprecated flags and config fields that were kept for the SQLite migration period (introduced in v1.4.0) have been removed.
If you still have any of the following flags or config keys set, you must remove them before upgrading, as they will cause startup errors:
--audit-log-dir(.logs.audit.path)--secondary-storage-path(.storage.secondary.path)--machine-log-storage-path(.logs.machine.storage.path)--machine-log-storage-enabled(.logs.machine.storage.enabled)--log-storage-path(.logs.machine.storage.path)--embedded-discovery-service-snapshot-path(.services.embeddedDiscoveryService.snapshotsPath)--machine-log-buffer-capacity(.logs.machine.bufferInitialCapacity)--machine-log-buffer-max-capacity(.logs.machine.bufferMaxCapacity)--machine-log-buffer-safe-gap(.logs.machine.bufferSafetyGap)--machine-log-num-compressed-chunks(.logs.machine.storage.numCompressedChunks)
The automatic migration code for BoltDB secondary storage, file-based audit logs, file-based discovery service snapshots, and circular buffer machine logs has also been removed. If you are upgrading from a version older than v1.4.0, you must first upgrade to v1.4.x to complete the migrations, then upgrade to this version.
Contributors
- Artem Chernyshev
Changes
2 commits
Dependency Changes
This release has no dependency changes
Previous release can be found at v1.6.3
v1.6.3
Omni 1.6.3 (2026-04-01)
Welcome to the v1.6.3 release of Omni!
Please try out the release binaries and report any issues at
https://github.com/siderolabs/omni/issues.
Urgent Upgrade Notes (No, really, you MUST read this before you upgrade)
The deprecated flags and config fields that were kept for the SQLite migration period (introduced in v1.4.0) have been removed.
If you still have any of the following flags or config keys set, you must remove them before upgrading, as they will cause startup errors:
--audit-log-dir(.logs.audit.path)--secondary-storage-path(.storage.secondary.path)--machine-log-storage-path(.logs.machine.storage.path)--machine-log-storage-enabled(.logs.machine.storage.enabled)--log-storage-path(.logs.machine.storage.path)--embedded-discovery-service-snapshot-path(.services.embeddedDiscoveryService.snapshotsPath)--machine-log-buffer-capacity(.logs.machine.bufferInitialCapacity)--machine-log-buffer-max-capacity(.logs.machine.bufferMaxCapacity)--machine-log-buffer-safe-gap(.logs.machine.bufferSafetyGap)--machine-log-num-compressed-chunks(.logs.machine.storage.numCompressedChunks)
The automatic migration code for BoltDB secondary storage, file-based audit logs, file-based discovery service snapshots, and circular buffer machine logs has also been removed. If you are upgrading from a version older than v1.4.0, you must first upgrade to v1.4.x to complete the migrations, then upgrade to this version.
Contributors
- Artem Chernyshev
Changes
3 commits
Dependency Changes
- golang.org/x/crypto v0.48.0 -> v0.49.0
- golang.org/x/net v0.51.0 -> v0.52.0
- golang.org/x/text v0.34.0 -> v0.35.0
- google.golang.org/grpc v1.79.2 -> v1.80.0
Previous release can be found at v1.6.2
v1.6.2
Omni 1.6.2 (2026-03-25)
Welcome to the v1.6.2 release of Omni!
Please try out the release binaries and report any issues at
https://github.com/siderolabs/omni/issues.
Urgent Upgrade Notes (No, really, you MUST read this before you upgrade)
The deprecated flags and config fields that were kept for the SQLite migration period (introduced in v1.4.0) have been removed.
If you still have any of the following flags or config keys set, you must remove them before upgrading, as they will cause startup errors:
--audit-log-dir(.logs.audit.path)--secondary-storage-path(.storage.secondary.path)--machine-log-storage-path(.logs.machine.storage.path)--machine-log-storage-enabled(.logs.machine.storage.enabled)--log-storage-path(.logs.machine.storage.path)--embedded-discovery-service-snapshot-path(.services.embeddedDiscoveryService.snapshotsPath)--machine-log-buffer-capacity(.logs.machine.bufferInitialCapacity)--machine-log-buffer-max-capacity(.logs.machine.bufferMaxCapacity)--machine-log-buffer-safe-gap(.logs.machine.bufferSafetyGap)--machine-log-num-compressed-chunks(.logs.machine.storage.numCompressedChunks)
The automatic migration code for BoltDB secondary storage, file-based audit logs, file-based discovery service snapshots, and circular buffer machine logs has also been removed. If you are upgrading from a version older than v1.4.0, you must first upgrade to v1.4.x to complete the migrations, then upgrade to this version.
Contributors
- Edward Sammut Alessi
Changes
2 commits
Dependency Changes
This release has no dependency changes
Previous release can be found at v1.6.1
v1.6.1
Omni 1.6.1 (2026-03-19)
Welcome to the v1.6.1 release of Omni!
Please try out the release binaries and report any issues at
https://github.com/siderolabs/omni/issues.
Urgent Upgrade Notes (No, really, you MUST read this before you upgrade)
The deprecated flags and config fields that were kept for the SQLite migration period (introduced in v1.4.0) have been removed.
If you still have any of the following flags or config keys set, you must remove them before upgrading, as they will cause startup errors:
--audit-log-dir(.logs.audit.path)--secondary-storage-path(.storage.secondary.path)--machine-log-storage-path(.logs.machine.storage.path)--machine-log-storage-enabled(.logs.machine.storage.enabled)--log-storage-path(.logs.machine.storage.path)--embedded-discovery-service-snapshot-path(.services.embeddedDiscoveryService.snapshotsPath)--machine-log-buffer-capacity(.logs.machine.bufferInitialCapacity)--machine-log-buffer-max-capacity(.logs.machine.bufferMaxCapacity)--machine-log-buffer-safe-gap(.logs.machine.bufferSafetyGap)--machine-log-num-compressed-chunks(.logs.machine.storage.numCompressedChunks)
The automatic migration code for BoltDB secondary storage, file-based audit logs, file-based discovery service snapshots, and circular buffer machine logs has also been removed. If you are upgrading from a version older than v1.4.0, you must first upgrade to v1.4.x to complete the migrations, then upgrade to this version.
Contributors
- Oguz Kilcan
- Andrey Smirnov
- Artem Chernyshev
- Utku Ozdemir
Changes
8 commits
44562c97release(v1.6.1): prepare release1b7fa208fix: correct SQLite size metrics to include indexes and freelist0b1e9ea0fix: fix panics in diff algorithmsd7ec007bfix: use dynamic SQLite pool3c6dd0eefix: track load balancer port allocations in-memorye2248065fix: load balancer health status diff and stopped status race079e28c7chore: export the SQLite memory allocator statse7dfbc9cfix: add omnictl backward compatibility with older Omni servers
Dependency Changes
- github.com/cosi-project/state-sqlite v0.3.0 -> v0.4.0
Previous release can be found at v1.6.0
v1.6.0
Omni 1.6.0 (2026-03-16)
Welcome to the v1.6.0 release of Omni!
Please try out the release binaries and report any issues at
https://github.com/siderolabs/omni/issues.
Urgent Upgrade Notes (No, really, you MUST read this before you upgrade)
The deprecated flags and config fields that were kept for the SQLite migration period (introduced in v1.4.0) have been removed.
If you still have any of the following flags or config keys set, you must remove them before upgrading, as they will cause startup errors:
--audit-log-dir(.logs.audit.path)--secondary-storage-path(.storage.secondary.path)--machine-log-storage-path(.logs.machine.storage.path)--machine-log-storage-enabled(.logs.machine.storage.enabled)--log-storage-path(.logs.machine.storage.path)--embedded-discovery-service-snapshot-path(.services.embeddedDiscoveryService.snapshotsPath)--machine-log-buffer-capacity(.logs.machine.bufferInitialCapacity)--machine-log-buffer-max-capacity(.logs.machine.bufferMaxCapacity)--machine-log-buffer-safe-gap(.logs.machine.bufferSafetyGap)--machine-log-num-compressed-chunks(.logs.machine.storage.numCompressedChunks)
The automatic migration code for BoltDB secondary storage, file-based audit logs, file-based discovery service snapshots, and circular buffer machine logs has also been removed. If you are upgrading from a version older than v1.4.0, you must first upgrade to v1.4.x to complete the migrations, then upgrade to this version.
Talos and Kubernetes CA Rotation
Omni now supports rotating the Talos and Kubernetes Certificate Authorities for managed clusters.
Talos and Kubernetes Versions in ClusterStatus
The ClusterStatus resource now includes talos_version and kubernetes_version fields, making cluster version information available programmatically. They are now also shown in the cluster list in the UI.
Pending and Historical Config Diffs in UI
The UI now shows pending and historical configuration diffs, making it easy to review what changed and when.
Force Machine Destroy
A --force flag has been added to the machine destroy command (and a corresponding UI option) to forcibly remove machines that are stuck or unresponsive.
Helm Chart v2
A new Helm chart v2 has been implemented with improved structure and more configurable options.
More configuration values are now exposed in the Helm chart, giving operators greater flexibility when deploying Omni.
Installation Media Wizard
The installation media flow now uses a wizard-based UI by default, replacing the previous modal dialog. Presets may now also be saved, allowing for future reuse.
Machine Log Storage Cleanup
Global size-based cleanup has been added for machine log storage, preventing unbounded disk usage.
Configurable options for audit log cleanup have also been added.
Minimum Talos Version Bump
The minimum supported Talos version for new clusters has been bumped to 1.8.
Minor UI Improvements
Other minor UI improvements part of this release:
- Talos and Kubernetes versions are now shown in the cluster list.
- Node name and UUID are shown in the support bundle modal.
- Machine set pools now have a collapse/expand toggle.
- Cluster scaling has been moved to a modal dialog.
- Getting started guidance and empty-state pages have been added for clusters, machines, and machine classes.
- Instructions for adding machines and exporting cluster templates are now shown in the UI.
- Clarification text has been added to backup settings.
- YouTube video embedding is now supported in documentation/onboarding flows.
- The frontend authentication flow no longer requires an explicit login click.
- Resource labels use new colors for improved visual clarity.
Detailed Node Disk Information
The node details page now shows detailed disk information, including disk model, size, and type.
PCI Devices on Node Details
The node details page now includes a dedicated section listing all PCI devices present on the node.
Reset Node Unique Tokens
It is now possible to reset the unique token for a node, which can be useful for re-enrolling machines.
OIDC Token Cache Isolation for Kubeconfigs
Generated kubeconfigs now use isolated OIDC token caches, preventing token collisions between different kubeconfig users.
Pending Machines
Machines that were previously rejected can now be unrejected from the UI, allowing them to be accepted into Omni.
Rejected machines can also now be deleted directly from the UI.
SAML Logout Flow
Omni now implements the SAML logout flow, properly terminating sessions with the SAML identity provider on sign-out.
SQLite Metrics and Cleanup Counters
Metrics for the SQLite state backend have been exposed, along with cleanup counters for better observability.
Upgrade Parallelism
The upgrade parallelism for machine sets can now be configured via cluster templates and the UI, allowing operators to control how many machines are upgraded concurrently.
User and Service Account Activity Tracking
Omni now tracks the last activity time for users and service accounts, providing better visibility into account usage.
User Management gRPC Endpoints
New ManagementService gRPC endpoints have been added for user operations, enabling programmatic user management.
Configurable User and Service Account Limits
Operators can now enforce configurable limits on the number of users and service accounts that can be created in Omni.
Custom Vault Kubernetes Auth Mount Path
The Vault Kubernetes authentication mount path is now configurable, supporting non-default Vault configurations.
Contributors
- Edward Sammut Alessi
- Andrey Smirnov
- Utku Ozdemir
- Oguz Kilcan
- Artem Chernyshev
- Kevin Tijssen
- Noel Georgi
- Orzelius
- Mateusz Urbanek
- Pranav Patil
- Tim Jones
- Daddie0
- Daniil Kivenko
- Dmitrii Sharshakov
- Justin Garrison
- Steve Francis
- greenpsi
Changes
160 commits
69873dc8release(v1.6.0): prepare releasecf7d7524feat: enforce configurable machine registration limit711782b0feat: warn about non-factory machines on extensions and kernel argsdcf25297docs: fix cluster create command in development docsbe6862acfix(frontend): cater for cmd/ctrl click on cluster/machine links7d902897fix: properly update infra provider connection statuscf7be162release(v1.6.0-beta.3): prepare release6d52a697feat: add hsts header for omni frontend385c512dtest: fixConfigPatchingtest72cb85a4feat: add configurable bandwidth rate limiting for SideroLink tunnel49795f0cfeat(frontend): display appropriate message for talos apis when booting3a19194ffix: add missing timeout to the backup download calls in secrets ctrl017b0398fix(frontend): fix cluster details layout for ultrawide and mobilefebba94dtest: fix flaky link cleanup test118a2c7cchore(frontend): expose error codes on watches28e85107fix: calculate diff history and machine config out of applied config7a153579chore: remove go-jsonschema fork, use upstream v0.22.01e9b733cchore: bump deps, rekres31e13e9efix: do not release lock on apply config fails91ec5eedfix(frontend): prevent -1 stats on home page- [
cf8f58e6](cf8f58e...