Releases: siderolabs/omni
v1.5.4
Omni 1.5.4 (2026-02-18)
Welcome to the v1.5.4 release of Omni!
Please try out the release binaries and report any issues at
https://github.com/siderolabs/omni/issues.
Contributors
- Utku Ozdemir
Changes
2 commits
Dependency Changes
This release has no dependency changes
Previous release can be found at v1.5.3
v1.4.10
Omni 1.4.10 (2026-02-18)
Welcome to the v1.4.10 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)
This release consolidates Discovery service state, Audit logs, Machine logs, and Secondary resources into a single SQLite storage backend.
1. New Required Flag
You must set the new --sqlite-storage-path (or .storage.sqlite.path) flag. There is no default value, and Omni will not start without it.
It must be a path to the SQLite file (will be created by Omni), not a directory, e.g., --sqlite-storage-path=/path/to/omni-sqlite.db.
2. Audit Logging Changes
A new flag --audit-log-enabled (or .logs.audit.enabled) has been introduced to explicitly enable or disable audit logging.
- Default:
true. - Change: Previously, audit logging was implicitly enabled only when the path was set. Now, it is enabled by default.
3. Automatic Migration
Omni will automatically migrate your existing data (BoltDB, file-based logs) to the new SQLite database on the first startup. To ensure this happens correctly, simply add the new SQLite flag and leave your existing storage flags in place for the first run.
Once the migration is complete, you are free to remove the deprecated flags listed below. If they remain, they will be ignored and eventually dropped in future versions.
4. Deprecated Flags (Kept for Migration)
The following flags (and config keys) are deprecated and kept solely to facilitate the automatic migration:
--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)--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)
5. Removed Flags
The following flags have been removed and are no longer supported:
--machine-log-storage-flush-period(.logs.machine.storage.flushPeriod)--machine-log-storage-flush-jitter(.logs.machine.storage.flushJitter)
Contributors
- Utku Ozdemir
Changes
2 commits
Dependency Changes
This release has no dependency changes
Previous release can be found at v1.4.9
v1.5.3
Omni 1.5.3 (2026-02-17)
Welcome to the v1.5.3 release of Omni!
Please try out the release binaries and report any issues at
https://github.com/siderolabs/omni/issues.
Contributors
- Utku Ozdemir
- Artem Chernyshev
Changes
3 commits
Dependency Changes
This release has no dependency changes
Previous release can be found at v1.5.2
v1.5.2
Omni 1.5.2 (2026-02-12)
Welcome to the v1.5.2 release of Omni!
Please try out the release binaries and report any issues at
https://github.com/siderolabs/omni/issues.
Contributors
- Artem Chernyshev
- Utku Ozdemir
Changes
2 commits
Dependency Changes
This release has no dependency changes
Previous release can be found at v1.5.1
v1.5.1
Omni 1.5.1 (2026-02-11)
Welcome to the v1.5.1 release of Omni!
Please try out the release binaries and report any issues at
https://github.com/siderolabs/omni/issues.
Contributors
- Artem Chernyshev
Changes
3 commits
Dependency Changes
This release has no dependency changes
Previous release can be found at v1.5.0
v1.4.9
Omni 1.4.9 (2026-02-06)
Welcome to the v1.4.9 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)
This release consolidates Discovery service state, Audit logs, Machine logs, and Secondary resources into a single SQLite storage backend.
1. New Required Flag
You must set the new --sqlite-storage-path (or .storage.sqlite.path) flag. There is no default value, and Omni will not start without it.
It must be a path to the SQLite file (will be created by Omni), not a directory, e.g., --sqlite-storage-path=/path/to/omni-sqlite.db.
2. Audit Logging Changes
A new flag --audit-log-enabled (or .logs.audit.enabled) has been introduced to explicitly enable or disable audit logging.
- Default:
true. - Change: Previously, audit logging was implicitly enabled only when the path was set. Now, it is enabled by default.
3. Automatic Migration
Omni will automatically migrate your existing data (BoltDB, file-based logs) to the new SQLite database on the first startup. To ensure this happens correctly, simply add the new SQLite flag and leave your existing storage flags in place for the first run.
Once the migration is complete, you are free to remove the deprecated flags listed below. If they remain, they will be ignored and eventually dropped in future versions.
4. Deprecated Flags (Kept for Migration)
The following flags (and config keys) are deprecated and kept solely to facilitate the automatic migration:
--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)--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)
5. Removed Flags
The following flags have been removed and are no longer supported:
--machine-log-storage-flush-period(.logs.machine.storage.flushPeriod)--machine-log-storage-flush-jitter(.logs.machine.storage.flushJitter)
Contributors
- Edward Sammut Alessi
- Utku Ozdemir
Changes
2 commits
Dependency Changes
This release has no dependency changes
Previous release can be found at v1.4.8
v1.5.0
Omni 1.5.0 (2026-02-05)
Welcome to the v1.5.0 release of Omni!
Please try out the release binaries and report any issues at
https://github.com/siderolabs/omni/issues.
Better Audit Logging
Omni now collects audit logs for operations performed on all user-managed resources, improving security and traceability.
Config Generation
Omni can now generate its own configuration directly from the defined schema.
The config merge algorithms were also improved: now the config preserves the default values properly when some sections are
overwritten by the user provided config.
Etcd Maintenance
The following etcd commands are now usable with Omni managed clusters:
talosctl etcd downgrade validate
talosctl etcd downgrade enable
talosctl etcd downgrade cancel
talosctl etcd forfeit leadership
gRPC Tunnel Management
Added the ability to switch gRPC tunnel modes for connected machines.
Join Token Management
Added a dedicated omnictl jointoken omni-endpoint to streamline node registration.
Kernel Args CLI Tools
Added support for managing kernel arguments directly within cluster templates.
Schema-Aware Code Editor
The built-in code editor for the machine configs now supports different configuration schemas for each Talos version.
So the config will be always validated against the currently running Talos version schema.
omnictl Directory Support
The omnictl sync/apply can now process directories, simplifying bulk resource applications.
WireGuard Bind Address
The WireGuard endpoint (services.siderolink.wireGuard.endpoint / --siderolink-wireguard-bind-addr) is now respected. Previously, Omni always bound to all interfaces regardless of this setting. Default remains 0.0.0.0:50180.
Contributors
- Edward Sammut Alessi
- Utku Ozdemir
- Andrey Smirnov
- Oguz Kilcan
- Artem Chernyshev
- Noel Georgi
- Pranav Patil
- Orzelius
- Laura Brehm
- Aleksandr Gamzin
- Brant Gurganus
- Justin Garrison
- Mateusz Urbanek
- Spencer Smith
- Utku Ozdemir
Changes
125 commits
c27f8d39release(v1.5.0): prepare release277c946bfix: prevent unwanted upgrades of non-image-factory machines (backport)9b05243cfix: pause cluster machine watches until expanded6a37b31afix: check config generation errors before computing redacted configs515701afrelease(v1.5.0-beta.2): prepare release2aabc02achore: rekres3a7c9278chore: rekres to disable helm doc generation stepc241820efix: apply AccessPolicy rules on gRPC proxy for Talos backend587356b3fix: stop generating node unique token inNodeUniqueTokenStatus85ff13f9feat(installation-media): add step validation to installation media wizard0b33cf8efeat(installation-media): select defaults for each form step8f1eb588refactor(frontend): extract route.name into a computed ref0d5d7da6feat: allow multiple --config-path flags for config merging056d5e4efix: bind wireguard to configured address instead of all interfaces7376edaffix(installation-media): fix bug when setting arch to amd64c3c483d7fix(installation-media): clarify bootloader section9bcd356cfix: don't submit empty machine labels to create schematic46de2c3achore: enable no-explicit-any in frontend and fix errorsd20fd8f0chore: rekres and generate-frontendbc7725f7feat(installation-media): implement edit preset functionality77a32346refactor(installation-media): move form state to its own composablefe713e94release(v1.5.0-beta.1): prepare release49788342test: fix failing workload proxy testsa5795c2ffeat: add config descriptions in schema, use them in flags883fadfefeat(installation-media): add review page for installation mediadb1b969brefactor(frontend): refactor config patch editd12c92c0feat(installation-media): allow skipping/jumping between steps993097aefix: fix tmenuitem to not lose reactivity from props98ef83eefix: fix config patches encryption when encryption is disabledaafc74f9chore: update packagesc87c952erefactor(frontend): rekres and use request error from fetch.pb.ts0f8a3d6ctest(e2e): add an e2e test for exposed services680c7948chore: enable noImplicitAny for typescriptfd82327crelease(v1.5.0-beta.0): prepare release587bffe8fix: fix regressions on service api url generation28a2b87dfeat: create sequential stage controller5cfa4ccbfix(frontend): fix loading of machine config6a256ac6fix: open OIDC plugin link in a new tab8b39d5f1refactor(frontend): refactor patches watchesca61be7echore: remove unused vite-plugin-node-polyfills50901c1achore: bump lodash91c8bff4feat: generate omni config from schema6c220683refactor(frontend): refactor nodeoverview watches698dd146fix: always show features section in cluster overviewd8df9c11test: wait for 1 minute for cluster to be destroyedd3ae77c0chore: bump copyright to 20263804184dfix(frontend): keep correct auth flow for cli/workload21a89ae7docs: update CONTRIBUTING.md2e90fad3feat: add ominctl jointoken omni-endpoint7919ba7efeat(frontend): constrain machine label widthb9a049a3feat(frontend): close tooltips even if hovered onb1233347...
v1.4.8
Omni 1.4.8 (2026-02-04)
Welcome to the v1.4.8 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)
This release consolidates Discovery service state, Audit logs, Machine logs, and Secondary resources into a single SQLite storage backend.
1. New Required Flag
You must set the new --sqlite-storage-path (or .storage.sqlite.path) flag. There is no default value, and Omni will not start without it.
It must be a path to the SQLite file (will be created by Omni), not a directory, e.g., --sqlite-storage-path=/path/to/omni-sqlite.db.
2. Audit Logging Changes
A new flag --audit-log-enabled (or .logs.audit.enabled) has been introduced to explicitly enable or disable audit logging.
- Default:
true. - Change: Previously, audit logging was implicitly enabled only when the path was set. Now, it is enabled by default.
3. Automatic Migration
Omni will automatically migrate your existing data (BoltDB, file-based logs) to the new SQLite database on the first startup. To ensure this happens correctly, simply add the new SQLite flag and leave your existing storage flags in place for the first run.
Once the migration is complete, you are free to remove the deprecated flags listed below. If they remain, they will be ignored and eventually dropped in future versions.
4. Deprecated Flags (Kept for Migration)
The following flags (and config keys) are deprecated and kept solely to facilitate the automatic migration:
--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)--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)
5. Removed Flags
The following flags have been removed and are no longer supported:
--machine-log-storage-flush-period(.logs.machine.storage.flushPeriod)--machine-log-storage-flush-jitter(.logs.machine.storage.flushJitter)
Contributors
- Edward Sammut Alessi
- Artem Chernyshev
- Oguz Kilcan
- Utku Ozdemir
- Utku Ozdemir
Changes
7 commits
93e71058release(v1.4.8): prepare releasedf8b9462fix: open OIDC plugin link in a new tab26e6d991fix(frontend): keep correct auth flow for cli/workload3959a0f1fix: apply AccessPolicy rules on gRPC proxy for Talos backend1a11c1d0feat: clean up orphaned machine logs from sqlitedd635009fix: pause cluster machine watches until expanded450a7fe5fix: stop generating node unique token inNodeUniqueTokenStatus
Dependency Changes
This release has no dependency changes
Previous release can be found at v1.4.7
v1.5.0-beta.2
Omni 1.5.0-beta.2 (2026-01-30)
Welcome to the v1.5.0-beta.2 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.
Better Audit Logging
Omni now collects audit logs for operations performed on all user-managed resources, improving security and traceability.
Config Generation
Omni can now generate its own configuration directly from the defined schema.
The config merge algorithms were also improved: now the config preserves the default values properly when some sections are
overwritten by the user provided config.
Etcd Maintenance
The following etcd commands are now usable with Omni managed clusters:
talosctl etcd downgrade validate
talosctl etcd downgrade enable
talosctl etcd downgrade cancel
talosctl etcd forfeit leadership
gRPC Tunnel Management
Added the ability to switch gRPC tunnel modes for connected machines.
Join Token Management
Added a dedicated omnictl jointoken omni-endpoint to streamline node registration.
Kernel Args CLI Tools
Added support for managing kernel arguments directly within cluster templates.
Schema-Aware Code Editor
The built-in code editor for the machine configs now supports different configuration schemas for each Talos version.
So the config will be always validated against the currently running Talos version schema.
omnictl Directory Support
The omnictl sync/apply can now process directories, simplifying bulk resource applications.
WireGuard Bind Address
The WireGuard endpoint (services.siderolink.wireGuard.endpoint / --siderolink-wireguard-bind-addr) is now respected. Previously, Omni always bound to all interfaces regardless of this setting. Default remains 0.0.0.0:50180.
Contributors
- Edward Sammut Alessi
- Utku Ozdemir
- Andrey Smirnov
- Oguz Kilcan
- Artem Chernyshev
- Noel Georgi
- Pranav Patil
- Orzelius
- Laura Brehm
- Aleksandr Gamzin
- Brant Gurganus
- Justin Garrison
- Mateusz Urbanek
- Spencer Smith
- Utku Ozdemir
Changes
121 commits
515701afrelease(v1.5.0-beta.2): prepare release2aabc02achore: rekres3a7c9278chore: rekres to disable helm doc generation stepc241820efix: apply AccessPolicy rules on gRPC proxy for Talos backend587356b3fix: stop generating node unique token inNodeUniqueTokenStatus85ff13f9feat(installation-media): add step validation to installation media wizard0b33cf8efeat(installation-media): select defaults for each form step8f1eb588refactor(frontend): extract route.name into a computed ref0d5d7da6feat: allow multiple --config-path flags for config merging056d5e4efix: bind wireguard to configured address instead of all interfaces7376edaffix(installation-media): fix bug when setting arch to amd64c3c483d7fix(installation-media): clarify bootloader section9bcd356cfix: don't submit empty machine labels to create schematic46de2c3achore: enable no-explicit-any in frontend and fix errorsd20fd8f0chore: rekres and generate-frontendbc7725f7feat(installation-media): implement edit preset functionality77a32346refactor(installation-media): move form state to its own composablefe713e94release(v1.5.0-beta.1): prepare release49788342test: fix failing workload proxy testsa5795c2ffeat: add config descriptions in schema, use them in flags883fadfefeat(installation-media): add review page for installation mediadb1b969brefactor(frontend): refactor config patch editd12c92c0feat(installation-media): allow skipping/jumping between steps993097aefix: fix tmenuitem to not lose reactivity from props98ef83eefix: fix config patches encryption when encryption is disabledaafc74f9chore: update packagesc87c952erefactor(frontend): rekres and use request error from fetch.pb.ts0f8a3d6ctest(e2e): add an e2e test for exposed services680c7948chore: enable noImplicitAny for typescriptfd82327crelease(v1.5.0-beta.0): prepare release587bffe8fix: fix regressions on service api url generation28a2b87dfeat: create sequential stage controller5cfa4ccbfix(frontend): fix loading of machine config6a256ac6fix: open OIDC plugin link in a new tab8b39d5f1refactor(frontend): refactor patches watchesca61be7echore: remove unused vite-plugin-node-polyfills50901c1achore: bump lodash91c8bff4feat: generate omni config from schema6c220683refactor(frontend): refactor nodeoverview watches698dd146fix: always show features section in cluster overviewd8df9c11test: wait for 1 minute for cluster to be destroyedd3ae77c0chore: bump copyright to 20263804184dfix(frontend): keep correct auth flow for cli/workload21a89ae7docs: update CONTRIBUTING.md2e90fad3feat: add ominctl jointoken omni-endpoint7919ba7efeat(frontend): constrain machine label widthb9a049a3feat(frontend): close tooltips even if hovered onb1233347chore: add environment to chromatic.yml9783f4c5feat(installation-media): change installation media wizard to be route based41506f72chore: move graceful config rollout logic to the lowest controller level8e4c6e86test: regression test for machine class scaling- [
b3e430bd](https://github...
v1.5.0-beta.1
Omni 1.5.0-beta.1 (2026-01-28)
Welcome to the v1.5.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.
Better Audit Logging
Omni now collects audit logs for operations performed on all user-managed resources, improving security and traceability.
Config Generation
Omni can now generate its own configuration directly from the defined schema.
The config merge algorithms were also improved: now the config preserves the default values properly when some sections are
overwritten by the user provided config.
Etcd Maintenance
The following etcd commands are now usable with Omni managed clusters:
talosctl etcd downgrade validate
talosctl etcd downgrade enable
talosctl etcd downgrade cancel
talosctl etcd forfeit leadership
gRPC Tunnel Management
Added the ability to switch gRPC tunnel modes for connected machines.
Join Token Management
Added a dedicated omnictl jointoken omni-endpoint to streamline node registration.
Kernel Args CLI Tools
Added support for managing kernel arguments directly within cluster templates.
Schema-Aware Code Editor
The built-in code editor for the machine configs now supports different configuration schemas for each Talos version.
So the config will be always validated against the currently running Talos version schema.
omnictl Directory Support
The omnictl sync/apply can now process directories, simplifying bulk resource applications.
Contributors
- Edward Sammut Alessi
- Utku Ozdemir
- Andrey Smirnov
- Oguz Kilcan
- Noel Georgi
- Artem Chernyshev
- Pranav Patil
- Orzelius
- Laura Brehm
- Aleksandr Gamzin
- Brant Gurganus
- Justin Garrison
- Mateusz Urbanek
- Spencer Smith
- Utku Ozdemir
Changes
104 commits
fe713e94release(v1.5.0-beta.1): prepare release49788342test: fix failing workload proxy testsa5795c2ffeat: add config descriptions in schema, use them in flags883fadfefeat(installation-media): add review page for installation mediadb1b969brefactor(frontend): refactor config patch editd12c92c0feat(installation-media): allow skipping/jumping between steps993097aefix: fix tmenuitem to not lose reactivity from props98ef83eefix: fix config patches encryption when encryption is disabledaafc74f9chore: update packagesc87c952erefactor(frontend): rekres and use request error from fetch.pb.ts0f8a3d6ctest(e2e): add an e2e test for exposed services680c7948chore: enable noImplicitAny for typescriptfd82327crelease(v1.5.0-beta.0): prepare release587bffe8fix: fix regressions on service api url generation28a2b87dfeat: create sequential stage controller5cfa4ccbfix(frontend): fix loading of machine config6a256ac6fix: open OIDC plugin link in a new tab8b39d5f1refactor(frontend): refactor patches watchesca61be7echore: remove unused vite-plugin-node-polyfills50901c1achore: bump lodash91c8bff4feat: generate omni config from schema6c220683refactor(frontend): refactor nodeoverview watches698dd146fix: always show features section in cluster overviewd8df9c11test: wait for 1 minute for cluster to be destroyedd3ae77c0chore: bump copyright to 20263804184dfix(frontend): keep correct auth flow for cli/workload21a89ae7docs: update CONTRIBUTING.md2e90fad3feat: add ominctl jointoken omni-endpoint7919ba7efeat(frontend): constrain machine label widthb9a049a3feat(frontend): close tooltips even if hovered onb1233347chore: add environment to chromatic.yml9783f4c5feat(installation-media): change installation media wizard to be route based41506f72chore: move graceful config rollout logic to the lowest controller level8e4c6e86test: regression test for machine class scalingb3e430bdtest: add e2e for creating and scaling clusters using machine classes0de90a23feat: support different config schemas for the code editor72557577refactor: add a majorMinorVersion function to parse versions into major.minorf18ec16arefactor(frontend): refactor some watches to useresourcewatchcb45c1b4fix: prevent ClusterMachine creation when Machine is not allocatedf56551abchore: move some tests from e2e upgrades e2e test to misc upgrades test82d9bc5bfix: solve new machines not joining omni if they are part of a cluster2d5e58cbchore: rekres and bump deps8f6d0170chore: bump node to 24.13e7a2fa39fix(frontend): fix incorrect cluster query checking for disk_encryptionc6aaff0frefactor: make namespace implicit in auth package85d09948chore: separate integration-tests1483aacbrefactor(frontend): expose all vars from watch in watch composablec6b29e52test: add talemu fixtures and split into talemu + qemu tests87e073f9fix(frontend): fix lost reactivity on cluster overview pagedff8e1f6feat: make namespace implicit in k8s and oidc package NewResource functions897db4fbtest: fix another test flake in redacted machine config tests4db83819test: remove machine.install.extraKernelArgs from infra machines- [
79ef09b3](79ef09...