github.com/siderolabs/talos
v1.13.9
#302 most downloaded on Go modules
siderolabs/talos
What this package is like to depend on
Last release today
23 Aug 2026
Ships on a steady schedule
a new release about every 8 days
Rarely documented
notes for 11 of 92 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
2639 releases · first in 2018
1860 releases in the last 12 months
see the full history below
Release timeline
2639 releases · Feb 2026 to Aug 2026Releases
latest 60 of 2639-
v1.14.0-rc.114 Aug 2026 pre-releaseRelease notes
Open source →Talos 1.14.0-rc.1 (2026-08-14)
Welcome to the v1.14.0-rc.1 release of Talos!
This is a pre-release of TalosPlease try out the release binaries and report any issues at
https://github.com/siderolabs/talos/issues.DNS over TLS (DoT) and DNS over HTTPS (DoH) Support
Talos now supports DNS over TLS (DoT) and DNS over HTTPS (DoH) for secure DNS resolution.
These features allow Talos to encrypt DNS queries and responses, enhancing privacy and security for DNS traffic.
The DNS protocol can be configured on a per-name server basis in theResolverConfigdocument, allowing for flexible configuration of DNS resolution.Apply Configuration Modes
The '--mode=reboot' option has been removed from the
talosctl apply-configcommand; by default, configuration is applied without a reboot.
Most configuration changes don't require a reboot; the documentation lists the changes that do.Native BGP
Talos now supports running native BGP routing instances on the host via embedded GoBGP servers, configured with
BGPInstanceConfigdocuments.
This removes the need to ship FRR as a system extension for the common fabric-facing use case.List of changes:
- Added repeatable, named
BGPInstanceConfigdocuments to configure local ASN, router-id, optional Linux VRF, advertised interfaces, neighbors, and per-route preferred source (routeSource). - Peer hold-time and BFD behavior are configured inline on each concrete neighbor, which selects either an address or a link.
- Numbered and unnumbered (IPv6 link-local, RFC 8950 extended next-hop) peering are supported, including IPv4 prefixes learned over an IPv6 link-local next-hop.
- Neighbor-local ASN overrides and passive sessions are supported. ECMP (multipath) and BFD (fast failure detection) are supported for fabric peering.
- BFD is currently supported only by the instance in the default routing domain; GoBGP's embedded BFD listener is not VRF-aware.
- Each instance owns an isolated BGP RIB and, by default, installs learned routes into its default or VRF routing table through the existing route controllers. Set
installRoutes: falseto retain learned routes in the BGP RIB without installing them into the Linux routing table. - Instances can selectively import best neighbor-learned routes from other named instances with
importRoutesprefix selectors. Imports are one-way, preserve path attributes, and do not recursively import locally originated or previously imported paths. - Peer state is observable via instance-qualified
BGPPeerStatusresources (talosctl get bgppeerstatus). RouteSpec/RouteStatusnow carry a multipath next-hop list to support ECMP and cross-family (RFC 8950) next-hops.
Btrfs Support
Talos now supports mounting and provisioning
btrfsfilesystem for user volumes and existing volumes.Support for
btrfsis enabled by installingbtrfssystem extension.CRI Base Runtime Specification Configuration
Talos now supports overriding the default OCI runtime specification for CRI containers with a
CRIBaseRuntimeSpecConfigdocument:apiVersion: v1alpha1 kind: CRIBaseRuntimeSpecConfig overrides: process: rlimits: - type: RLIMIT_NOFILE hard: 1024 soft: 1024
The
.machine.baseRuntimeSpecOverridesfield is deprecated and remains supported during the deprecation
period. It is mutually exclusive withCRIBaseRuntimeSpecConfig; configurations containing both are rejected.Applying, updating, or removing either source regenerates the base runtime specification and restarts CRI
automatically. A machine reboot is no longer required.CRI Customization Configuration
Talos now supports customizing the CRI containerd configuration with named
CRICustomizationConfig
documents. Each document contains a TOML fragment; fragments are merged in lexicographical order by name.
Applying, updating, or removing these documents updates the generated CRI configuration and restarts CRI
automatically.The legacy
/etc/cri/conf.d/20-customization.partmachine-file configuration remains supported during the
deprecation period and is exposed under the reserved namecustomization. ACRICustomizationConfigdocument
cannot use that name.NOTE: a machine reboot is no longer required to apply changes to CRI configuration.
Containerd NRI
Talos no longer disables NRI (Node Resource Interface) for the CRI containerd instance by default, so NRI is available
to use without any machine config patches.To bring back the old behavior of NRI disabled by default, add the following machine configuration document:
apiVersion: v1alpha1 kind: CRICustomizationConfig name: disable-nri content: | [plugins] [plugins."io.containerd.nri.v1.nri"] disable = true
Default Installer Image
The default installer image has been updated to use the Image Factory.
Theghcr.io/siderolabs/installerimage is no longer published with releases; use the Image Factory installer image instead.DHCP
DHCPv4 search domains are now applied to the resolver configuration.
DHCPv4 configuration now supports
ignoreRoutesoption to ignore routes provided by DHCPv4 servers.Cluster Discovery
Talos introduces support for configuring multiple discovery service endpoints.
Talos introduces new document for configuring the cluster discovery identity.List of changes:
- Deprecated
.cluster.discoveryin the v1alpha1 config; use theDiscoveryServiceConfigdocument for discovery service configuration. The v1alpha1 config andDiscoveryServiceConfigare mutually exclusive. - Deprecated
.cluster.secretandcluster.idin the v1alpha1 config; use theDiscoveryIdentityConfigdocument for discovery identity configuration. The v1alpha1 config andDiscoveryIdentityConfigare mutually exclusive. - Changed cluster ID encoding in the generated secret bundle, from
base64.URLEncodingtobase64.StdEncoding. This aligns the encoding with the rest of Talos.
Encryption Discards
Volume encryption now supports an
allowDiscardsoption (disabled by default) which passes TRIM/discard requests
through to the underlying device when the encrypted volume is opened.This only enables passing discards through to the underlying device; Talos does not perform any fstrim/discard operation by itself.
etcd
Talos is now compatible with etcd v3.6.x only (the default etcd version was 3.6.x since Talos v1.11).
The default version is 3.7.0+ now.etcd now serves its HTTP-only endpoints (
/metrics,/health, the gRPC-gateway JSON API) on a dedicated
listener on port2383, while the client port2379serves gRPC only. This keeps gRPC off Go'snet/http
HTTP/2 server, avoiding watch-stream starvation under TLS (see etcd-io/etcd#15402, golang/go#58804,
etcd-io/etcd#21605).Upgrade note: etcd metrics and the HTTP health endpoint are no longer reachable on
2379; scrape them on
port2383instead (same client mTLS as before). etcd gRPC clients and the Talos health check are unaffected.Firewall might need to be adjusted to block the port
2383if previously2379was blocked.If
--listen-metrics-urlswas customized, the metrics should not move.EtcFileConfig
Talos now supports managing user-owned files under
/etcwith the newEtcFileConfigmulti-document
configuration kind. The documentnameis the path relative to/etc, and each document owns the complete
file contents and mode.This can be used to configure files such as
/etc/nfsmount.confor/etc/multipath.conf. Talos-managed
paths, includingresolv.conf,hosts,machine-id, CRI and Kubernetes configuration, trust bundles, and
identity files, are rejected to prevent overriding files owned by Talos.Filesystem Trim
Talos can now periodically trim (the equivalent of the
fstrimcommand) mounted filesystems which support trimming,
discarding unused blocks. This is useful for SSDs and thin-provisioned storage.Trimming is opt-in via a new
FilesystemTrimConfigdocument which sets the global trim interval:apiVersion: v1alpha1 kind: FilesystemTrimConfig interval: 168h0m0s # one week
The default machine configuration for Talos 1.14+ includes a
FilesystemTrimConfigdocument with a default trim interval of one week,
so trimming is enabled by default for eligible filesystems. For cluster which were upgraded from older versions, theFilesystemTrimConfigdocument will be missing,
so trimming will be disabled by default until the document is added.When the document is present, Talos builds a stable schedule (hashed by node ID and volume ID, so trims are spread out
across volumes and across nodes in a cluster) and trims eligible volumes (ready disk/partition volumes with a
trim-capable filesystem; for encrypted volumes only whenallowDiscardsis set).The trim interval can be overridden or disabled per-volume via a
trimblock on the volume documents
(VolumeConfig,UserVolumeConfig,ExistingVolumeConfig,ExternalVolumeConfig):trim: enabled: true interval: 24h0m0s
Flannel CNI
Talos now configures Flannel with the
EnableNFTablesoption enabled, which uses nftables native backend instead ofiptables-nftcompatibility layer.FlexVolume Host Path Removed
Talos no longer provisions the deprecated FlexVolume executable host path at
/usr/libexec/kubernetes. FlexVolume has been deprecated since Kubernetes 1.23.
Modern CSI plugin paths under/var/lib/kubeletare unaffected.Host DNS Configuration
HostDNS configuration was moved from the v1alpha1 config
.machine.features.hostDNSfield to the newhostDNSin theResolverConfigdocument.HTTP Probe Support
Talos now supports HTTP network probes, allowing for monitoring of HTTP endpoints.
HTTP responses with status 200-399 are considered successful, while connection and transport errors are treated as failures.Image Cache Configuration
Talos now supports a new
ImageCacheConfigdocument for configuring the Image Cache feature, replacing the oldmachine.features.imageCachefield in the v1alpha1 config.
Old configuration is still supported for backwards compatibility.Kernel Multi-document Configuration
Talos introduces new multi-document configuration for kernel parameters (sysctl and sysfs settings), replacing the old v1alpha1 config fields.
The old configuration is still supported for backwards compatibility, but new deployments should use the new documents.If both old and new configuration sources are used, the new multi-document configuration takes precedence over the old v1alpha1 config on conflicting fields.
List of changes:
- Deprecated
.machine.sysctlsin the v1alpha1 config; use theSysctlConfigdocument for kernel sysctl configuration. - Deprecated
.machine.sysfsin the v1alpha1 config; use theSysfsConfigdocument for sysfs configuration. - Deprecated
.machine.kernelin the v1alpha1 config; use theKernelModuleConfigdocument for kernel module configuration.
Kernel Module Status
Talos now reports the status of both dynamically loaded, and built-in kernel modules.
The
LoadedKernelModuleresource has been deprecated and superseded by the newKernelModuleStatusresource.In-tree Volume Plugins Deprecated
Because the kubelet now runs inside the sandbox namespace (see the workload isolation note), the in-tree
Kubernetes volume plugins that require the kubelet to reach host-level daemons no longer work. In particular
the in-treeiscsivolume plugin, which drives the kubelet'siscsiadmwrapper to talk to the hostiscsid,
can no longer locate it across the sandbox PID namespace boundary.Use CSI drivers instead — a CSI node plugin performs the attach/mount itself in its own privileged pod and is
unaffected by the sandbox. For iSCSI,kubernetes-csi/csi-driver-iscsi(ordemocratic-csi) consumes a
target the same way. All in-tree (non-CSI) volume plugins are deprecated for the kubelet and support for them
may be removed in a later release.Kubernetes Multi-document Configuration
Talos introduces new multi-document Kubernetes configuration, which allows for more flexible and modular configuration of Kubernetes components.
Talos still supports the old v1alpha1 config for backwards compatibility, but new features and fields will only be available in the new multi-document format.
Thekube-proxyis now using configuration to manage its settings instead of command line arguments (with newKubeProxyConfigdocument).List of changes:
- Deprecated
.cluster.secretboxEncryptionSecretin the v1alpha1 config; use theKubeEtcdEncryptionConfigdocument for full etcd encryption configuration. - Deprecated
.cluster.apiServerin the v1alpha1 config; use theKubeAPIServerConfig,KubeAdmissionControlConfig,KubeAuditPolicyConfig,KubeAuthenticationConfigandKubeAuthorizerConfigdocuments for kube-apiserver configuration. - Deprecated
.cluster.ca,.cluster.acceptedCAsand.cluster.aggregatorCAin the v1alpha1 config; use theKubeAPIServerCAConfig,KubeAggregatorCAConfigdocuments. - Deprecated
.cluster.controllerManagerin the v1alpha1 config; use theKubeControllerManagerConfigdocument for kube-controller-manager configuration. - Deprecated
.cluster.schedulerin the v1alpha1 config; use theKubeSchedulerConfigdocument for kube-scheduler configuration. - Deprecated
.cluster.proxyin the v1alpha1 config; use theKubeProxyConfigdocument for kube-proxy configuration. - Deprecated
.cluster.networkin the v1alpha1 config; use theKubeNetworkConfigdocument for Kubernetes network configuration; Flannel can be configured using theKubeFlannelCNIConfigdocument. - Deprecated
.cluster.coreDNSin the v1alpha1 config; use theKubeCoreDNSConfigdocument for CoreDNS configuration. - Deprecated
.cluster.nameand.cluster.controlPlane.endpoint in the v1alpha1 config; use theKubeClusterConfig` document for cluster name and control plane endpoint configuration. - Deprecated the following list of fields, all of them moved into `KubeNodeConfig:
.cluster.allowSchedulingOnControlPlanes.machine.kubelet.skipNodeRegistration.machine.kubelet.registerWithFQDN.machine.kubelet.nodeIP.machine.nodeLabels.machine.nodeAnnotations.machine.nodeTaints
- The default
NoScheduletaint for controlplane and label are now explicitly listed inKubeNodeConfig. - Deprecated the rest of
.machine.kubeletfields in the v1alpha1 config; use theKubeNodeConfigandKubeCredentialProviderConfigdocuments for kubelet configuration. - Deprecated
.machine.podsin the v1alpha1 config; use theKubeStaticPodConfigdocument for static pod configuration. - Deprecated
.machine.filesin the v1alpha1 config; use dedicated configuration documents such asEtcFileConfigandCRICustomizationConfiginstead. - Deprecated
.machine.baseRuntimeSpecOverridesin the v1alpha1 config; use theCRIBaseRuntimeSpecConfigdocument for base runtimespec overrides. - Deprecated
.cluster.inlineManifestsin the v1alpha1 config; use theKubeInlineManifestConfigdocument for inline manifests. - Deprecated
.cluster.extraManifestsand.cluster.extraManifestHeadersin the v1alpha1 config; use theKubeExternalManifestConfigdocument for external manifests. - Deprecated
.machine.features.kubePrism; use theKubePrismConfigdocument for KubePrism configuration (or remove it to disable KubePrism). - Deprecated
.machine.features.kubernetesTalosAPIAccess; use theKubeTalosAPIAccessConfigdocument instead. - Added
nodeCIDRMaskSizeIPv4(default24) andnodeCIDRMaskSizeIPv6(default64) settings to theKubeNetworkConfigdocument to control the per-node pod CIDR mask size and validate the pod and service subnet sizes.
LVM Logical Volume Creation
Logical volumes can now be declared with a new
LVMLogicalVolumeConfigmulti-doc config kind. Each document
names a logical volume, its parentvolumeGroup, atype(linear,raid0,raid1orraid10) and a
maxSize(absolute, e.g.50GiB, or a percentage of the volume group, e.g.80%). RAID layouts accept
optionalmirrors(raid1/raid10, default 1) andstripes(raid0/raid10, default: all available physical
volumes) fields. Once the volume group is assembled the logical volume is created vialvcreate.Raising
maxSizegrows an existing logical volume vialvextend; percentage-sized volumes also grow when
their volume group is extended. Shrinking is never performed (it risks data loss) - a request to reduce the
size surfaces anLVMValidationErrorinstead. Removal stays an explicit operation via the LVMService LV
remove RPC (talosctl wipe lv).LVM Status
Talos now provides detailed LVM status information, allowing for better monitoring and management of LVM volumes.
New resourcesLVMPhysicalVolumeStatus,LVMVolumeGroupStatus, andLVMLogicalVolumeStatusexpose PV, VG, and LV details.
DiscoveredVolumeresources for logical volumes are listed by their kernel name (e.g.dm-0). To resolve the<vg>/<lv>for a given device, use theDisksorBlockSymlinksresources, which carry the udev-managed symlinks (e.g./dev/disk/by-id/dm-name-<vg>-<lv>).LVM Volume Group Creation
Talos can now create and grow LVM Volume Groups declaratively through a new
LVMVolumeGroupConfigmulti-doc
config kind. Each document names a Volume Group and a CELvolumeSelectorover the disk inventory; matched
disks are initialised as Physical Volumes (pvcreate) and aggregated into the requested VG (vgcreate).
Newly matched disks added to an existing VG are attached viavgextend.Reconciliation is strictly additive and safe-by-default.
LVM Wipe
Talos now provides the ability to securely wipe LVM metadata from logical volumes, volume groups, and physical volumes.
This feature allows for selective wiping of logical volumes, volume groups, and physical volumes.With
talosctl wipe lv/vg/pv <name>, users can wipe LVM metadata from a specific logical volume, volume group, or physical volume.NTS for Time Synchronization
Talos now supports Network Time Security (NTS) for secure time synchronization.
This feature enhances the security of NTP by providing cryptographic authentication of time sources.NTS is enabled by default (without any configuration sources) for the default
time.cloudflare.comtime server
NTS can be enabled for custom time servers via the newuseNTSfield in theTimeServerConfigdocument.RAID Array Creation
Talos can now create and grow Linux MD (software RAID) arrays declaratively through a new
RAIDArrayConfig
multi-doc config kind. Each document names an array, itslevel(raid1) and a CELvolumeSelectorover
the disk inventory; matched disks are assembled into the requested array withmdadmand exposed at the stable
/dev/disk/by-id/md-name-<name>path. New matching disks added to an existing array are attached automatically.Reconciliation is strictly additive and safe-by-default. Arrays are never destroyed by removing the config;
removal stays an explicit operation viatalosctl wipe md <device>. The newMDArrayStatusresource reports the
assembled array, level, device path, and members.Booting from a RAID Array
Talos can now be installed onto and boot from a Linux MD (software RAID) array. Define a
RAIDArrayConfigfor the
array and point the install disk selector (UnattendedInstallConfig) at the resulting/dev/disk/by-id/md-name-<name>
device.Only
raid1arrays withmetadata: "1.0"can be used for booting: the 1.0 format keeps its superblock at the end of
each member, so the partition table written to the array stays visible at the start of every disk, allowing the
firmware to boot from any member.metadatadefaults to1.0; other levels and metadata formats are not bootable.Workload Isolation (sandboxd)
The container runtime plane — CRI containerd, the kubelet, and all pods — now runs inside a dedicated PID and
mount namespace anchored by a newsandboxdservice, instead of sharingmachined's namespaces.sandboxdruns in its own least-privilege SELinux domain (sandboxd_t). if it dies the kernel tears down the
namespace and Talos recreates it — relaunching CRI, the kubelet, and pods — without rebooting the node.
Its logs are available viatalosctl logs sandboxd.Workload isolation is controlled by the
workloadIsolationfield of the newSecurityProfileConfigdocument.
talosctl gen configemits it withworkloadIsolation: truefor Talos 1.14+, so new clusters are isolated by
default. Clusters upgraded from older versions do not have this document and therefore keep the previous
(non-isolated) behavior until it is added — upgrades change nothing on their own. To enable on an existing
cluster, add the document:apiVersion: v1alpha1 kind: SecurityProfileConfig workloadIsolation: true
NOTE: With workload isolation enabled, the deprecated in-tree Kubernetes iSCSI volume plugin does not work
(the kubelet cannot reach the hostiscsidacross the sandbox); use a CSI driver instead. See the in-tree
volume plugin deprecation note.ICMP send_redirects Disabled by Default
Talos now sets
net.ipv4.conf.all.send_redirects=0andnet.ipv4.conf.default.send_redirects=0by default,
preventing the node from emitting ICMP redirect messages. This aligns with CIS Benchmark recommendations and
does not affect normal Kubernetes pod or service traffic. Nodes that deliberately act as L3 gateways relying
on ICMP redirects can override this viamachine.sysctls.Support Bundle Encryption
The
talosctl supportcommand now encrypts support bundles using the age encryption tool, enhancing the security of support data.
The default set of recipients includes the 'siderolabs' GitHub organization members, but it can be overridden with custom recipients.Dedicated System Volumes
The
ETCD,CRI,KUBELETandLOGsystem volumes (/var/lib/etcd,/var/lib/containerd,/var/lib/kubeletand/var/log)
can now be placed on dedicated partitions via aVolumeConfigdocument withprovisioningset (optionally encrypted).
By default they remain directories under theEPHEMERALvolume.ETCDandLOGvolumes are mounted withnoexecin addition tonosuidandnodevwhensecure: trueis set.apiVersion: v1alpha1 kind: VolumeConfig name: ETCD provisioning: minSize: 1GB maxSize: 2GB
The backing (directory vs. dedicated partition) is fixed at cluster creation: switching an already-provisioned node between the two is rejected.
A dedicated partition has its own mount, so the
mount.secureoption (nosuid/nodev, enabled by default) can be set per volume; directory-backed volumes inherit theEPHEMERALmount options. Talos additionally appliesnoexecto dedicated ETCD and LOG volumes, while CRI and KUBELET remain executable.Note that with
ETCDon a dedicated partition, etcd data no longer lives underEPHEMERAL. Resetting a control plane node with only theEPHEMERALpartition wiped will not clear etcd data; wipe theETCDvolume to reset etcd.TLS 1.3 Minimum Version
Talos now runs etcd and kube-apiserver with a minimum TLS version of 1.3, improving security by leveraging the latest TLS features and cipher suites.
Custom settings for cipher suites have been removed, as they are ignored when TLS 1.3 is used, which simplifies configuration and ensures the use of modern, secure defaults.Udev Rules Multi-document Configuration
Talos introduces new multi-document configuration
UdevRulesConfigdocument for configuring custom udev rules.
The old v1alpha1.machine.udev.rulesfield is still supported for backwards compatibility, but new deployments should use the new document.If both old and new configuration sources are used,
UdevRulesConfigtakes precedence.List of changes:
- Deprecated
.machine.udev.rulesin the v1alpha1 config; use theUdevRulesConfigdocument for custom udev rules.
Unattended Install Configuration
Talos introduces a new
UnattendedInstallmulti-document config kind which replaces the deprecated.machine.install
section of the v1alpha1 config. The document carries the installerimageand aprovisioningsection with a CEL
volumeSelectorto match the install disk, plus awipeoption.When the
UnattendedInstalldocument is present, the install is driven by the newUnattendedInstallController
(exposing anUnattendedInstallStatusresource) instead of the legacy install sequence.talosctl gen configandtalosctl cluster createnow generate theUnattendedInstalldocument by default.
The.machine.installfield remains supported for backwards compatibility and is still used for older version contracts.Component Updates
Linux: 6.18.44
Kubernetes: 1.37.0-rc.0
containerd: 2.3.3
etcd: 3.7.1
Flannel: 0.28.9
runc: 1.5.1
CoreDNS: 1.14.6Talos is built with Go 1.26.6.
Virtual Ethernet Pairs
Talos now supports declarative virtual Ethernet (
veth) pairs through the newVethConfigmulti-document
configuration kind. Both endpoints are created in the host network namespace and support the common link settings,
addresses, routes, and multicast configuration.For example, the following configuration creates a pair named
veth-hostandveth-routerwith an address on each
endpoint:apiVersion: v1alpha1 kind: VethConfig name: veth-host addresses: - address: 10.3.0.1/30 peer: name: veth-router addresses: - address: 10.3.0.2/30
XFS Allocation Group Geometry
On non-rotational devices
mkfs.xfssizes the allocation group count to the number of CPUs, bounding the
allocation group size from below at 4 GiB only. On machines with many cores and a modest disk this produces
hundreds of tiny allocation groups, which squeezes the AG-local reflink/rmap metadata (leading to spurious
ENOSPCon reflink-heavy workloads while the filesystem still has plenty of free space) and inflates the
journal at the same time.Talos now keeps XFS allocation groups at 64 GiB or above when it formats a volume. The bound can be changed
per volume, and setting it to zero restores the stockmkfs.xfsbehavior:apiVersion: v1alpha1 kind: VolumeConfig name: EPHEMERAL filesystem: xfs: minAllocationGroupSize: 128GiB
The same
filesystem.xfs.minAllocationGroupSizesetting is available forUserVolumeConfig.Note: allocation group geometry is fixed when the filesystem is created, so this only affects volumes
formatted by Talos 1.14 or later. Existing volumes keep their current geometry until they are wiped and
re-created (e.g.talosctl reset --system-labels-to-wipe=EPHEMERAL).XFS scrub
Talos now supports automatically running background online filesystem maintenance tasks. Currently,
only XFS using xfs_scrub tool is supported.This behavior can be enabled globally using a FilesystemScrubConfig document, or on per-volume
basis using a field in corresponding VolumeConfig documents.Contributors
- Andrey Smirnov
- Noel Georgi
- Mateusz Urbanek
- Maja Bojarska
- Utku Ozdemir
- Orzelius
- Erwan Leboucher
- Dmitrii Sharshakov
- Kevin Tijssen
- Lukasz Raczylo
- Mickaël Canévet
- Oguz Kilcan
- Dmitriy Matrenichev
- Edward Sammut Alessi
- Rokoucha
- buckaroo
- immanuwell
- kastakhov
- Aleksei Sviridkin
- Andras Elso
- Ansgar Dahlen
- Artem Chernyshev
- Benoît Knecht
- Calin
- Christian A. Jacobsen
- Christian Korneck
- Christopher Barnes
- Dario Emerson
- David Donchez
- David Orman
- Dharsan Baskar
- Dmitry Sharshakov
- Filip Boye-Kofi
- Fritz Schaal
- Immanuel Tikhonov
- Jaakko Sirén
- Jonny
- Justin Garrison
- Konstantin Nesterov
- Loki San
- Mario Cole
- Mark Glants
- Maxime Bertin
- Nico Berlee
- Pranav Patil
- Spencer Smith
- YANG JOO WOONG
- Zadkiel AHARONIAN
- appkins
- ctr49
- imusmanmalik
- scmtble
Changes
545 commits- 7a84d742b release(v1.14.0-rc.1): prepare release
- 89ea1af12 chore: ci uses extensions release-1.14
- b881ccee1 chore: backport go 1.26.6
- 38a88d7a5 fix: share IPC namespace with the host for extension services
- 26d4d389e fix: use v1.13 config to test downgrade failure
- 6b6a4cc01 fix: provide read-only random seed in the ISO
- 250865dec chore: bump go deps
- c0613dfe0 chore: rekres
- 18e26bbb0 chore: bump tools and pkgs to v1.14.0
- b2262db3b fix: respect authentication-config extra arg for legacy config
- 1407a242e test: restore Talos 1.13 ephemeral policy skip
- 16a147dc7 feat: allow passing extra QEMU arguments per node
- d6db2fd44 fix: render absolute CRI registry TLS paths
- ee18fb424 fix: data race in Never condition closures
- dc77862dc fix: show installer output on upgrade failure
- 7fbe57f8c fix: build native custom linter for lint targets
- 51f96d6bb fix: rework bootloader install and image generation
- 82fe416a4 test: fix ephemeral check for talos < 1.14
- c96fdc764 chore: dependency updates 2026-08-11
- f86ad4d77 chore: bump flannel to 0.28.9
- a23c6b9f5 test: retry k8s node discovery
- 2666f13dc fix: flag all devices backing system disk, not just top one
- c166e8863 feat: run full md boot integration suite
- a81e32c97 feat: add alibabacloud platform
- c14b43a9b fix: use less memory on the install path
- 87bfa703b fix: size the receive/send buffers for nftables netlink
- 83c132e6a docs: update volume mount secure options
- cd0359d94 feat: impl ContainerConfigController
- 54b11fd9c test: fix the flakiness in image pull in provision-3 pipeline
- 0303f3181 fix: preserve connected prefixes in BGP advertisements
- 6fa811a0d fix: drop
noexecfor KUBELET, EPHEMERAL and CRI - 25d8c0a51 feat: update Kubernetes to 1.37.0-rc.0
- 63ef4df99 fix: keep host DNS enabled for partial machine config
- b00c06b35 fix: support image factory URLs with explicit port
- 825844afd chore: build custom-gcl for the host OS/arch
- 54673711f feat: tag published cloud images with a build type
- 3abe89e00 fix: avoid small panics
- c75361127 test: wait for CRI runtime spec overrides
- b0b77bcae fix: recover router advertisement sender panics
- 6e3d0c55c fix: image pull via the API should not have timeout or retries
- a150503d5 fix: collapse machined/apid logs with authz messages
- 30ae29b1b test: skip iptables compatibility test in enforcing
- 8ad52d6dd fix: wait for router advertisement senders on shutdown
- a0b021e36 chore: update go-talos-support to 0.3.1
- 85e97a55f fix: panic when KubeProxy is disabled without image override
- 969098c91 fix: bring in fixed Linux kernel with iptables xt modules
- 7d01fc936 fix: ignore unmanaged address flags in AddressSpecController
- 9ffa772ba feat: support experimental k8s-less and etcd-less mode
- aab940f6a chore: update kernel to 6.18.42
- 6e45d0520 fix: ignore HostDNS IPv6 address in node addresses
- 4b89c911f feat: add support for static VLAN configuration to the dashboard
- e225ff060 fix: keep host dns enabled during bootstrap
- 02c87ba96 fix: record PID properly when under sandboxd
- fe2b5b430 test: apply correctly hydrophone timeouts
- ab42416e0 test: use new multi-doc external manifest
- f3974dc4b fix: a condition when unattended install status can flip to installed
- e20509bae test: update airgapped patches
- 0d1f6e576 release(v1.14.0-beta.1): prepare release
- 1ab88f743 fix: load the raid1 module for configured MD arrays
- 9e8568d26 fix: use inmem containerd for installs/upgrades
- 8cf28da5f fix: preserve kmsg reconciliation after config changes
- 311b6fde9 fix: make reset during boot phase more robust
- 945d1cdab feat: bump kernel to 6.18.41
- 4e77d40e8 fix: restore the systemd-timesync best-sample check in spike detection
- 4444a187d test: inspect host mount state from the current thread
- b7c0497b0 fix: race between vol.cfg. and vol.mgr. ctrl
- ef9a091ec feat: allow attaching extra disks to controlplane machines
- a418c0e1e test: fix CRI restart event assertion race
- a9bfdbdd4 fix: ignore insecure-only imager assets
- 54e3b20e8 fix: hold the darwin vmnet bridge open for the network lifetime
- bc59389fa fix: drop the OOM config rule about overall system memory PSI
- 69be56ea9 chore: add some initial set of libvirt SELinux policies
- 6170ad8b9 fix: validate kubespan & discovery config correctly for multi-doc
- 6e58c6d5a test: fix ded. vol. plumbing in integration tests
- b644d1640 fix: allow directory-backed volumes in reset api
- 28e7a8742 feat: bump etcd to v3.7.1
- 2c657c224 feat: bump kernel to 6.18.40
- b1bdc8c07 test: restart qemu process several times on startup failures
- 7533057a7 feat: support route imports between BGP instances
- a94783704 docs: remove duplicated docs in the markdown for CLI
- 6f17c5033 fix: verify the public key signed images correctly
- 570fe34f0 fix: generate backwards compatible etcd encryption config
- f7790816e fix: use context without cancelation for etcd locks
- 67e61ef30 feat: add the fs_scrub controller
- 1c156458a fix: override DHCP search domains via explicit ResolverConfig domains
- fd8dbd8a1 fix: skip pod check if desired number of pods is zero
- 9aede5429 feat: add kubeimportlinter for versioned k8s imports
- ae93d1462 fix: redact resource specs in the merge controllers
- fc5743cd0 feat: add GrubUseUKICmdline install option
- 6bba77724 feat: add named native BGP instances
- c5ab22f1d feat: move Talos API access from Kubernetes config to multi-doc
- b1abd9c03 fix: split the up/finished service events
- 644ecbc66 feat: add discovered volumes status controller
- 6be2b1384 feat: add veth pair support
- 7514401de fix: drop the controlplane static pod change
- 9a521f667 fix: preserve container tasks across CRI restarts
- 9048d4157 fix: fix a nil-map assignment panic in configpatcher
- 45eaf2037 release(v1.14.0-beta.0): prepare release
- 7e58e0442 feat: add dedicated CRI configuration documents
- 076c38136 fix: race with PCR extensions and volume unlock
- 88884194c fix: teardown ephemeral mount request during reset
- c793bcbf5 fix: configure bonds during initial link creation
- 9b3bf6e51 fix(talosctl): prevent duplicate QEMU config server ports
- fa6cd1ca8 fix(machined): preserve health when services reach running
- 9d5554e69 fix(machined): wait for host namespace commands through reaper
- fc08533bf chore: update dependencies
- c08863cdd feat: provide different heuristics for xfs allocation groups
- e955d9bd7 feat: update CoreDNS to 1.14.6
- c3f757f9e feat: update Flannel to 0.28.8
- fada0d960 fix: provide non-sensitive KubeletStatus resource
- c68085286 fix: volume mount race (third attempt) around service restart
- b185752e5 feat: refactor KubePrism config into multidoc
- 499d4ebf9 test: update Calico in canal reset test
- 5b6ed0068 test: add a test for kata-qemu runtime class
- 1a075383a feat: allow "duplicate" kinds in the config patches
- 06943be9e feat: update Kubernetes to 1.37.0-beta.0
- 01f2a1423 fix: preserve trailing rate-limited trigger events
- 46fab8057 test: stabilize AWS readiness and Talos 1.13 QEMU config
- a26ac746d feat: move static pods and manifests into multi-doc
- 67464cbef fix: update the vulnerability dates and description
- 4920ee06f feat: update Linux to 6.18.39
- 286fa8006 feat: include CA into kube-apiserver serving certificate
- 6d65e223b feat: drop kubernetes flexvolume mounts
- 4935e9452 feat: refactor kubelet's config into
KubeletConfig - 241bd0ff1 feat: custom cfg for system volumes (cri, kubelet, etcd)
- ea9557816 fix: talosctl build
- c2b763608 feat: add UFSHC and some other modules
- 2193b5781 feat: native BGP support via embedded GoBGP
- 2e42c5900 fix: add ca-certificates to talosctl
- 0f55e1f05 feat: refactor Kubernetes configs into
KubeNodeConfig - 6efdc8f71 fix: zero MD superblock via block wipe on destroy
- f78f5e5a1 fix: vrf sorting
- 77385181a fix: oom podruntime protection
- c1184d38e feat: update to runc 1.5.1
- 4bff7eb90 feat: support reboot and sync for remote provisioner
- c791fa8c0 feat: add host-namespace debug profile
- e370e40b7 feat: implement KubeClusterConfig
- 37c78bfc0 fix(ci): skip ephemeral noexec test on 1.13
- 0ab6695e6 feat: update Kubernetes to 1.37.0-alpha.3
- 443ca17e1 test: bump test dependencies
- c4242088b fix: enable
noexecfor EPHEMERAL only for new machines - fc9f72648 feat: bump CoreDNS, Flannel
- 352b1bdeb fix: use symlinks for init aliases
- 883775a9e fix: move sandboxd into a separate cgroup
- 099a2ceda fix: remote provisioner name
- ff67aaf32 feat: bump go dependencies
- 79c0c5414 feat: add iommufd as a kernel module
- f34e93fe2 fix: do proper backoff for NTP Kiss-of-Death responses
- a3e644d8d chore: bump tools and pkgs
- efa88f2f6 fix: flaky tests
- 17a134711 feat: add ignoreRoutes option to DHCPv4 config document
- 2519bf231 fix: make audit restartable
- 54b4bbc03
Note truncated.
- Added repeatable, named
-
v1.14.0-beta.1.0.20260823155631-f61de6f4491523 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260821164235-ad8823176e7521 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260821144941-78e378a48c9221 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260821094951-a469e965ab0121 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260821085822-a72281e5b98d21 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260820162210-f80fd098596d20 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260820154324-3b3e0e955f5220 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260820152151-41c0c0a02a9920 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260820124351-dcfb17c96f6b20 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260820113858-63bd62c9c19a20 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260820081455-b2693f08e50220 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260819201849-398d2be8dde919 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260819162708-df72d021f73719 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260819153336-8b5f1097b35319 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260819103137-f7305d6f5dad19 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260818154522-fdf0efa8b0d018 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260818150553-013b9489e02818 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260818133837-4c575c207e2f18 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260818131753-c685f271206d18 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260817123553-aaf35fbde83517 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260817102929-2b0316913a3117 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260817093136-42d72ed56e7b17 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260816151947-be6b96386a9916 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260816145818-68876cc1eb0c16 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260816143635-9cb5dc9b913516 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260814192220-32f7fc0dfde414 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260814183055-a1183478a35b14 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260814174316-1c50b73fbd0a14 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260814171748-6cda3e2e2bd714 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260813145317-8514d99634a913 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260813141707-250865decc5413 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260813134922-b2262db3b0f813 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260813112218-1407a242eebb13 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260812202813-16a147dc76ae12 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260812150442-d6db2fd449ec12 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260812142045-ee18fb4240a812 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260812140625-dc77862dcc5312 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260812134410-7fbe57f8c9e812 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260812092740-82fe416a4a3812 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260811152934-c96fdc76434911 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260811101021-a23c6b9f5ee411 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260811064415-2666f13dce7511 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260811062200-a81e32c9713211 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260810181128-c14b43a9bd1110 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260810160739-87bfa703bddb10 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260810141602-cd0359d94cd810 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260810124637-54b11fd9c72310 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260810112332-0303f3181c6410 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260810111019-6fa811a0d42610 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260810103301-25d8c0a51ed410 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260810084110-63ef4df995ef10 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260810081014-b00c06b3586710 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260810034246-825844afd31a10 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260807174701-54673711fd6c07 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260806124934-3abe89e0002006 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260806111448-c7536112714306 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260806103834-6e3d0c55cb7306 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260805145634-8ad52d6dddeb05 Aug 2026 pre-releaseNothing published for this version
-
v1.14.0-beta.1.0.20260805134958-a0b021e3636505 Aug 2026 pre-releaseNothing published for this version