Releases: siderolabs/talos
v1.12.1
Talos 1.12.1 (2026-01-05)
Welcome to the v1.12.1 release of Talos!
Please try out the release binaries and report any issues at
https://github.com/siderolabs/talos/issues.
Component Updates
Linux: 6.18.2
Talos is built with Go 1.25.5.
Contributors
- Mateusz Urbanek
- Andrey Smirnov
- Dmitrii Sharshakov
Changes
7 commits
- 7ea2ef7cf release(v1.12.1): prepare release
- 78a785604 chore: run rekres and update dependencies
- c31067173 fix: disable swap for system services
- a7e8426cf test: skip the source bundle on exact tag
- 943984167 fix: probe small images correctly
- 42df71637 fix: invalid versions check in talos-bundle
- a3e90e445 fix: make upgrade work with SELinux enforcing=1
Changes from siderolabs/pkgs
2 commits
- siderolabs/pkgs@90ff196 chore: run rekres and update dependencies
- siderolabs/pkgs@2b30517 feat: update Linux to 6.18.2
Changes from siderolabs/tools
Dependency Changes
- github.com/klauspost/compress v1.18.1 -> v1.18.2
- github.com/siderolabs/go-blockdevice/v2 v2.0.20 -> v2.0.22
- github.com/siderolabs/pkgs v1.12.0-23-ge0b78b8 -> v1.12.0-25-g90ff196
- github.com/siderolabs/talos/pkg/machinery v1.12.0 -> v1.12.1
- github.com/siderolabs/tools v1.12.0-2-g7d57df0 -> v1.12.0-3-g5df8bae
Previous release can be found at v1.12.0
Images
ghcr.io/siderolabs/flannel:v0.27.4
registry.k8s.io/coredns/coredns:v1.13.2
registry.k8s.io/etcd:v3.6.7
registry.k8s.io/kube-apiserver:v1.35.0
registry.k8s.io/kube-controller-manager:v1.35.0
registry.k8s.io/kube-scheduler:v1.35.0
registry.k8s.io/kube-proxy:v1.35.0
ghcr.io/siderolabs/kubelet:v1.35.0
registry.k8s.io/pause:3.10
v1.13.0-alpha.0
Talos 1.13.0-alpha.0 (2025-12-25)
Welcome to the v1.13.0-alpha.0 release of Talos!
This is a pre-release of Talos
Please try out the release binaries and report any issues at
https://github.com/siderolabs/talos/issues.
External Volumes
Talos now supports virtiofs-based external volumes via the new
ExternalVolumeConfig
document.
These virtiofs external volumes are not supported when SELinux is running
in enforcing mode.
Talos Imager Enhancements
Talos imager now supports running rootless. --privileged and -v /dev:/dev are no longer required.
Container Image Decompression
Talos now ships with igzip (amd64) and pigz (arm64) to speed up container image decompression.
/proc/PID/mem Access Hardening
A new kernel parameter proc_mem.force_override=never has been introduced by default to enhance system security
by preventing unwanted writes to protected process memory via /proc/PID/mem.
If the kernel parameter is removed, default behavior is restored, allowing access only if the process is traced.
Reproducible Disk Images
Talos disk images are now reproducible. Building the same version of Talos multiple times will yield
identical disk images.
Note: VHD and VMDK (Azure and VMware) images are not currently reproducible due to limitations in the underlying image creation tools.
Users verifying reproducible images should use raw images, verify checksums, and convert them to VHD/VMDK as needed.
Component Updates
Linux: 6.18.2
containerd: 2.2.1
etcd: 3.6.7
CoreDNS: 1.13.2
Kubernetes: 1.35.0
Flannel CNI plugin: v1.9.0-flannel1
LVM2: 2_03_38
runc: 1.4.0
systemd: 259
cryptsetup: 2.8.3
Talos is built with Go 1.25.5.
VM Hot-Add Support
Talos now includes udev rules to support hot-adding of CPUs in virtualized environments.
Contributors
- Andrey Smirnov
- Mateusz Urbanek
- Noel Georgi
- Dmitrii Sharshakov
- Laura Brehm
- Bryan Lee
- Edward Sammut Alessi
- Birger Johan Nordølum
- Christopher Puschmann
- Jaakko Sirén
- Jean-Francois Roy
- Joakim Nohlgård
- Justin Garrison
- Lennard Klein
- Michal Baumgartner
- Orzelius
- Serge van Ginderachter
- Skye Soss
- dataprolet
- eseiker
- pranav767
Changes
96 commits
- c76484e58 release(v1.13.0-alpha.0): prepare release
- f0d8a6851 test: skip the source bundle on exact tag
- c57701d65 fix: remove interactive installer
- 43937c1cd feat: update Linux and systemd
- 72a194df8 feat: add VM CPU hot-add rules
- f09ae1e0d fix: probe small images correctly
- 8f2b33799 feat: imager support rootless builds
- c7525a97e feat: support creating filesystems from folder
- e2bffb5ce chore: refactor imager code so it's more clear
- 0fb50dbd0 fix: invalid versions check in talos-bundle
- b5dd56032 test: upgrade versions in upgrade tests
- 3dfa4d6e4 fix: make upgrade work with SELinux enforcing=1
- 786c8e2ee feat: ship pigz/igzip in rootfs to speed up image decompression
- 48d242918 feat: update containerd to 2.2.1
- 536541afe fix: mount volume mount/unmount race
- 39117d457 feat: update dependencies
- f0f420725 fix: bond setting change detection
- 8d6a7a867 feat: update Kubernetes to 1.35.0
- 845a0d09c feat: update etcd 3.6.7, CoreDNS 1.13.2
- b95912e04 feat: enforce
proc_mem.force_override=neverby default - 681f3e84c test: run virtiofs tests only when virtiofsd is running
- 0592ff0cd fix: drop the Omni API URL check on IP address
- a4879a5fa feat: update Linux to 6.18.1
- 43b43ff18 docs: split talosctl commands into groups
- 6d17c18bf feat: enable Powercap and Intel RAPL
- 884e76662 docs: fix the talosctl cluster create help output
- 6dc31be4f fix: exclude new Virtual IPs configured with new config
- 94905c73e feat(talosctl): support running qemu x86 on Mac
- f871ab241 fix: provide json support in
nftbinary - 694f45413 feat: external volumes
- 39feb16d2 fix: update containerd 2.2.0 with cgroups patch
- 82027eb9b fix: bond configuration with new settings
- 121b13b8f fix: disable kexec on arm64
- 7eaa725d0 fix: selection of boot entry
- 949bdb90a feat: add Secure Boot to CloudStack platform config
- 798143a88 fix: discard better klog message from Kubernetes client
- 008cd0986 fix: disable kexec in talosctl cluster create on arm64
- bb62b29ed chore: prepare talos for 1.13
- c0935030a chore: fork reference docs for 1.13.x
- e387e48b3 fix: do not override DNS on MacOS
- 1e7e87fb1 fix: rework NFT rules for KubeSpan
- 51bcfb567 feat: rename image default and source bundle
- 585abe944 feat: update Kubernetes to v1.35.0-rc.1
- f301e3e9b fix: update KubeSpan MSS clamping
- 74c1df6f4 test: propagate MTU size to QEMU in
talosctl cluster create - d347ca1af fix: update CNI plugins to 1.9.0
- e3f8196b4 chore: update Grype and Syft
- e1b8ab323 docs: add misssing period
- cd04c3dde docs: update release notes
- fc8ae3249 docs: add omni join token example to create qemu command
- 9fa00773c chore: update go-blockdevice
- ba13b6786 fix: correct condition to use UKI cmdline in GRUB
- d2ce3f47f docs: drop machine.network example
- cf087c1e0 test: bird2 extension
- 13df94388 fix: adapt SELinuxSuite.TestNoPtrace to new strace version
- 861787c38 fix: mark secureboot as supported for metal
- 04e3e87ad fix: clean up kubelet mounts
- 21057903a fix: clear provisioning data on SideroLink config change
- 0f9f4c05f feat: update Kubernetes to 1.35.0-rc.0
- d4309d7b1 fix: add a timeout for DNS resolving for NTP
- dd6c1089c feat: update Linux to 6.18.0
- e9a30bf9a test: revert add direct connectivity CA rotation test
- cc95562bc fix: don't disable LACP by default
- c9fe4679b test: add platform acquire/not valid config unit-test
- 5a03a7a20 chore: fix longhorn test
- a0cfc3527 feat: implement logs persistence
- 51b732bea fix: selection of boot entry
- 18f8ac369 feat: update Kubernetes to 1.35.0-beta.0
- 92fa7c5e4 chore: update pkgs for NVIDIA 580.105.08
- f489299b6 chore: correct condition for running k8s integration tests
- ab149750d chore: update tools/pkgs to 1.13.0-alpha.0
- 87ff9f860 test: fix the image-factory test to pass IF endpoint
- 2ffe538e7 test: add direct connectivity CA rotation test
- 70f6b80e0 chore(ci): skip multipath extension tests
- 561cfb60c chore: update pkgs and tools version
- 2f42202a7 fix: simplify OOM expression
- 7b06ae8c2 test: fix flaky LinkSpec/Wireguard test
- e715f3871 feat: present kernel log as
talosctl logs kernel - e2ee39b8a fix: support specifying patch file without '@' symbol
- e202b1f9e fix: trim trailing dots from certificate SANs
- 7f7079f9c fix: assign value of multicast setting properly
- eba96141e feat: update etcd to 3.6.6
- 9945ceef3 docs: add API Server Cipher Suites changelog
- 9ed488d09 feat: update TLS cipher suites for API server
- f1c04e4d6 feat: generate mirrors patch
- a89108995 fix: add CA subject to generated certificate
- 35dd612a5 fix: add more resilient move
- 83675838f feat: extend flags of cache-cert-gen
- 80ab7a064 chore: remove spammy 'clean up unused volumes' logs
- 74d35900a chore: disable k8s integration tests for 1GiB worker nodes
- 4f6218674 feat: support TALOS_HOME env var
- 0c59b3ea3 feat: add multicast to linkconfig
- 6db06f4d5 feat: implement multicast setting
- eeded98f5 fix: add riscv64 talosctl to release artifacts
- a6bbae91b fix: fix typos across the project
- 83f2bdb9c feat: support relative voume size
Changes from siderolabs/pkgs
33 commits
- siderolabs/pkgs@972f44d feat: update dependencies
- siderolabs/pkgs@f8eb5b0 feat: update Linux to 6.18.2
- siderolabs/pkgs@3fb6291 feat: update systemd to 259
- siderolabs/pkgs@59241bd fix: add SBOMs for pigz/igzip
- siderolabs/pkgs@9377c78 feat: optimize decompression for containerd
- siderolabs/pkgs@e8e61ce feat: update containerd to 2.2.1
- siderolabs/pkgs@daa74ba feat: support xfs filesystem reproducibility
- siderolabs/pkgs@1f66513 feat: update OpenZFS to 2.4.0
- siderolabs/pkgs@b209af5 chore: rekres with latest changes
- siderolabs/pkgs@2b806b9 feat: bump dependencies
- siderolabs/pkgs...
v1.10.9
Talos 1.10.9 (2025-12-24)
Welcome to the v1.10.9 release of Talos!
Please try out the release binaries and report any issues at
https://github.com/siderolabs/talos/issues.
etcd Zombine Members
See this blog post for more details.
This release includes an update to etcd v3.5.26 to ensure that upgrades to Talos v1.11 and later (which default to etcd v3.6) will not be blocked by the presence of zombine members in the etcd cluster.
Please note that etcd version can also be configured via the machine configuration with any version of Talos Linux.
Component Updates
Linux: 6.12.63
runc: 1.2.9
etcd: 3.5.26
Talos is built with Go 1.24.11.
Contributors
- Andrey Smirnov
- Dmitrii Sharshakov
Changes
9 commits
- c48f7ede0 release(v1.10.9): prepare release
- 4c4c8551f test: bump memory for OpenEBS test
- 51c680ae2 test: backport test fixes for CRI seccomp profile
- 0f42034b0 fix: adapt SELinuxSuite.TestNoPtrace to new strace version
- a705f8e8c fix: clear provisioning data on SideroLink config change
- 92c42efc7 chore: update Go modules
- b7c49777f fix: disable kexec on arm64
- 45ed535c7 feat: update default etcd to 3.5.26
- 74ba66803 feat: update pkgs and tools
Changes from siderolabs/pkgs
Changes from siderolabs/tools
Dependency Changes
- github.com/containernetworking/plugins v1.6.2 -> v1.9.0
- github.com/safchain/ethtool v0.5.10 -> v0.6.2
- github.com/siderolabs/pkgs v1.10.0-37-g71b336d -> v1.10.0-38-g3f85dc8
- github.com/siderolabs/talos/pkg/machinery v1.10.8 -> v1.10.9
- github.com/siderolabs/tools v1.10.0-7-g39357c8 -> v1.10.0-8-g11b0a3d
- github.com/stretchr/testify v1.10.0 -> v1.11.1
- go.etcd.io/etcd/api/v3 v3.5.21 -> v3.5.26
- go.etcd.io/etcd/client/pkg/v3 v3.5.21 -> v3.5.26
- go.etcd.io/etcd/client/v3 v3.5.21 -> v3.5.26
- go.etcd.io/etcd/etcdutl/v3 v3.5.21 -> v3.5.26
- golang.org/x/net v0.42.0 -> v0.47.0
- golang.org/x/sync v0.16.0 -> v0.18.0
- golang.org/x/sys v0.34.0 -> v0.38.0
- golang.org/x/term v0.33.0 -> v0.37.0
- golang.org/x/text v0.27.0 -> v0.31.0
- google.golang.org/protobuf v1.36.6 -> v1.36.7
Previous release can be found at v1.10.8
Images
ghcr.io/siderolabs/flannel:v0.26.7
registry.k8s.io/coredns/coredns:v1.12.1
gcr.io/etcd-development/etcd:v3.5.26
registry.k8s.io/kube-apiserver:v1.33.6
registry.k8s.io/kube-controller-manager:v1.33.6
registry.k8s.io/kube-scheduler:v1.33.6
registry.k8s.io/kube-proxy:v1.33.6
ghcr.io/siderolabs/kubelet:v1.33.6
ghcr.io/siderolabs/installer:v1.10.9
registry.k8s.io/pause:3.10
v1.12.0
Talos 1.12.0 (2025-12-22)
Welcome to the v1.12.0 release of Talos!
Please try out the release binaries and report any issues at
https://github.com/siderolabs/talos/issues.
What's New
See also What's new in Talos v1.12.0 in the documentation for a summary of the most notable changes in this release.
API Server Cipher Suites
The Kubernetes API server in Talos has been updated to use a more secure set of TLS cipher suites by default.
This is in line with a set of best practices documented in CIS 1.12 benchmark.
You can still expand the list of supported cipher suites via the cluster.apiServer.extraArgs."tls-cipher-suites" machine configuration field if needed.
New User Volume type - bind
New field in UserVolumeConfig - volumeType that defaults to partition, but can be set to directory.
When set to directory, provisioning and filesystem operations are skipped and a directory is created under /var/mnt/<name>.
The directory type enables lightweight storage volumes backed by a host directory, instead of requiring a full block device partition.
When volumeType = "directory":
- A directory is created at
/var/mnt/<metadata.name>; provisioning,filesystemandencryptionare prohibited.
Note: this mode does not provide filesystem-level isolation and inherits the EPHEMERAL partition capacity limits.
It should not be used for workloads requiring predictable storage quotas.
Disk Encryption
Talos versions prior to v1.12 used the state of PCR 7 and signed policies locked to PCR 11 for TPM based disk encryption.
Talos now supports configuring which PCRs states are to be used for TPM based disk encryption via the options.pcrs
field in the tpm section of the disk encryption configuration.
If user doesn't specify any options Talos defaults to using PCR 7 for backwards compatibility with existing installations.
This change was made to improve compatibility with systems that may have varying states in PCR 7 due to UEFI Secure Boot configurations
and users may wish to disable locking to PCR 7 state entirely.
Signed PCR policies will still be bound to PCR 11.
The currently used PCR's can be seen with talosctl get volumestatus <volume> -o yaml command.
New User Volume type - disk
volumeType in UserVolumeConfig can be set to disk.
When set to disk, a full block device is used for the volume.
When volumeType = "disk":
- Size specific settings are not allowed in the provisioning block (
minSize,maxSize,grow).
Embedded Config
Talos Linux now supports embedding the machine configuration directly into the boot image.
etcd
etcd container image is now pulled from registry.k8s.io/etcd instead of gcr.io/etcd-development/etcd.
Ethernet Configuration
The Ethernet configuration now includes a wakeOnLAN field to enable Wake-on-LAN (WOL) support.
This field can be set to enable WOL and specify the desired WOL modes.
Extra Binaries
Talos Linux now ships with nft binary in the rootfs to support CNIs which shell out to nft command.
Feature Lock
Talos now ignores the following machine configuration fields:
machine.features.rbac(locked to true)machine.features.apidCheckExtKeyUsage(locked to true)cluster.apiServer.disablePodSecurityPolicy(locked to true)
These fields were removed from the default machine configuration schema in v1.12 and are now always set to the locked values above.
Talos force reboot
Talos now supports a "force" reboot mode, which allows skipping the graceful userland termination.
It can be used in situations where a userland service (e.g. the kubelet) gets stuck during graceful shutdown, causing the regular reboot flow to fail.
In addition, talosctl was updated to support this feature via talosctl reboot --mode force.
GRUB
Talos Linux introduces new machine configuration option .machine.install.grubUseUKICmdline to control whether GRUB should use the kernel command line
provided by the boot assets (UKI) or to use the command line constructed by Talos itself (legacy behavior).
This option defaults to true for new installations, which means that GRUB will use the command line from the UKI, making it easier to customize kernel parameters via boot asset generation.
For existing installations upgrading to v1.12, this option will default to false to preserve the legacy behavior.
Kernel Log
The kernel log (dmesg) is now also available as the service log named kernel (talosctl logs kernel).
Kernel Module
Talos now supports optionally disabling kernel module signature verification by setting module.sig_enforce=0 kernel parameter.
By default module signature verification is enabled (module.sig_enforce=1).
When using Factory or Imager supply as -module.sig_enfore module.sig_enforce=0 kernel parameters to disable module signature enforcement.
Kernel Security Posture Profile (KSPP)
Talos now enables a stricter set of KSPP sysctl settings by default.
The list of overridden settings is available with talosctl get kernelparamstatus command.
Encrypted Volumes
Talos Linux now consistently provides mapped names for encrypted volumes in the format /dev/mapper/luks2-<volume-id>.
This change should not affect system or user volumes, but might allow easier identification of encrypted volumes,
and specifically for raw encrypted volumes.
Network Configuration
The network configuration under .machine.network (with the exception of KubeSpan) has been deprecated, but it is still supported for backwards compatibility.
See documentation for more information.
Persistent logs
Talos now stores system component logs in /var/log, featuring automatic log rotation and keeping two most
recent log files. This change allows collecting logs from Talos like on any other Linux system.
CRI Registry Configuration
The CRI registry configuration in v1apha1 legacy machine configuration under .machine.registries is now deprecated, but still supported for backwards compatibility.
New configuration documents RegistryMirrorConfig, RegistryAuthConfig and RegistryTLSConfig should be used instead.
talosctl image cache-serve
talosctl includes new subcommand image cache-serve.
It allows serving the created OCI image registry over HTTP/HTTPS.
It is a read-only registry, meaning images cannot be pushed to it, but the backing storage can be updated by re-running the cache-create command;
Additionally talosctl image cache-create has some changes:
- new flag
--layout:oci(default),flat:ocipreserves current behavior;flatdoes not repack artifact layer, but moves it to a destination directory, allowing it to be served bytalosctl image cache-serve;
- changed flag
--platform: now can accept multiple os/arch combinations:- comma separated (
--platform=linux/amd64,linux/arm64); - multiple instances (
--platform=linux/amd64 --platform=linux/arm64);
- comma separated (
UEFI Boot
When using UEFI boot with systemd-boot as bootloader (on new installs of Talos from 1.10+ onwards), Talos will now not touch the UEFI boot order.
Talos 1.11 made a fix to create UEFI boot entry and set the boot order as first entry, but this behavior caused issues on some systems.
To avoid further issues, Talos will now only create the UEFI boot entry if it does not exist, but will not modify the boot order.
Component Updates
Linux: 6.18.1
Kubernetes: 1.35.0
CNI Plugins: 1.9.0
cryptsetup: 2.8.1
LVM2: 2_03_37
systemd-udevd: 257.8
etcd: 3.6.7
CoreDNS: 1.13.2
Flannel: 0.27.4
Flannel CNI plugin: v1.8.0-flannel2
runc: 1.3.4
containerd: 2.1.6
zfs: 2.4.0
Talos is built with Go 1.25.5.
Contributors
- Andrey Smirnov
- Mateusz Urbanek
- Noel Georgi
- Dmitrii Sharshakov
- Amarachi Iheanacho
- Orzelius
- Laura Brehm
- Oguz Kilcan
- Justin Garrison
- Artem Chernyshev
- Utku Ozdemir
- Bryan Lee
- George Gaál
- Jorik Jonker
- Michael Smith
- Nicole Hubbard
- 459below
- Adrian L Lange
- Alp Celik
- Andrew Longwill
- Birger Johan Nordølum
- Chris Sanders
- Christopher Puschmann
- Dmitry
- Edward Sammut Alessi
- Febrian
- Florian Grignon
- Fred Heinecke
- Giau. Tran Minh
- Grzegorz Rozniecki
- Guillaume LEGRAIN
- Hector Monsalve
- Jaakko Sirén
- Jean-Francois Roy
- Joakim Nohlgård
- Lennard Klein
- Markus Freitag
- Max Makarov
- Mike Beaumont
- Misha Aksenov
- MrMrRubic
- Olivier Doucet
- Pranav
- Sammy ETUR
- Serge Logvinov
- Serge van Ginderachter
- Skye Soss
- Skyler Mäntysaari
- SuitDeer
- Tom
- aurh1l
- eseiker
- frozenprocess
- frozensprocess
- kassad
- leppeK
- samoreno
- theschles
- winnie
Changes
360 commits
- ac91ade2c release(v1.12.0): prepare release
- 82553b2a1 fix: mount volume mount/unmount race
- 33f6e22ec fix: bond setting change detection
- d5be50ac5 docs: split talosctl commands into groups
- 70d3ab9ac feat: update Kubernetes to 1.35.0
- 101814d88 feat: update etcd 3.6.7, CoreDNS 1.13.2
- ce286825a fix: drop the Omni API URL check on IP address
- 96f724adc feat: enable Powercap and Intel RAPL
- e195427c1 docs: fix the talosctl cluster create help output
- e025355b7 feat(talosctl): support running qemu x86 on Mac
- 21a914a1d fix: exclude ne...
v1.11.6
Talos 1.11.6 (2025-12-16)
Welcome to the v1.11.6 release of Talos!
Please try out the release binaries and report any issues at
https://github.com/siderolabs/talos/issues.
UEFI Boot
When using UEFI boot with systemd-boot as bootloader (on new installs of Talos from 1.10+ onwards), Talos will now not touch the UEFI boot order.
Talos 1.11 made a fix to create UEFI boot entry and set the boot order as first entry, but this behavior caused issues on some systems.
To avoid further issues, Talos will now only create the UEFI boot entry if it does not exist, but will not modify the boot order.
Component Updates
Linux: 6.12.62
runc: 1.3.4
Talos is built with Go 1.24.11.
Contributors
- Andrey Smirnov
- Noel Georgi
- Dmitrii Sharshakov
Changes
15 commits
- 6dd14300e release(v1.11.6): prepare release
- f91cefd32 test: bump memory for OpenEBS test
- dcbbe2ca0 test: backport test fixes for CRI seccomp profile
- 428b5921e fix: disable kexec on arm64
- c36ffc626 fix: disable kexec in talosctl cluster create on arm64
- 0a90bf640 fix: selection of boot entry
- afc08b34e fix: update KubeSpan MSS clamping
- aedddccef fix: adapt SELinuxSuite.TestNoPtrace to new strace version
- 004213799 fix: clear provisioning data on SideroLink config change
- e7e354162 fix: selection of boot entry
- b5244f901 fix: remove CoreDNS cpu limit
- 42897dee5 fix: uefi bootorder setting
- bde8be2c8 fix: uefi boot order setting
- 7e99ced96 fix: stop attaching to tearing down mount parents
- ff8b73b9f feat: update tools and pkgs
Changes from siderolabs/pkgs
7 commits
- siderolabs/pkgs@49ee0fe feat: update Linux to 6.12.62
- siderolabs/pkgs@6b4375a feat: update ZFS to 2.3.5
- siderolabs/pkgs@bde7611 feat: update runc to v1.3.4
- siderolabs/pkgs@80c85fe feat: update Linux firmware to 20251125
- siderolabs/pkgs@5faab65 feat: update DRBD to 9.2.16
- siderolabs/pkgs@8fdd59b feat: update CNI to 1.9.0
- siderolabs/pkgs@b458aab feat: update Go to 1.24.11
Changes from siderolabs/tools
Dependency Changes
- github.com/containernetworking/plugins v1.7.1 -> v1.9.0
- github.com/safchain/ethtool v0.6.1 -> v0.6.2
- github.com/siderolabs/pkgs v1.11.0-29-gaee690b -> v1.11.0-36-g49ee0fe
- github.com/siderolabs/talos/pkg/machinery v1.11.5 -> v1.11.6
- github.com/siderolabs/tools v1.11.0-4-g05ee846 -> v1.11.0-5-g7f05320
- github.com/stretchr/testify v1.10.0 -> v1.11.1
- golang.org/x/net v0.43.0 -> v0.47.0
- golang.org/x/sync v0.16.0 -> v0.19.0
- golang.org/x/sys v0.35.0 -> v0.39.0
- golang.org/x/term v0.34.0 -> v0.38.0
- golang.org/x/text v0.28.0 -> v0.32.0
Previous release can be found at v1.11.5
Images
ghcr.io/siderolabs/flannel:v0.27.4
registry.k8s.io/coredns/coredns:v1.12.4
gcr.io/etcd-development/etcd:v3.6.5
registry.k8s.io/kube-apiserver:v1.34.1
registry.k8s.io/kube-controller-manager:v1.34.1
registry.k8s.io/kube-scheduler:v1.34.1
registry.k8s.io/kube-proxy:v1.34.1
ghcr.io/siderolabs/kubelet:v1.34.1
ghcr.io/siderolabs/installer:v1.11.6
registry.k8s.io/pause:3.10
v1.12.0-rc.1
Talos 1.12.0-rc.1 (2025-12-15)
Welcome to the v1.12.0-rc.1 release of Talos!
This is a pre-release of Talos
Please try out the release binaries and report any issues at
https://github.com/siderolabs/talos/issues.
API Server Cipher Suites
The Kubernetes API server in Talos has been updated to use a more secure set of TLS cipher suites by default.
This is in line with a set of best practices documented in CIS 1.12 benchmark.
You can still expand the list of supported cipher suites via the cluster.apiServer.extraArgs."tls-cipher-suites" machine configuration field if needed.
New User Volume type - bind
New field in UserVolumeConfig - volumeType that defaults to partition, but can be set to directory.
When set to directory, provisioning and filesystem operations are skipped and a directory is created under /var/mnt/<name>.
The directory type enables lightweight storage volumes backed by a host directory, instead of requiring a full block device partition.
When volumeType = "directory":
- A directory is created at
/var/mnt/<metadata.name>; provisioning,filesystemandencryptionare prohibited.
Note: this mode does not provide filesystem-level isolation and inherits the EPHEMERAL partition capacity limits.
It should not be used for workloads requiring predictable storage quotas.
Disk Encryption
Talos versions prior to v1.12 used the state of PCR 7 and signed policies locked to PCR 11 for TPM based disk encryption.
Talos now supports configuring which PCRs states are to be used for TPM based disk encryption via the options.pcrs
field in the tpm section of the disk encryption configuration.
If user doesn't specify any options Talos defaults to using PCR 7 for backwards compatibility with existing installations.
This change was made to improve compatibility with systems that may have varying states in PCR 7 due to UEFI Secure Boot configurations
and users may wish to disable locking to PCR 7 state entirely.
Signed PCR policies will still be bound to PCR 11.
The currently used PCR's can be seen with talosctl get volumestatus <volume> -o yaml command.
New User Volume type - disk
volumeType in UserVolumeConfig can be set to disk.
When set to disk, a full block device is used for the volume.
When volumeType = "disk":
- Size specific settings are not allowed in the provisioning block (
minSize,maxSize,grow).
Embedded Config
Talos Linux now supports embedding the machine configuration directly into the boot image.
etcd
etcd container image is now pulled from registry.k8s.io/etcd instead of gcr.io/etcd-development/etcd.
Ethernet Configuration
The Ethernet configuration now includes a wakeOnLAN field to enable Wake-on-LAN (WOL) support.
This field can be set to enable WOL and specify the desired WOL modes.
Extra Binaries
Talos Linux now ships with nft binary in the rootfs to support CNIs which shell out to nft command.
Feature Lock
Talos now ignores the following machine configuration fields:
machine.features.rbac(locked to true)machine.features.apidCheckExtKeyUsage(locked to true)cluster.apiServer.disablePodSecurityPolicy(locked to true)
These fields were removed from the default machine configuration schema in v1.12 and are now always set to the locked values above.
Talos force reboot
Talos now supports a "force" reboot mode, which allows skipping the graceful userland termination.
It can be used in situations where a userland service (e.g. the kubelet) gets stuck during graceful shutdown, causing the regular reboot flow to fail.
In addition, talosctl was updated to support this feature via talosctl reboot --mode force.
GRUB
Talos Linux introduces new machine configuration option .machine.install.grubUseUKICmdline to control whether GRUB should use the kernel command line
provided by the boot assets (UKI) or to use the command line constructed by Talos itself (legacy behavior).
This option defaults to true for new installations, which means that GRUB will use the command line from the UKI, making it easier to customize kernel parameters via boot asset generation.
For existing installations upgrading to v1.12, this option will default to false to preserve the legacy behavior.
Kernel Log
The kernel log (dmesg) is now also available as the service log named kernel (talosctl logs kernel).
Kernel Module
Talos now supports optionally disabling kernel module signature verification by setting module.sig_enforce=0 kernel parameter.
By default module signature verification is enabled (module.sig_enforce=1).
When using Factory or Imager supply as -module.sig_enfore module.sig_enforce=0 kernel parameters to disable module signature enforcement.
Kernel Security Posture Profile (KSPP)
Talos now enables a stricter set of KSPP sysctl settings by default.
The list of overridden settings is available with talosctl get kernelparamstatus command.
Encrypted Volumes
Talos Linux now consistently provides mapped names for encrypted volumes in the format /dev/mapper/luks2-<volume-id>.
This change should not affect system or user volumes, but might allow easier identification of encrypted volumes,
and specifically for raw encrypted volumes.
Network Configuration
The network configuration under .machine.network (with the exception of KubeSpan) has been deprecated, but it is still supported for backwards compatibility.
See documentation for more information.
Persistent logs
Talos now stores system component logs in /var/log, featuring automatic log rotation and keeping two most
recent log files. This change allows collecting logs from Talos like on any other Linux system.
CRI Registry Configuration
The CRI registry configuration in v1apha1 legacy machine configuration under .machine.registries is now deprecated, but still supported for backwards compatibility.
New configuration documents RegistryMirrorConfig, RegistryAuthConfig and RegistryTLSConfig should be used instead.
talosctl image cache-serve
talosctl includes new subcommand image cache-serve.
It allows serving the created OCI image registry over HTTP/HTTPS.
It is a read-only registry, meaning images cannot be pushed to it, but the backing storage can be updated by re-running the cache-create command;
Additionally talosctl image cache-create has some changes:
- new flag
--layout:oci(default),flat:ocipreserves current behavior;flatdoes not repack artifact layer, but moves it to a destination directory, allowing it to be served bytalosctl image cache-serve;
- changed flag
--platform: now can accept multiple os/arch combinations:- comma separated (
--platform=linux/amd64,linux/arm64); - multiple instances (
--platform=linux/amd64 --platform=linux/arm64);
- comma separated (
UEFI Boot
When using UEFI boot with systemd-boot as bootloader (on new installs of Talos from 1.10+ onwards), Talos will now not touch the UEFI boot order.
Talos 1.11 made a fix to create UEFI boot entry and set the boot order as first entry, but this behavior caused issues on some systems.
To avoid further issues, Talos will now only create the UEFI boot entry if it does not exist, but will not modify the boot order.
Component Updates
Linux: 6.18.0
Kubernetes: 1.35.0-rc.0
CNI Plugins: 1.9.0
cryptsetup: 2.8.1
LVM2: 2_03_37
systemd-udevd: 257.8
runc: 1.3.2
CoreDNS: 1.13.1
etcd: 3.6.6
Flannel: 0.27.4
Flannel CNI plugin: v1.8.0-flannel2
runc: 1.3.4
containerd: 2.1.5
zfs: 2.4.0-rc.5
Talos is built with Go 1.25.5.
Contributors
- Andrey Smirnov
- Mateusz Urbanek
- Noel Georgi
- Dmitrii Sharshakov
- Amarachi Iheanacho
- Orzelius
- Laura Brehm
- Oguz Kilcan
- Justin Garrison
- Artem Chernyshev
- Utku Ozdemir
- Bryan Lee
- George Gaál
- Jorik Jonker
- Michael Smith
- Nicole Hubbard
- 459below
- Adrian L Lange
- Alp Celik
- Andrew Longwill
- Birger Johan Nordølum
- Chris Sanders
- Christopher Puschmann
- Dmitry
- Edward Sammut Alessi
- Febrian
- Florian Grignon
- Fred Heinecke
- Giau. Tran Minh
- Grzegorz Rozniecki
- Guillaume LEGRAIN
- Hector Monsalve
- Jaakko Sirén
- Jean-Francois Roy
- Joakim Nohlgård
- Lennard Klein
- Markus Freitag
- Max Makarov
- Mike Beaumont
- Misha Aksenov
- MrMrRubic
- Olivier Doucet
- Pranav
- Sammy ETUR
- Serge Logvinov
- Serge van Ginderachter
- Skye Soss
- Skyler Mäntysaari
- SuitDeer
- Tom
- aurh1l
- frozenprocess
- frozensprocess
- kassad
- leppeK
- samoreno
- theschles
- winnie
Changes
346 commits
- a2a77004d release(v1.12.0-rc.1): prepare release
- 47198780b fix: bond configuration with new settings
- 03a424bdf fix: disable kexec on arm64
- 688fb789b feat: add Secure Boot to CloudStack platform config
- 66e67fd13 fix: discard better klog message from Kubernetes client
- d8403498c fix: disable kexec in talosctl cluster create on arm64
- 5ced4258c fix: do not override DNS on MacOS
- fabf3f0e7 fix: selection of boot entry
- 93cec4b9d fix: update CNI plugins to 1.9.0
- 964098d96 fix: update KubeSpan MSS clamping
- bce04084d feat: rename image default and source bundle
- d1abc0f84 chore: update pkgs
- 061307687 release(v1.12.0-rc.0): prepare release
- siderol...
v1.12.0-rc.0
Talos 1.12.0-rc.0 (2025-12-09)
Welcome to the v1.12.0-rc.0 release of Talos!
This is a pre-release of Talos
Please try out the release binaries and report any issues at
https://github.com/siderolabs/talos/issues.
API Server Cipher Suites
The Kubernetes API server in Talos has been updated to use a more secure set of TLS cipher suites by default.
This is in line with a set of best practices documented in CIS 1.12 benchmark.
You can still expand the list of supported cipher suites via the cluster.apiServer.extraArgs."tls-cipher-suites" machine configuration field if needed.
New User Volume type - bind
New field in UserVolumeConfig - volumeType that defaults to partition, but can be set to directory.
When set to directory, provisioning and filesystem operations are skipped and a directory is created under /var/mnt/<name>.
The directory type enables lightweight storage volumes backed by a host directory, instead of requiring a full block device partition.
When volumeType = "directory":
- A directory is created at
/var/mnt/<metadata.name>; provisioning,filesystemandencryptionare prohibited.
Note: this mode does not provide filesystem-level isolation and inherits the EPHEMERAL partition capacity limits.
It should not be used for workloads requiring predictable storage quotas.
Disk Encryption
Talos versions prior to v1.12 used the state of PCR 7 and signed policies locked to PCR 11 for TPM based disk encryption.
Talos now supports configuring which PCRs states are to be used for TPM based disk encryption via the options.pcrs
field in the tpm section of the disk encryption configuration.
If user doesn't specify any options Talos defaults to using PCR 7 for backwards compatibility with existing installations.
This change was made to improve compatibility with systems that may have varying states in PCR 7 due to UEFI Secure Boot configurations
and users may wish to disable locking to PCR 7 state entirely.
Signed PCR policies will still be bound to PCR 11.
The currently used PCR's can be seen with talosctl get volumestatus <volume> -o yaml command.
New User Volume type - disk
volumeType in UserVolumeConfig can be set to disk.
When set to disk, a full block device is used for the volume.
When volumeType = "disk":
- Size specific settings are not allowed in the provisioning block (
minSize,maxSize,grow).
Embedded Config
Talos Linux now supports embedding the machine configuration directly into the boot image.
etcd
etcd container image is now pulled from registry.k8s.io/etcd instead of gcr.io/etcd-development/etcd.
Ethernet Configuration
The Ethernet configuration now includes a wakeOnLAN field to enable Wake-on-LAN (WOL) support.
This field can be set to enable WOL and specify the desired WOL modes.
Extra Binaries
Talos Linux now ships with nft binary in the rootfs to support CNIs which shell out to nft command.
Feature Lock
Talos now ignores the following machine configuration fields:
machine.features.rbac(locked to true)machine.features.apidCheckExtKeyUsage(locked to true)cluster.apiServer.disablePodSecurityPolicy(locked to true)
These fields were removed from the default machine configuration schema in v1.12 and are now always set to the locked values above.
Talos force reboot
Talos now supports a "force" reboot mode, which allows skipping the graceful userland termination.
It can be used in situations where a userland service (e.g. the kubelet) gets stuck during graceful shutdown, causing the regular reboot flow to fail.
In addition, talosctl was updated to support this feature via talosctl reboot --mode force.
GRUB
Talos Linux introduces new machine configuration option .machine.install.grubUseUKICmdline to control whether GRUB should use the kernel command line
provided by the boot assets (UKI) or to use the command line constructed by Talos itself (legacy behavior).
This option defaults to true for new installations, which means that GRUB will use the command line from the UKI, making it easier to customize kernel parameters via boot asset generation.
For existing installations upgrading to v1.12, this option will default to false to preserve the legacy behavior.
Kernel Log
The kernel log (dmesg) is now also available as the service log named kernel (talosctl logs kernel).
Kernel Module
Talos now supports optionally disabling kernel module signature verification by setting module.sig_enforce=0 kernel parameter.
By default module signature verification is enabled (module.sig_enforce=1).
When using Factory or Imager supply as -module.sig_enfore module.sig_enforce=0 kernel parameters to disable module signature enforcement.
Kernel Security Posture Profile (KSPP)
Talos now enables a stricter set of KSPP sysctl settings by default.
The list of overridden settings is available with talosctl get kernelparamstatus command.
Encrypted Volumes
Talos Linux now consistently provides mapped names for encrypted volumes in the format /dev/mapper/luks2-<volume-id>.
This change should not affect system or user volumes, but might allow easier identification of encrypted volumes,
and specifically for raw encrypted volumes.
Network Configuration
The network configuration under .machine.network (with the exception of KubeSpan) has been deprecated, but it is still supported for backwards compatibility.
See documentation for more information.
Persistent logs
Talos now stores system component logs in /var/log, featuring automatic log rotation and keeping two most
recent log files. This change allows collecting logs from Talos like on any other Linux system.
CRI Registry Configuration
The CRI registry configuration in v1apha1 legacy machine configuration under .machine.registries is now deprecated, but still supported for backwards compatibility.
New configuration documents RegistryMirrorConfig, RegistryAuthConfig and RegistryTLSConfig should be used instead.
talosctl image cache-serve
talosctl includes new subcommand image cache-serve.
It allows serving the created OCI image registry over HTTP/HTTPS.
It is a read-only registry, meaning images cannot be pushed to it, but the backing storage can be updated by re-running the cache-create command;
Additionally talosctl image cache-create has some changes:
- new flag
--layout:oci(default),flat:ocipreserves current behavior;flatdoes not repack artifact layer, but moves it to a destination directory, allowing it to be served bytalosctl image cache-serve;
- changed flag
--platform: now can accept multiple os/arch combinations:- comma separated (
--platform=linux/amd64,linux/arm64); - multiple instances (
--platform=linux/amd64 --platform=linux/arm64);
- comma separated (
UEFI Boot
When using UEFI boot with systemd-boot as bootloader (on new installs of Talos from 1.10+ onwards), Talos will now not touch the UEFI boot order.
Talos 1.11 made a fix to create UEFI boot entry and set the boot order as first entry, but this behavior caused issues on some systems.
To avoid further issues, Talos will now only create the UEFI boot entry if it does not exist, but will not modify the boot order.
Component Updates
Linux: 6.18.0
Kubernetes: 1.35.0-rc.0
CNI Plugins: 1.8.0
cryptsetup: 2.8.1
LVM2: 2_03_37
systemd-udevd: 257.8
runc: 1.3.2
CoreDNS: 1.13.1
etcd: 3.6.6
Flannel: 0.27.4
Flannel CNI plugin: v1.8.0-flannel2
runc: 1.3.4
containerd: 2.1.5
Talos is built with Go 1.25.5.
Contributors
- Andrey Smirnov
- Mateusz Urbanek
- Noel Georgi
- Dmitrii Sharshakov
- Amarachi Iheanacho
- Orzelius
- Laura Brehm
- Oguz Kilcan
- Justin Garrison
- Artem Chernyshev
- Utku Ozdemir
- Bryan Lee
- George Gaál
- Jorik Jonker
- Michael Smith
- Nicole Hubbard
- 459below
- Adrian L Lange
- Alp Celik
- Andrew Longwill
- Birger Johan Nordølum
- Chris Sanders
- Dmitry
- Edward Sammut Alessi
- Febrian
- Florian Grignon
- Fred Heinecke
- Giau. Tran Minh
- Grzegorz Rozniecki
- Guillaume LEGRAIN
- Hector Monsalve
- Joakim Nohlgård
- Lennard Klein
- Markus Freitag
- Max Makarov
- Mike Beaumont
- Misha Aksenov
- MrMrRubic
- Olivier Doucet
- Pranav
- Sammy ETUR
- Serge Logvinov
- Serge van Ginderachter
- Skye Soss
- Skyler Mäntysaari
- SuitDeer
- Tom
- aurh1l
- frozenprocess
- frozensprocess
- kassad
- leppeK
- samoreno
- theschles
- winnie
Changes
334 commits
- 061307687 release(v1.12.0-rc.0): prepare release
- bc4de5b79 fix: constants file
- 4a15763a9 docs: update release notes
- 297336549 fix: correct condition to use UKI cmdline in GRUB
- 0ac58929d docs: drop machine.network example
- 184a45c40 test: bird2 extension
- 8eac9f37d docs: add omni join token example to create qemu command
- e79a94d57 fix: adapt SELinuxSuite.TestNoPtrace to new strace version
- 7a1bb4c26 fix: mark secureboot as supported for metal
- 5c6ee6ace fix: clear provisioning data on SideroLink config change
- 2e6fe4684 feat: update Linux to 6.18.0
- 473bc17c1 feat: update Kubernetes to 1.35.0-rc.0
- 6dc8e82b3 fix: add a timeout for DNS resolving for NTP
- a7dbbbd4d fix: don't disable LACP by default
- sid...
v1.12.0-beta.1
Talos 1.12.0-beta.1 (2025-12-01)
Welcome to the v1.12.0-beta.1 release of Talos!
This is a pre-release of Talos
Please try out the release binaries and report any issues at
https://github.com/siderolabs/talos/issues.
API Server Cipher Suites
The Kubernetes API server in Talos has been updated to use a more secure set of TLS cipher suites by default.
This is in line with a set of best practices documented in CIS 1.12 benchmark.
You can still expand the list of supported cipher suites via the cluster.apiServer.extraArgs."tls-cipher-suites" machine configuration field if needed.
New User Volume type - bind
New field in UserVolumeConfig - volumeType that defaults to partition, but can be set to directory.
When set to directory, provisioning and filesystem operations are skipped and a directory is created under /var/mnt/<name>.
The directory type enables lightweight storage volumes backed by a host directory, instead of requiring a full block device partition.
When volumeType = "directory":
- A directory is created at
/var/mnt/<metadata.name>; provisioning,filesystemandencryptionare prohibited.
Note: this mode does not provide filesystem-level isolation and inherits the EPHEMERAL partition capacity limits.
It should not be used for workloads requiring predictable storage quotas.
Disk Encryption
Talos versions prior to v1.12 used the state of PCR 7 and signed policies locked to PCR 11 for TPM based disk encryption.
Talos now supports configuring which PCRs states are to be used for TPM based disk encryption via the options.pcrs
field in the tpm section of the disk encryption configuration.
If user doesn't specify any options Talos defaults to using PCR 7 for backwards compatibility with existing installations.
This change was made to improve compatibility with systems that may have varying states in PCR 7 due to UEFI Secure Boot configurations
and users may wish to disable locking to PCR 7 state entirely.
Signed PCR policies will still be bound to PCR 11.
The currently used PCR's can be seen with talosctl get volumestatus <volume> -o yaml command.
New User Volume type - disk
volumeType in UserVolumeConfig can be set to disk.
When set to disk, a full block device is used for the volume.
When volumeType = "disk":
- Size specific settings are not allowed in the provisioning block (
minSize,maxSize,grow).
Embedded Config
Talos Linux now supports embedding the machine configuration directly into the boot image.
etcd
etcd container image is now pulled from registry.k8s.io/etcd instead of gcr.io/etcd-development/etcd.
Ethernet Configuration
The Ethernet configuration now includes a wakeOnLAN field to enable Wake-on-LAN (WOL) support.
This field can be set to enable WOL and specify the desired WOL modes.
Extra Binaries
Talos Linux now ships with nft binary in the rootfs to support CNIs which shell out to nft command.
Feature Lock
Talos now ignores the following machine configuration fields:
machine.features.rbac(locked to true)machine.features.apidCheckExtKeyUsage(locked to true)cluster.apiServer.disablePodSecurityPolicy(locked to false)
These fields were removed from the default machine configuration schema in v1.12 and are now always set to the locked values above.
Talos force reboot
Talos now supports a "force" reboot mode, which allows skipping the graceful userland termination.
It can be used in situations where a userland service (e.g. the kubelet) gets stuck during graceful shutdown, causing the regular reboot flow to fail.
In addition, talosctl was updated to support this feature via talosctl reboot --mode force.
GRUB
Talos Linux introduces new machine configuration option .machine.install.grubUseUKICmdline to control whether GRUB should use the kernel command line
provided by the boot assets (UKI) or to use the command line constructed by Talos itself (legacy behavior).
This option defaults to true for new installations, which means that GRUB will use the command line from the UKI, making it easier to customize kernel parameters via boot asset generation.
For existing installations upgrading to v1.12, this option will default to false to preserve the legacy behavior.
Kernel Log
The kernel log (dmesg) is now also available as the service log named kernel (talosctl logs kernel).
Kernel Module
Talos now supports optionally disabling kernel module signature verification by setting module.sig_enforce=0 kernel parameter.
By default module signature verification is enabled (module.sig_enforce=1).
When using Factory or Imager supply as -module.sig_enfore module.sig_enforce=0 kernel parameters to disable module signature enforcement.
Kernel Security Posture Profile (KSPP)
Talos now enables a stricter set of KSPP sysctl settings by default.
The list of overridden settings is available with talosctl get kernelparamstatus command.
Encrypted Volumes
Talos Linux now consistently provides mapped names for encrypted volumes in the format /dev/mapper/luks2-<volume-id>.
This change should not affect system or user volumes, but might allow easier identification of encrypted volumes,
and specifically for raw encrypted volumes.
Network Configuration
The network configuration under .machine.network (with the exception of KubeSpan) has been deprecated, but it is still supported for backwards compatibility.
New configuration documents were created to replace it, they will be documented in the future.
CRI Registry Configuration
The CRI registry configuration in v1apha1 legacy machine configuration under .machine.registries is now deprecated, but still supported for backwards compatibility.
New configuration documents RegistryMirrorConfig, RegistryAuthConfig and RegistryTLSConfig should be used instead.
talosctl image cache-serve
talosctl includes new subcommand image cache-serve.
It allows serving the created OCI image registry over HTTP/HTTPS.
It is a read-only registry, meaning images cannot be pushed to it, but the backing storage can be updated by re-running the cache-create command;
Additionally talosctl image cache-create has some changes:
- new flag
--layout:oci(default),flat:ocipreserves current behavior;flatdoes not repack artifact layer, but moves it to a destination directory, allowing it to be served bytalosctl image cache-serve;
- changed flag
--platform: now can accept multiple os/arch combinations:- comma separated (
--platform=linux/amd64,linux/arm64); - multiple instances (
--platform=linux/amd64 --platform=linux/arm64);
- comma separated (
UEFI Boot
When using UEFI boot with systemd-boot as bootloader (on new installs of Talos from 1.10+ onwards), Talos will now not touch the UEFI boot order.
Talos 1.11 made a fix to create UEFI boot entry and set the boot order as first entry, but this behavior caused issues on some systems.
To avoid further issues, Talos will now only create the UEFI boot entry if it does not exist, but will not modify the boot order.
Component Updates
Linux: 6.17.9
Kubernetes: 1.35.0-alpha.3
CNI Plugins: 1.8.0
cryptsetup: 2.8.1
LVM2: 2_03_37
systemd-udevd: 257.8
runc: 1.3.2
CoreDNS: 1.13.1
etcd: 3.6.6
Flannel: 0.27.4
Flannel CNI plugin: v1.8.0-flannel2
runc: 1.3.3
containerd: 2.1.5
Talos is built with Go 1.25.4.
Contributors
- Andrey Smirnov
- Mateusz Urbanek
- Noel Georgi
- Dmitrii Sharshakov
- Amarachi Iheanacho
- Orzelius
- Laura Brehm
- Oguz Kilcan
- Justin Garrison
- Artem Chernyshev
- Utku Ozdemir
- Bryan Lee
- George Gaál
- Jorik Jonker
- Michael Smith
- Nicole Hubbard
- 459below
- Adrian L Lange
- Alp Celik
- Andrew Longwill
- Birger Johan Nordølum
- Chris Sanders
- Dmitry
- Febrian
- Florian Grignon
- Fred Heinecke
- Giau. Tran Minh
- Grzegorz Rozniecki
- Guillaume LEGRAIN
- Hector Monsalve
- Lennard Klein
- Markus Freitag
- Max Makarov
- Mike Beaumont
- Misha Aksenov
- MrMrRubic
- Olivier Doucet
- Pranav
- Sammy ETUR
- Serge Logvinov
- Skye Soss
- Skyler Mäntysaari
- SuitDeer
- Tom
- aurh1l
- frozenprocess
- frozensprocess
- kassad
- leppeK
- samoreno
- theschles
- winnie
Changes
316 commits
- c9a4f95b4 release(v1.12.0-beta.1): prepare release
- d321d7da0 chore: correct condition for running k8s integration tests
- 736f32a80 chore: disable k8s integration tests for 1GiB worker nodes
- d9de616c4 chore(ci): skip multipath extension tests
- 57d6683cd chore: update pkgs and tools version
- 949323ab5 feat: present kernel log as
talosctl logs kernel - 7531fcbc7 test: fix flaky LinkSpec/Wireguard test
- 1dbc64d69 fix: simplify OOM expression
- 0ffb1d857 fix: trim trailing dots from certificate SANs
- 9a2f6d9c9 fix: support specifying patch file without '@' symbol
- 582b0feab fix: assign value of multicast setting properly
- 16aa6ac47 feat: update etcd to 3.6.6
- 4396f09c8 docs: add API Server Cipher Suites changelog
- fdf6fe8e6 feat: update TLS cipher suites for API server
- 139cce3b4 fix: add CA subject to generated certificate
- 9b294af22 feat: generate mirrors patch
- 15465f0c5 fix: add more resilient move
- b4147e3a1 feat: extend flags of cache-c...
v1.10.8
Talos 1.10.8 (2025-11-18)
Welcome to the v1.10.8 release of Talos!
Please try out the release binaries and report any issues at
https://github.com/siderolabs/talos/issues.
Component Updates
Linux: 6.12.58
Kubernetes: 1.33.6
Runc: v1.2.8
Containerd: v2.0.7
Talos is built with Go 1.24.10.
Contributors
- Noel Georgi
- Andrey Smirnov
- Markus Freitag
Changes
7 commits
- c6cca077d release(v1.10.8): prepare release
- a1ad6108b feat: bump linux, kubernetes, runc and containerd
- 288af9eb5 chore: rekres and manual cherry-pick of
77d8cc7c589a190c8cb86e6e1684233129b648a1 - 50fed880f fix: reserve the apid and trustd ports from the ephemeral port range
- 8a2aaad36 fix: bump trustd memory limit
- cf91423af fix: trim zero bytes in the DHCP host & domain response
- b5424e4c8 fix: correctly handle status-code 204
Changes from siderolabs/pkgs
3 commits
- siderolabs/pkgs@71b336d fix: enable memcg v1
- siderolabs/pkgs@14ee6ad feat: bump linux-firmware
- siderolabs/pkgs@457015d feat: backports for 1.10
Changes from siderolabs/tools
Dependency Changes
- github.com/containerd/containerd/v2 v2.0.5 -> v2.0.7
- github.com/siderolabs/pkgs v1.10.0-34-g88700c7 -> v1.10.0-37-g71b336d
- github.com/siderolabs/talos/pkg/machinery v1.10.7 -> v1.10.8
- github.com/siderolabs/tools v1.10.0-6-g306d9d9 -> v1.10.0-7-g39357c8
- github.com/ulikunitz/xz v0.5.12 -> v0.5.15
- golang.org/x/net v0.41.0 -> v0.42.0
- golang.org/x/term v0.32.0 -> v0.33.0
- golang.org/x/time v0.11.0 -> v0.12.0
- k8s.io/api v0.33.4 -> v0.33.6
- k8s.io/apiserver v0.33.4 -> v0.33.6
- k8s.io/client-go v0.33.4 -> v0.33.6
- k8s.io/component-base v0.33.4 -> v0.33.6
- k8s.io/kube-scheduler v0.33.4 -> v0.33.6
- k8s.io/kubectl v0.33.4 -> v0.33.6
- k8s.io/kubelet v0.33.4 -> v0.33.6
- k8s.io/pod-security-admission v0.33.4 -> v0.33.6
Previous release can be found at v1.10.7
Images
ghcr.io/siderolabs/flannel:v0.26.7
registry.k8s.io/coredns/coredns:v1.12.1
gcr.io/etcd-development/etcd:v3.5.21
registry.k8s.io/kube-apiserver:v1.33.6
registry.k8s.io/kube-controller-manager:v1.33.6
registry.k8s.io/kube-scheduler:v1.33.6
registry.k8s.io/kube-proxy:v1.33.6
ghcr.io/siderolabs/kubelet:v1.33.6
ghcr.io/siderolabs/installer:v1.10.8
registry.k8s.io/pause:3.10
v1.12.0-beta.0
Talos 1.12.0-beta.0 (2025-11-14)
Welcome to the v1.12.0-beta.0 release of Talos!
This is a pre-release of Talos
Please try out the release binaries and report any issues at
https://github.com/siderolabs/talos/issues.
New User Volume type - bind
New field in UserVolumeConfig - volumeType that defaults to partition, but can be set to directory.
When set to directory, provisioning and filesystem operations are skipped and a directory is created under /var/mnt/<name>.
The directory type enables lightweight storage volumes backed by a host directory, instead of requiring a full block device partition.
When volumeType = "directory":
- A directory is created at
/var/mnt/<metadata.name>; provisioning,filesystemandencryptionare prohibited.
Note: this mode does not provide filesystem-level isolation and inherits the EPHEMERAL partition capacity limits.
It should not be used for workloads requiring predictable storage quotas.
Disk Encryption
Talos versions prior to v1.12 used the state of PCR 7 and signed policies locked to PCR 11 for TPM based disk encryption.
Talos now supports configuring which PCRs states are to be used for TPM based disk encryption via the options.pcrs
field in the tpm section of the disk encryption configuration.
If user doesn't specify any options Talos defaults to using PCR 7 for backwards compatibility with existing installations.
This change was made to improve compatibility with systems that may have varying states in PCR 7 due to UEFI Secure Boot configurations
and users may wish to disable locking to PCR 7 state entirely.
Signed PCR policies will still be bound to PCR 11.
The currently used PCR's can be seen with talosctl get volumestatus <volume> -o yaml command.
New User Volume type - disk
volumeType in UserVolumeConfig can be set to disk.
When set to disk, a full block device is used for the volume.
When volumeType = "disk":
- Size specific settings are not allowed in the provisioning block (
minSize,maxSize,grow).
Embedded Config
Talos Linux now supports embedding the machine configuration directly into the boot image.
etcd
etcd container image is now pulled from registry.k8s.io/etcd instead of gcr.io/etcd-development/etcd.
Ethernet Configuration
The Ethernet configuration now includes a wakeOnLAN field to enable Wake-on-LAN (WOL) support.
This field can be set to enable WOL and specify the desired WOL modes.
Extra Binaries
Talos Linux now ships with nft binary in the rootfs to support CNIs which shell out to nft command.
Feature Lock
Talos now ignores the following machine configuration fields:
machine.features.rbac(locked to true)machine.features.apidCheckExtKeyUsage(locked to true)cluster.apiServer.disablePodSecurityPolicy(locked to false)
These fields were removed from the default machine configuration schema in v1.12 and are now always set to the locked values above.
Talos force reboot
Talos now supports a "force" reboot mode, which allows skipping the graceful userland termination.
It can be used in situations where a userland service (e.g. the kubelet) gets stuck during graceful shutdown, causing the regular reboot flow to fail.
In addition, talosctl was updated to support this feature via talosctl reboot --mode force.
GRUB
Talos Linux introduces new machine configuration option .machine.install.grubUseUKICmdline to control whether GRUB should use the kernel command line
provided by the boot assets (UKI) or to use the command line constructed by Talos itself (legacy behavior).
This option defaults to true for new installations, which means that GRUB will use the command line from the UKI, making it easier to customize kernel parameters via boot asset generation.
For existing installations upgrading to v1.12, this option will default to false to preserve the legacy behavior.
Kernel Module
Talos now supports optionally disabling kernel module signature verification by setting module.sig_enforce=0 kernel parameter.
By default module signature verification is enabled (module.sig_enforce=1).
When using Factory or Imager supply as -module.sig_enfore module.sig_enforce=0 kernel parameters to disable module signature enforcement.
Kernel Security Posture Profile (KSPP)
Talos now enables a stricter set of KSPP sysctl settings by default.
The list of overridden settings is available with talosctl get kernelparamstatus command.
Encrypted Volumes
Talos Linux now consistently provides mapped names for encrypted volumes in the format /dev/mapper/luks2-<volume-id>.
This change should not affect system or user volumes, but might allow easier identification of encrypted volumes,
and specifically for raw encrypted volumes.
Network Configuration
The network configuration under .machine.network (with the exception of KubeSpan) has been deprecated, but it is still supported for backwards compatibility.
New configuration documents were created to replace it, they will be documented in the future.
CRI Registry Configuration
The CRI registry configuration in v1apha1 legacy machine configuration under .machine.registries is now deprecated, but still supported for backwards compatibility.
New configuration documents RegistryMirrorConfig, RegistryAuthConfig and RegistryTLSConfig should be used instead.
talosctl image cache-serve
talosctl includes new subcommand image cache-serve.
It allows serving the created OCI image registry over HTTP/HTTPS.
It is a read-only registry, meaning images cannot be pushed to it, but the backing storage can be updated by re-running the cache-create command;
Additionally talosctl image cache-create has some changes:
- new flag
--layout:oci(default),flat:ocipreserves current behavior;flatdoes not repack artifact layer, but moves it to a destination directory, allowing it to be served bytalosctl image cache-serve;
- changed flag
--platform: now can accept multiple os/arch combinations:- comma separated (
--platform=linux/amd64,linux/arm64); - multiple instances (
--platform=linux/amd64 --platform=linux/arm64);
- comma separated (
UEFI Boot
When using UEFI boot with systemd-boot as bootloader (on new installs of Talos from 1.10+ onwards), Talos will now not touch the UEFI boot order.
Talos 1.11 made a fix to create UEFI boot entry and set the boot order as first entry, but this behavior caused issues on some systems.
To avoid further issues, Talos will now only create the UEFI boot entry if it does not exist, but will not modify the boot order.
Component Updates
Linux: 6.17.7
Kubernetes: 1.35.0-alpha.3
CNI Plugins: 1.8.0
cryptsetup: 2.8.1
LVM2: 2_03_34
systemd-udevd: 257.8
runc: 1.3.2
CoreDNS: 1.13.1
etcd: 3.6.5
Flannel: 0.27.4
Flannel CNI plugin: v1.8.0-flannel2
runc: 1.3.3
containerd: 2.1.5
Talos is built with Go 1.25.4.
Contributors
- Andrey Smirnov
- Noel Georgi
- Mateusz Urbanek
- Dmitrii Sharshakov
- Amarachi Iheanacho
- Orzelius
- Oguz Kilcan
- Laura Brehm
- Justin Garrison
- Artem Chernyshev
- Utku Ozdemir
- George Gaál
- Jorik Jonker
- Michael Smith
- Nicole Hubbard
- 459below
- Adrian L Lange
- Alp Celik
- Andrew Longwill
- Chris Sanders
- Dmitry
- Febrian
- Florian Grignon
- Fred Heinecke
- Giau. Tran Minh
- Grzegorz Rozniecki
- Guillaume LEGRAIN
- Hector Monsalve
- Markus Freitag
- Max Makarov
- Mike Beaumont
- Misha Aksenov
- MrMrRubic
- Olivier Doucet
- Pranav
- Sammy ETUR
- Serge Logvinov
- Skyler Mäntysaari
- SuitDeer
- Tom
- aurh1l
- frozenprocess
- frozensprocess
- kassad
- leppeK
- samoreno
- theschles
- winnie
Changes
291 commits
- 3d997d742 release(v1.12.0-beta.0): prepare release
- e62384ba3 fix: re-creating STATE after partition drop
- 6919d232a docs: update kernel args size
- 887b296dc test: randomize MAC addresses used in the unit-tests
- 6063fbf91 feat: update dependencies
- 542a67a06 feat: add riscv64 build of talosctl
- 68560b53a fix: split volume/disk locators
- 2c3d30e94 docs: fix image-cache-path flag description
- 93f2e87c2 feat: shorthand for generating secrets to stdout
- 5e1de0035 feat: implement time and resolvers multi-doc configuration
- 399240be3 feat: drop partitions on reset with system partitions wipe
- 5cca96655 feat: add new rockchip sbcs
- 00fe50d86 fix: uefi bootorder setting
- 3a881184b chore: improve error handling for system disk reset
- 859194e67 chore: extract system+user volume config transformers, test
- 308c6bc41 feat: add full disk volumes
- 82ac1119e feat: implement new registry configuration
- 106f45799 feat: update Linux kernel with userfaultfd/VDPA
- 721a1e0d7 chore: rename+improve
client.ErrEventNotSupported - 43f4e317f fix: race between VolumeConfigController and UserVolumeConfigController
- 66c01a706 chore: deprecate interactive installer mode
- 957770f65 feat(machined): add panic/force mode reboot
- 60be0daf8 feat: implement multi-doc Wireguard config
- cf014cb5d fix: only set default bootloader if none is set
- e9b016f80 fix: use strict platform match when pulling images
- siderolab...