chore(deps): update mise toolchain dependencies #93
Open
renovate
wants to merge 232 commits from
renovate/mise-toolchain-dependencies into main
pull from: renovate/mise-toolchain-dependencies
merge into: infrastructure:main
infrastructure:main
infrastructure:renovate/ghcr.io-controlplaneio-fluxcd-charts-flux-operator-0.x
infrastructure:renovate/ghcr.io-controlplaneio-fluxcd-charts-flux-instance-0.x
infrastructure:renovate/actions-checkout-7.x
infrastructure:renovate/mirror.gcr.io-envoyproxy-gateway-helm-1.x
infrastructure:agent/gitops/540e437baad3
infrastructure:renovate/quay.io-jetstack-charts-cert-manager-1.x
infrastructure:renovate/quay.io-cilium-charts-cilium-1.x
infrastructure:renovate/ghcr.io-coredns-charts-coredns-1.x
infrastructure:agent/gitops/beaco-233-followup
infrastructure:agent/gitops/fe66ed081a06
infrastructure:renovate/ghcr.io-spegel-org-helm-charts-spegel-0.x
infrastructure:docs/agent-bootstrap-design
infrastructure:agent/gpt-5-6-sol-xhigh/ba6d9eecf1d4
infrastructure:feat/agent-runtime-docs
infrastructure:docs/gitops-merge-coordination
infrastructure:feat/rea-agent-lab
infrastructure:docs/agent-runtime-cli-contracts
infrastructure:feat/wanxiang-thunderbolt
infrastructure:fix/wanxiang-ms01b-network
infrastructure:fix/agent-lan-ssh
infrastructure:renovate/major-github-artifact-actions
infrastructure:fix/mac-mini-agent-access
infrastructure:agent/gitops/25296301b0f3
infrastructure:docs/strata-helper-128k-evaluation
infrastructure:fix/forgejo-tailnet-known-host
infrastructure:renovate/ghcr.io-home-operations-charts-mirror-external-dns-1.x
infrastructure:fix/qwen-thinking-effort
infrastructure:split-nix-collector-and-nix-builder
infrastructure:renovate/ghcr.io-prometheus-community-charts-kube-prometheus-stack-91.x
infrastructure:fix/darwin-runner-gc-drain
infrastructure:agent/gitops/5af13ca9
infrastructure:fix/gen10plus-nvidia-modules
infrastructure:renovate/actions-labeler-7.x
infrastructure:renovate/harvester-1.x
infrastructure:renovate/authentik-2026.x
infrastructure:renovate/code.forgejo.org-forgejo-forgejo-16.x
infrastructure:renovate/ghcr.io-prometheus-community-charts-kube-prometheus-stack-83.x
infrastructure:docs/cicd-aarch64-coverage
infrastructure:renovate/aqua-kubernetes-kubernetes-kubectl-1.x
infrastructure:upgrade/cilium-1.19.8
infrastructure:renovate/ghcr.io-allenporter-flux-local-8.x
infrastructure:renovate/aqua-cue-lang-cue-0.x
infrastructure:renovate/aqua-cli-cli-2.x
infrastructure:renovate/aqua-getsops-sops-3.x
infrastructure:renovate/aqua-helmfile-helmfile-1.x
infrastructure:renovate/aqua-helm-helm-4.x
infrastructure:renovate/mshick-add-pr-comment-3.x
infrastructure:renovate/aqua-fluxcd-flux2-2.x
infrastructure:renovate/aqua-go-task-task-3.x
infrastructure:renovate/pipx-1.x
infrastructure:renovate/jdx-mise-action-4.x
infrastructure:renovate/aqua-cilium-cilium-cli-0.x
infrastructure:renovate/aqua-mikefarah-yq-4.x
infrastructure:renovate/pipx-makejinja-2.x
infrastructure:renovate/aqua-yannh-kubeconform-0.x
infrastructure:renovate/aqua-cloudflare-cloudflared-2026.x
infrastructure:renovate/actions-labeler-6.x
infrastructure:renovate/tj-actions-changed-files-47.x
infrastructure:renovate/uv-0.x
infrastructure:renovate/aqua-siderolabs-talos-1.x
infrastructure:renovate/python-3.x
infrastructure:renovate/aqua-filosottile-age-1.x
infrastructure:renovate/aqua-budimanjojo-talhelper-3.x
infrastructure:chore/rotate-multica-closer-token
infrastructure:feat/multica-issue-completion
infrastructure:docs/renovate-webhook-trigger
infrastructure:fix/policy-dependency-response
infrastructure:fix/policy-response-pairing
infrastructure:fix/policy-node-pairing
infrastructure:fix/policy-read-failures
infrastructure:feat/policy-observability
infrastructure:feat/single-use-review-capabilities
infrastructure:chore/agent-identities-and-reloader
infrastructure:feat/human-pr-approval
infrastructure:feat/multica-risk-triage
infrastructure:agent/gitops/ca87406d
infrastructure:prod
No reviewers
Labels
Clear labels
No items
No labels
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set.
Reference
infrastructure/infra!93
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "renovate/mise-toolchain-dependencies"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
3.1.7→3.1.171.12.6→1.14.11.17.3→1.17.50.11.7→0.12.17Release Notes
budimanjojo/talhelper (aqua:budimanjojo/talhelper)
v3.1.17Compare Source
This will be the last release of Talhelper.
It's been an awesome four years journey for me, unfortunately I no longer have the time and motivation to continue with the development.
A lot of people have contributed to this tool, which is a big surprise for me considering this is my first ever tool that isn't shell script.
For those who have contributed, whether you're simply using this tool as an user, or just reported an issue, to code and financial contributor, I want to say THANK YOU!
This repo will now be archived, and I suggest people who depend on this tool to migrate to other similar tool like topf and talstomize.
v3.1.16Compare Source
Changelog
0f9ada2chore(container): update ghcr.io/getsops/sops docker tag to v3.13.3e3f1e61chore(container): update ghcr.io/siderolabs/talosctl docker tag to v1.13.8f1b1a4echore(container): update goreleaser/goreleaser docker tag to v2.17.18c21c40chore(container): update mcr.microsoft.com/devcontainers/go:2.1-bookworm docker digest to1a3df7e(#1712)7a4a4cdchore(container): update mcr.microsoft.com/devcontainers/go:2.1-bookworm docker digest to30cbde1(#1714)c5b2949chore(deps): update dependency siderolabs/talos to v1.13.88a1b8b7chore(github-action): update renovatebot/github-action action to v46.2.1c383fb5chore(schema): update talos-extensions.yaml JSON schema70ebde7chore(schema): update talos-extensions.yaml JSON schema2b8f430chore(schema): update talos-extensions.yaml JSON schema (#1704)e0b3fe4chore(schema): update talos-extensions.yaml JSON schema (#1709)66fa3a5chore(schema): update talos-extensions.yaml JSON schema (#1713)f61a755chore(schema): update talos-extensions.yaml JSON schema (#1716)d96d4c3feat(flake): update flakee41e2e8feat: update Scoop for talhelper version v3.1.15b7dd2e4feat: update flake (#1703)52098f7fix(deps): update module github.com/budimanjojo/talhelper/v3 to v3.1.15fe57fcffix(deps): update module github.com/getsops/sops/v3 to v3.13.37fabaecfix(deps): update module github.com/google/go-containerregistry to v0.21.8441093afix(deps): update module github.com/google/go-containerregistry to v0.21.9f473d4afix(deps): update module github.com/siderolabs/image-factory to v1.4.0v3.1.15Compare Source
Changelog
89c4d05chore(container): update registry.k8s.io/kubectl docker tag to v1.36.34061b81feat: update Scoop for talhelper version v3.1.14278133bfeat: update flake (#1699)6f720cdfix(deps): update module github.com/budimanjojo/talhelper/v3 to v3.1.14019a83ffix(talos): skip multidoc patching if no docs generatedv3.1.14Compare Source
Changelog
18d0ccfchore(container): update ghcr.io/siderolabs/talosctl docker tag to v1.13.703c2ad3chore(deps): update dependency siderolabs/talos to v1.13.78316775chore(github-action)!: Update actions/setup-go action to v72114982chore(github-action): update actions/checkout action to v7.0.155d44ecchore(github-action): update actions/checkout digest to3d3c42e(#1692)13ac0e0chore(github-action): update renovatebot/github-action action to v46.1.190ece6d0chore(github-action): update renovatebot/github-action action to v46.1.203936ccbchore(schema): update talos-extensions.yaml JSON schemaf129f2achore(schema): update talos-extensions.yaml JSON schema4c3026echore(schema): update talos-extensions.yaml JSON schemaebba461chore(schema): update talos-extensions.yaml JSON schemaf1d0bf9chore(schema): update talos-extensions.yaml JSON schema (#1696)18df9bffeat: update Scoop for talhelper version v3.1.137d56034feat: update flake (#1682)4966cd2fix(deps): update module github.com/budimanjojo/talhelper/v3 to v3.1.131aaa975fix(nix): not sure what happened but something changed with GH archivev3.1.13Compare Source
Changelog
f074cc2chore(code): not sure what happened with yaml parser3a37a98chore(code): upstream library changes06290a0chore(container)!: Update ghcr.io/devcontainers/features/docker-in-docker Docker tag to v48a77334chore(container): update ghcr.io/getsops/sops docker tag to v3.13.2d9aefcdchore(container): update ghcr.io/siderolabs/talosctl docker tag to v1.13.6cd6e9dfchore(container): update goreleaser/goreleaser docker tag to v2.17.01b78919chore(container): update mcr.microsoft.com/devcontainers/go:2.1-bookworm docker digest to090a56c(#1671)5365d4fchore(deps): update dependency siderolabs/talos to v1.13.6547a231chore(flake): update flake9e8ee2achore(github-action)!: Update actions/cache action to v6e381dd6chore(github-action): update actions/setup-go action to v6.5.06e8bb4echore(github-action): update renovatebot/github-action action to v46.1.174f42f70chore(github-action): update renovatebot/github-action action to v46.1.187866c51chore(schema): update talos-extensions.yaml JSON schema (#1665)e28b173chore(schema): update talos-extensions.yaml JSON schema (#1666)d2a54a8chore(schema): update talos-extensions.yaml JSON schema (#1668)155f736chore(schema): update talos-extensions.yaml JSON schema (#1672)5451610chore(schema): update talos-extensions.yaml JSON schema (#1675)6239303chore(schema): update talos-extensions.yaml JSON schema (#1680)93a18adfeat(genconfig): handling CNI for our users, hopefully gracefullyfc51fd1feat: update Scoop for talhelper version v3.1.1296b9fa0feat: update flake (#1658)9a8817afix(decrypt): avoid nil pointer panic on comment-only patch filesff97311fix(deps): update module github.com/budimanjojo/talhelper/v3 to v3.1.12e149b28fix(deps): update module github.com/getsops/sops/v3 to v3.13.2ed8b8d9fix(deps): update module github.com/siderolabs/talos/pkg/machinery to v1.14.0-alpha.273ee7a2fix(deps): update module golang.org/x/mod to v0.38.0v3.1.12Compare Source
Changelog
96ed73cchore(container): update alpine docker tag to v3.24.1571e663chore(container): update ghcr.io/siderolabs/talosctl docker tag to v1.13.53bd2eb5chore(container): update mcr.microsoft.com/devcontainers/go:2.1-bookworm docker digest to50f86fc(#1643)0c109d1chore(container): update registry.k8s.io/kubectl docker tag to v1.36.213a5ff0chore(deps): update dependency siderolabs/talos to v1.13.50390c93chore(github-action)!: Update actions/checkout action to v75087fc8chore(github-action): update renovatebot/github-action action to v46.1.16e39b6b8chore(schema): update talos-extensions.yaml JSON schema5662c03chore(schema): update talos-extensions.yaml JSON schema (#1647)9b96498chore(schema): update talos-extensions.yaml JSON schema (#1649)f3d5b1achore(schema): update talos-extensions.yaml JSON schema (#1650)faf5b7cchore(schema): update talos-extensions.yaml JSON schema (#1655)aaef4b6feat: update Scoop for talhelper version v3.1.1163a5018feat: update flake (#1639)73e7fc4fix(deps)!: Update module github.com/gookit/validate to v2189bb9cfix(deps): update module github.com/budimanjojo/talhelper/v3 to v3.1.117fc8289fix(deps): update module github.com/google/go-containerregistry to v0.21.7ceab8d3fix(genconfig): provide better error on bad secrets bundlec7bbfb0fix(go): renovate didn't update validate v2 properlyv3.1.11Compare Source
Changelog
2766ce8chore(container)!: Update ghcr.io/devcontainers/features/docker-in-docker Docker tag to v38bbd87cchore(container): update alpine docker tag to v3.24.0ba052acchore(container): update ghcr.io/getsops/sops docker tag to v3.13.18ad2979chore(container): update ghcr.io/siderolabs/talosctl docker tag to v1.13.3a582af7chore(container): update ghcr.io/siderolabs/talosctl docker tag to v1.13.4db4f7f1chore(container): update goreleaser/goreleaser docker tag to v2.16.039c85bfchore(container): update mcr.microsoft.com/devcontainers/go:2.1-bookworm docker digest tode99286(#1606)477df60chore(deps): update dependency siderolabs/talos to v1.13.3b043483chore(deps): update dependency siderolabs/talos to v1.13.49d5fe3echore(flake): update flakeec6be59chore(github-action): update actions/checkout action to v6.0.3e33c8f0chore(github-action): update actions/checkout digest todf4cb1c(#1627)4549be4chore(github-action): update renovatebot/github-action action to v46.1.15a876347chore(schema): update talconfig.yaml JSON schema (#1622)c7e1edachore(schema): update talos-extensions.yaml JSON schemafd61e00chore(schema): update talos-extensions.yaml JSON schema82d9e82chore(schema): update talos-extensions.yaml JSON schema5a856eachore(schema): update talos-extensions.yaml JSON schemaf7b85f3chore(schema): update talos-extensions.yaml JSON schema (#1601)1b1b864chore(schema): update talos-extensions.yaml JSON schema (#1604)1a44864chore(schema): update talos-extensions.yaml JSON schema (#1609)2dbd5e1chore(schema): update talos-extensions.yaml JSON schema (#1610)b45088bchore(schema): update talos-extensions.yaml JSON schema (#1611)ecaaefdchore(schema): update talos-extensions.yaml JSON schema (#1612)6206c65chore(schema): update talos-extensions.yaml JSON schema (#1618)a6fb0c6chore(schema): update talos-extensions.yaml JSON schema (#1621)bd2ba61chore(schema): update talos-extensions.yaml JSON schema (#1623)4b7ad23feat(genconfig)!:kubernetesVersionis now a required field4226adbfeat(genconfig):secretboxEncryptionSecretnow have its own documentc314840feat(genconfig): also handle VIP inside VLANdc76faefeat(readme): thank you @parzival-space for the sponsor!e519af3feat: update Scoop for talhelper version v3.1.10a596232feat: update flake (#1596)3e69e2bfix(code): changes in upstream API62724e4fix(code): upstream API changes8d3adc6fix(deps): update module github.com/budimanjojo/talhelper/v3 to v3.1.105b8941afix(deps): update module github.com/getsops/sops/v3 to v3.13.15904285fix(deps): update module github.com/google/go-containerregistry to v0.21.66d8fb7efix(deps): update module github.com/gookit/validate to v1.6.01dae9d3fix(deps): update module github.com/siderolabs/image-factory to v1.3.13f35d0ffix(deps): update module github.com/siderolabs/image-factory to v1.3.24614698fix(deps): update module github.com/siderolabs/image-factory to v1.3.3f82850bfix(deps): update module github.com/siderolabs/talos/pkg/machinery to v1.14.0-alpha.13757c83fix(deps): update module golang.org/x/mod to v0.37.0c14e10efix(test): propagate the now required k8s version to test94be4c5fix(test): there's new validation made upstreamv3.1.10Compare Source
Changelog
1e08ab5chore(container): update ghcr.io/getsops/sops docker tag to v3.13.02784f12chore(container): update ghcr.io/siderolabs/talosctl docker tag to v1.13.2684eb17chore(container): update golangci/golangci-lint docker tag to v2.12.063f12b8chore(container): update golangci/golangci-lint docker tag to v2.12.14e96bd7chore(container): update golangci/golangci-lint docker tag to v2.12.22fc646fchore(container): update registry.k8s.io/kubectl docker tag to v1.36.14c03c46chore(deps): update dependency siderolabs/talos to v1.13.2bd8551echore(github-action): update renovatebot/github-action action to v46.1.1210d346echore(github-action): update renovatebot/github-action action to v46.1.13ebed333chore(github-action): update renovatebot/github-action action to v46.1.14887ee00chore(schema): update talos-extensions.yaml JSON schemae3ab672chore(schema): update talos-extensions.yaml JSON schema320b797chore(schema): update talos-extensions.yaml JSON schemadc18e67chore(schema): update talos-extensions.yaml JSON schemac1c3dd2chore(schema): update talos-extensions.yaml JSON schema (#1573)fb877c6chore(schema): update talos-extensions.yaml JSON schema (#1580)ffde2d2chore(schema): update talos-extensions.yaml JSON schema (#1588)c930a5achore(schema): update talos-extensions.yaml JSON schema (#1593)f26a7b0feat(flake): update flake76a13f5feat: update Scoop for talhelper version v3.1.95361bb6feat: update flaked66b8e5feat: update supported version9546244fix(deps): update module github.com/budimanjojo/talhelper/v3 to v3.1.91447e71fix(deps): update module github.com/getsops/sops/v3 to v3.13.05f359b1fix(deps): update module github.com/siderolabs/image-factory to v1.2.04f10259fix(deps): update module github.com/siderolabs/image-factory to v1.3.0c412894fix(deps): update module github.com/siderolabs/talos/pkg/machinery to v1.14.0-alpha.05ff64a3fix(deps): update module golang.org/x/mod to v0.36.009acef4fix(genconfig): bridge vlan filtering should be generated when definedv3.1.9Compare Source
Changelog
c064a41chore(container): update ghcr.io/siderolabs/talosctl docker tag to v1.13.0168b655chore(deps): update dependency siderolabs/talos to v1.13.05c2278fchore(github-action): update renovatebot/github-action action to v46.1.11ef3aaf3chore(schema): update talos-extensions.yaml JSON schema698e0eefeat: update Scoop for talhelper version v3.1.88b8efc1fix(deps): update module github.com/budimanjojo/talhelper/v3 to v3.1.829a2ffbfix(deps): update module github.com/siderolabs/talos/pkg/machinery to v1.13.0v3.1.8Compare Source
Changelog
de9f765chore(container): update alpine docker tag to v3.23.48b3469echore(container): update ghcr.io/siderolabs/talosctl docker tag to v1.12.76d42d28chore(container): update golangci/golangci-lint docker tag to v2.11.4895ae91chore(container): update goreleaser/goreleaser docker tag to v2.15.2368e54dchore(container): update goreleaser/goreleaser docker tag to v2.15.38609681chore(container): update goreleaser/goreleaser docker tag to v2.15.4e335fa2chore(container): update mcr.microsoft.com/devcontainers/go:2.1-bookworm docker digest to80694b9(#1551)2cf79f1chore(container): update registry.k8s.io/kubectl docker tag to v1.35.41afcdf4chore(container): update registry.k8s.io/kubectl docker tag to v1.36.0d520925chore(deps): update dependency siderolabs/talos to v1.12.70da3a4dchore(github-action): update actions/setup-go action to v6.4.0d26de32chore(github-action): update renovatebot/github-action action to v46.1.1092b37c9chore(github-action): update renovatebot/github-action action to v46.1.6b83a727chore(github-action): update renovatebot/github-action action to v46.1.77ef5e56chore(github-action): update renovatebot/github-action action to v46.1.83a2a601chore(github-action): update renovatebot/github-action action to v46.1.9e6523cbchore(schema): update talos-extensions.yaml JSON schema4a1fcd8chore(schema): update talos-extensions.yaml JSON schema8878fb5chore(schema): update talos-extensions.yaml JSON schemac8e45eachore(schema): update talos-extensions.yaml JSON schemadfdc024chore(schema): update talos-extensions.yaml JSON schemadb44dc3chore(schema): update talos-extensions.yaml JSON schema4ebd281chore(schema): update talos-extensions.yaml JSON schema (#1518)aea4a20chore(schema): update talos-extensions.yaml JSON schema (#1519)6af3b22chore(schema): update talos-extensions.yaml JSON schema (#1521)49e07b7chore(schema): update talos-extensions.yaml JSON schema (#1527)b9617aachore(schema): update talos-extensions.yaml JSON schema (#1531)6a4bd7fchore(schema): update talos-extensions.yaml JSON schema (#1542)140d878chore(schema): update talos-extensions.yaml JSON schema (#1548)55a1a90chore(schema): update talos-extensions.yaml JSON schema (#1558)af018abfeat(decrypt): support SOPS decryption for all injected file referencesea378dcfeat(flake): update flake.lockd716b29feat: update Scoop for talhelper version v3.1.7ad1a23bfeat: update flake (#1513)4365b62fix(deps): update module github.com/budimanjojo/talhelper/v3 to v3.1.70d70b14fix(deps): update module github.com/fatih/color to v1.19.07492e5bfix(deps): update module github.com/google/go-containerregistry to v0.21.469da334fix(deps): update module github.com/google/go-containerregistry to v0.21.5fae65fcfix(deps): update module github.com/gookit/validate to v1.5.7977935bfix(deps): update module github.com/invopop/jsonschema to v0.14.0d61ce2dfix(deps): update module github.com/siderolabs/image-factory to v1.1.01540728fix(deps): update module github.com/siderolabs/talos/pkg/machinery to v1.13.0-beta.19e60355fix(deps): update module github.com/siderolabs/talos/pkg/machinery to v1.13.0-rc.07fbc6f5fix(deps): update module golang.org/x/mod to v0.35.0siderolabs/talos (aqua:siderolabs/talos)
v1.14.1Compare Source
Talos 1.14.1 (2026-09-15)
Welcome to the v1.14.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.51
containerd: 2.3.5
Talos is built with Go 1.26.8.
Contributors
Changes
36 commits
2f86b9drelease(v1.14.1): prepare release65f704echore: pass kernel version down to VEX generator63101affix: prevent sandboxd signal dispositions leaking into services676276ftest: peer passively with the MetalLB speaker2b8b46dtest: stop ARP flux breaking the BGP VRF test357d600fix: rebuild the BGP server when its VRF is recreateddb0b5a1fix: guard against nil config document slices094741fdocs: clarify the kube-apiserver extra args and new configa13b560docs: correct the UnattendedInstallConfig name in the schema166c407fix: make --insecure reachable for talosctl meta subcommandsaac1068fix: ignore apply config dry-run for try mode7a2c4e8fix: tighten the validation of v1alpha1 configs vs. migrationaef64fafix: reconnect the WireGuard over gRPC tunnel after a failured07a21afix: drop logical links if they no longer declare as logical9996bc8fix: create GRUB bootloader ISOs only for BIOS0604432feat: add NixOS OVMF search path5cb44dcfix: wait for USB settle explicitly20dcd51fix: empty searchdomains dropped on merge1e3e3fechore: support correctly various disk types for the system disk7c2e0b1fix: notify about link alias changese9a67e1chore: use the host page cache for the QEMU cluster disks0afebcafix: use the final config version in upgrade-k8s0ad18bbfeat: bring in containerd 2.3.504c49d8feat: allow generating an ECDSA service account key in secrets bundlesbb2cb91fix(security): define the permissions the 6.18 kernel expects in the classesbf31b28fix: improve resilience of the action tracker against dropped conns00a0ea0fix: set TCP keealive and user timeout on apid proxied connections6c06560test: revert disabling PS/2 in QEMU9841e0bdocs: fix containerconfig.dependson examplesa11a260feat: add USB LAN78XX drivers to the rootfs9f82774fix: harden the code around kubelet's client certificate handling3260b1efix: resolve volume devices in shared selector helper0841525fix: create LVM physical volumes on the decrypted device7dabdebfeat: add xfrm interface module63963f7feat: sync pkgs/tools09681e8fix: correct the bug with overlay assets in ESP being droppedChanges from siderolabs/gen
2 commits
cbd9518chore: rekres and update deps26ccee1feat: provide new YAMl unmarshal validator for null valuesChanges from siderolabs/pkgs
10 commits
f694e1bfeat: update Linux to 6.18.5185a249afeat: update libpathrs to 0.2.6fe037b6feat: update Linux to 6.18.5035e3898feat: update containerd to 2.3.5fd0c2b2fix: add a kernel patch for EFI SecureBoot integrity lockdown2415a01feat: add kernel modules to enable Intel HD audio202a677feat: bump kernel to 6.18.495ddbb53feat: enable CONFIG_USB_LAN78XX and CONFIG_MICROCHIP_PHY on amd64c61bcc3feat: enable CONFIG_XFRM_INTERFACE in the kernel40ccb0dchore: sync tools & toolchainChanges from siderolabs/tools
2 commits
a404efbchore: bump util-linux 2.42.33c49a3cfeat: bump go to 1.26.8Dependency Changes
Previous release can be found at v1.14.0
Images
v1.14.0Compare Source
Welcome to the v1.14.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.
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 the
ResolverConfigdocument, allowing for flexible configuration of DNS resolution.noexec on EPHEMERAL (/var)
Talos 1.14 clusters now default the EPHEMERAL volume (
/var) tonoexecin addition to the existingnosuidandnodevmount options through generated machine configuration.
Existing machines are not affected on upgrades.
Note: Workloads that execute binaries placed under
/varcan break on new machines.Longhorn v1 and vCluster are known to be affected.
For example, Longhorn v1's
instance-managerexecutes engine binaries that theengine-imageDaemonSet places under/var/lib/longhorn/engine-binaries/, which now fails withpermission denied.Affected users can opt out via a
VolumeConfigdocument:Longhorn v2 (SPDK data engine) runs the data plane inside the instance manager process and is not affected.
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:
BGPInstanceConfigdocuments to configure local ASN, router-id, optional Linux VRF, advertised interfaces, neighbors, and per-route preferred source (routeSource).installRoutes: falseto retain learned routes in the BGP RIB without installing them into the Linux routing table.importRoutesprefix selectors. Imports are one-way, preserve path attributes, and do not recursively import locally originated or previously imported paths.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:The
.machine.baseRuntimeSpecOverridesfield is deprecated and remains supported during the deprecationperiod. It is mutually exclusive with
CRIBaseRuntimeSpecConfig; 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
CRICustomizationConfigdocuments. 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 thedeprecation period and is exposed under the reserved name
customization. ACRICustomizationConfigdocumentcannot 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:
Default Installer Image
The default installer image has been updated to use the Image Factory.
The
ghcr.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:
.cluster.discoveryin the v1alpha1 config; use theDiscoveryServiceConfigdocument for discovery service configuration. The v1alpha1 config andDiscoveryServiceConfigare mutually exclusive..cluster.secretandcluster.idin the v1alpha1 config; use theDiscoveryIdentityConfigdocument for discovery identity configuration. The v1alpha1 config andDiscoveryIdentityConfigare mutually exclusive.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 requeststhrough 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 dedicatedlistener on port
2383, while the client port2379serves gRPC only. This keeps gRPC off Go'snet/httpHTTP/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 onport
2383instead (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-documentconfiguration kind. The document
nameis the path relative to/etc, and each document owns the completefile contents and mode.
This can be used to configure files such as
/etc/nfsmount.confor/etc/multipath.conf. Talos-managedpaths, including
resolv.conf,hosts,machine-id, CRI and Kubernetes configuration, trust bundles, andidentity 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: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, the
FilesystemTrimConfigdocument 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 when
allowDiscardsis set).The trim interval can be overridden or disabled per-volume via a
trimblock on the volume documents(
VolumeConfig,UserVolumeConfig,ExistingVolumeConfig,ExternalVolumeConfig):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:
.machine.sysctlsin the v1alpha1 config; use theSysctlConfigdocument for kernel sysctl configuration..machine.sysfsin the v1alpha1 config; use theSysfsConfigdocument for sysfs configuration..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-tree
iscsivolume 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 atarget 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.
The
kube-proxyis now using configuration to manage its settings instead of command line arguments (with newKubeProxyConfigdocument).List of changes:
.cluster.secretboxEncryptionSecretin the v1alpha1 config; use theKubeEtcdEncryptionConfigdocument for full etcd encryption configuration..cluster.apiServerin the v1alpha1 config; use theKubeAPIServerConfig,KubeAdmissionControlConfig,KubeAuditPolicyConfig,KubeAuthenticationConfigandKubeAuthorizerConfigdocuments for kube-apiserver configuration..cluster.ca,.cluster.acceptedCAsand.cluster.aggregatorCAin the v1alpha1 config; use theKubeAPIServerCAConfig,KubeAggregatorCAConfigdocuments..cluster.controllerManagerin the v1alpha1 config; use theKubeControllerManagerConfigdocument for kube-controller-manager configuration..cluster.schedulerin the v1alpha1 config; use theKubeSchedulerConfigdocument for kube-scheduler configuration..cluster.proxyin the v1alpha1 config; use theKubeProxyConfigdocument for kube-proxy configuration..cluster.networkin the v1alpha1 config; use theKubeNetworkConfigdocument for Kubernetes network configuration; Flannel can be configured using theKubeFlannelCNIConfigdocument..cluster.coreDNSin the v1alpha1 config; use theKubeCoreDNSConfigdocument for CoreDNS configuration..cluster.nameand.cluster.controlPlane.endpoint in the v1alpha1 config; use theKubeClusterConfig` document for cluster name and control plane endpoint configuration..cluster.allowSchedulingOnControlPlanes.machine.kubelet.skipNodeRegistration.machine.kubelet.registerWithFQDN.machine.kubelet.nodeIP.machine.nodeLabels.machine.nodeAnnotations.machine.nodeTaintsNoScheduletaint for controlplane and label are now explicitly listed inKubeNodeConfig..machine.kubeletfields in the v1alpha1 config; use theKubeNodeConfigandKubeCredentialProviderConfigdocuments for kubelet configuration..machine.podsin the v1alpha1 config; use theKubeStaticPodConfigdocument for static pod configuration..machine.filesin the v1alpha1 config; use dedicated configuration documents such asEtcFileConfigandCRICustomizationConfiginstead..machine.baseRuntimeSpecOverridesin the v1alpha1 config; use theCRIBaseRuntimeSpecConfigdocument for base runtimespec overrides..cluster.inlineManifestsin the v1alpha1 config; use theKubeInlineManifestConfigdocument for inline manifests..cluster.extraManifestsand.cluster.extraManifestHeadersin the v1alpha1 config; use theKubeExternalManifestConfigdocument for external manifests..machine.features.kubePrism; use theKubePrismConfigdocument for KubePrism configuration (or remove it to disable KubePrism)..machine.features.kubernetesTalosAPIAccess; use theKubeTalosAPIAccessConfigdocument instead.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 documentnames a logical volume, its parent
volumeGroup, atype(linear,raid0,raid1orraid10) and amaxSize(absolute, e.g.50GiB, or a percentage of the volume group, e.g.80%). RAID layouts acceptoptional
mirrors(raid1/raid10, default 1) andstripes(raid0/raid10, default: all available physicalvolumes) fields. Once the volume group is assembled the logical volume is created via
lvcreate.Raising
maxSizegrows an existing logical volume vialvextend; percentage-sized volumes also grow whentheir volume group is extended. Shrinking is never performed (it risks data loss) - a request to reduce the
size surfaces an
LVMValidationErrorinstead. Removal stays an explicit operation via the LVMService LVremove RPC (
talosctl wipe lv).LVM Status
Talos now provides detailed LVM status information, allowing for better monitoring and management of LVM volumes.
New resources
LVMPhysicalVolumeStatus,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-docconfig kind. Each document names a Volume Group and a CEL
volumeSelectorover the disk inventory; matcheddisks are initialised as Physical Volumes (
pvcreate) and aggregated into the requested VG (vgcreate).Newly matched disks added to an existing VG are attached via
vgextend.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 serverNTS can be enabled for custom time servers via the new
useNTSfield in theTimeServerConfigdocument.RAID Array Creation
Talos can now create and grow Linux MD (software RAID) arrays declaratively through a new
RAIDArrayConfigmulti-doc config kind. Each document names an array, its
level(raid1) and a CELvolumeSelectoroverthe disk inventory; matched disks are assembled into the requested array with
mdadmand 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 via
talosctl wipe md <device>. The newMDArrayStatusresource reports theassembled 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 thearray 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 ofeach 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 new
sandboxdservice, instead of sharingmachined's namespaces.sandboxdruns in its own least-privilege SELinux domain (sandboxd_t). if it dies the kernel tears down thenamespace and Talos recreates it — relaunching CRI, the kubelet, and pods — without rebooting the node.
Its logs are available via
talosctl 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 bydefault. 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:
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 via
machine.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.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/noexec/nodev, enabled by default) can be set per volume; directory-backed volumes inherit theEPHEMERALmount options.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:
.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.installsection of the v1alpha1 config. The document carries the installer
imageand aprovisioningsection with a CELvolumeSelectorto match the install disk, plus awipeoption.When the
UnattendedInstalldocument is present, the install is driven by the newUnattendedInstallController(exposing an
UnattendedInstallStatusresource) 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.41
Kubernetes: 1.37.0-beta.0
containerd: 2.3.3
etcd: 3.7.1
Flannel: 0.28.8
runc: 1.5.1
CoreDNS: 1.14.6
Talos is built with Go 1.26.5.
Virtual Ethernet Pairs
Talos now supports declarative virtual Ethernet (
veth) pairs through the newVethConfigmulti-documentconfiguration 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 eachendpoint:
XFS Allocation Group Geometry
On non-rotational devices
mkfs.xfssizes the allocation group count to the number of CPUs, bounding theallocation 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 thejournal 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 stock
mkfs.xfsbehavior: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
Changes
487 commits
1ab88f743fix: load the raid1 module for configured MD arrays9e8568d26fix: use inmem containerd for installs/upgrades8cf28da5ffix: preserve kmsg reconciliation after config changes311b6fde9fix: make reset during boot phase more robust945d1cdabfeat: bump kernel to 6.18.414e77d40e8fix: restore the systemd-timesync best-sample check in spike detection4444a187dtest: inspect host mount state from the current threadb7c0497b0fix: race between vol.cfg. and vol.mgr. ctrlef9a091ecfeat: allow attaching extra disks to controlplane machinesa418c0e1etest: fix CRI restart event assertion racea9bfdbdd4fix: ignore insecure-only imager assets54e3b20e8fix: hold the darwin vmnet bridge open for the network lifetimebc59389fafix: drop the OOM config rule about overall system memory PSI69be56ea9chore: add some initial set of libvirt SELinux policies6170ad8b9fix: validate kubespan & discovery config correctly for multi-doc6e58c6d5atest: fix ded. vol. plumbing in integration testsb644d1640fix: allow directory-backed volumes in reset api28e7a8742feat: bump etcd to v3.7.12c657c224feat: bump kernel to 6.18.40b1bdc8c07test: restart qemu process several times on startup failures7533057a7feat: support route imports between BGP instancesa94783704docs: remove duplicated docs in the markdown for CLI6f17c5033fix: verify the public key signed images correctly570fe34f0fix: generate backwards compatible etcd encryption configf7790816efix: use context without cancelation for etcd locks67e61ef30feat: add the fs_scrub controller1c156458afix: override DHCP search domains via explicit ResolverConfig domainsfd8dbd8a1fix: skip pod check if desired number of pods is zero9aede5429feat: add kubeimportlinter for versioned k8s importsae93d1462fix: redact resource specs in the merge controllersfc5743cd0feat: add GrubUseUKICmdline install option6bba77724feat: add named native BGP instancesc5ab22f1dfeat: move Talos API access from Kubernetes config to multi-docb1abd9c03fix: split the up/finished service events644ecbc66feat: add discovered volumes status controller6be2b1384feat: add veth pair support7514401defix: drop the controlplane static pod change9a521f667fix: preserve container tasks across CRI restarts9048d4157fix: fix a nil-map assignment panic in configpatcher45eaf2037release(v1.14.0-beta.0): prepare release7e58e0442feat: add dedicated CRI configuration documents076c38136fix: race with PCR extensions and volume unlock88884194cfix: teardown ephemeral mount request during resetc793bcbf5fix: configure bonds during initial link creation9b3bf6e51fix(talosctl): prevent duplicate QEMU config server portsfa6cd1ca8fix(machined): preserve health when services reach running9d5554e69fix(machined): wait for host namespace commands through reaperfc08533bfchore: update dependenciesc08863cddfeat: provide different heuristics for xfs allocation groupse955d9bd7feat: update CoreDNS to 1.14.6c3f757f9efeat: update Flannel to 0.28.8fada0d960fix: provide non-sensitive KubeletStatus resourcec68085286fix: volume mount race (third attempt) around service restartb185752e5feat: refactor KubePrism config into multidoc499d4ebf9test: update Calico in canal reset test5b6ed0068test: add a test for kata-qemu runtime class1a075383afeat: allow "duplicate" kinds in the config patches06943be9efeat: update Kubernetes to 1.37.0-beta.001f2a1423fix: preserve trailing rate-limited trigger events46fab8057test: stabilize AWS readiness and Talos 1.13 QEMU configa26ac746dfeat: move static pods and manifests into multi-doc67464cbeffix: update the vulnerability dates and description4920ee06ffeat: update Linux to 6.18.39286fa8006feat: include CA into kube-apiserver serving certificate6d65e223bfeat: drop kubernetes flexvolume mounts4935e9452feat: refactor kubelet's config intoKubeletConfig241bd0ff1feat: custom cfg for system volumes (cri, kubelet, etcd)ea9557816fix: talosctl buildc2b763608feat: add UFSHC and some other modules2193b5781feat: native BGP support via embedded GoBGP2e42c5900fix: add ca-certificates to talosctl0f55e1f05feat: refactor Kubernetes configs intoKubeNodeConfig6efdc8f71fix: zero MD superblock via block wipe on destroyf78f5e5a1fix: vrf sorting77385181afix: oom podruntime protectionc1184d38efeat: update to runc 1.5.14bff7eb90feat: support reboot and sync for remote provisionerc791fa8c0feat: add host-namespace debug profilee370e40b7feat: implement KubeClusterConfig37c78bfc0fix(ci): skip ephemeral noexec test on 1.130ab6695e6feat: update Kubernetes to 1.37.0-alpha.3443ca17e1test: bump test dependenciesc4242088bfix: enablenoexecfor EPHEMERAL only for new machinesfc9f72648feat: bump CoreDNS, Flannel352b1bdebfix: use symlinks for init aliases883775a9efix: move sandboxd into a separate cgroup099a2cedafix: remote provisioner nameff67aaf32feat: bump go dependencies79c0c5414feat: add iommufd as a kernel modulef34e93fe2fix: do proper backoff for NTP Kiss-of-Death responsesa3e644d8dchore: bump tools and pkgsefa88f2f6fix: flaky tests17a134711feat: add ignoreRoutes option to DHCPv4 config document2519bf231fix: make audit restartable54b4bbc03fix: provide correct handler for Ctrl-Alt-Delete sequence87e126ab7feat: isolate cri, kubelet and pods in a sandbox namespace3fb8f4e9efix: avoid image cache mount request churn9753fc27ffix: e2e test flakesf756ff232feat: kubenetworkconfig supports per-node pod cidr configurationb42c42976fix(ci): fix more flaky tests5d97eccdffeat: bring in ifb.ko module6769a1d5cfix: terminate log persistence a bit harder98cce792ffix(ci): extensions test057d554d2test: assert dm transport for device-mapper disks9fd16a21efeat: bump etcd to 3.7.03048eeb23feat: support booting from MD RAID1 arraye1fc7a4a1fix: do not block volume lifecycle teardown on failed user volumes147dea148feat: add --no-reboot flag to upgrade cmd1b23b11fcchore: update pkgs and toolsbfa9fb4e8fix: flaky testsa1ede48cbtest: fix testremovemember etcd integration flakeea90e690dfeat: add MD RAID gRPC service and reconcile controllers74486ef6dchore: update depsf59c3ccadfeat: implement service account configurationbaff2d3f9test: fix some test flakiness5450ec303fix: use a forked version of secure-io/siv-go33fac3f85test: stabilize netapp trident csi fio runsafdde2a8fchore(ci): add netapp trident csi integration tests21eca156ffix: print link status changes210f4e369fix: shutdown/reboot via usermode helpersd193f278dtest: fix cilium test config patchinge06898069fix: flaky testsb7398ec00feat: move kernel module config into multi-doc55bc643affix: flaky serviceaccount suite testdced7d570fix: correctly treat guaranteed QoS pods in the OOM handlerf783f6636feat: implement controlplane only config validationd0291bb0bfeat: extract Kubernetes CA config into a separate document97ed958a8chore: use lefthook globs to skip noop jobsa145c6356chore: lefthook USERNAME env, post-commit hookf836707adfix: use UnattendedInstallConfig for extensions67293c809chore: add lefthook.yml726ea8fc2chore: switch v1alpha1 validation to use cluster config structd1d848022feat: add mdadm tooling and udev rules020de3f51chore: update go dependenciesae84f56a0chore: remove orphaned unattendedinstall.md416073748feat: add UnattendedInstall config and controller4e5b4c6a7feat: extract clusterid and clustersecret to discoveryidentityconfig0a641f268refactor: simplify device status controller99da7f27ffix: data race in manifest sync54ac1cbd6fix: provide cooldown period for the QoS trigger788562586feat: udevd controller and udev rules config document6e34da25cfeat: delegate drain ops to go-kubernetes/nodedraine9e027c63fix: kubelet stuck restarting6f481b420fix: decode extraArgs list values correctlyc8bdcc252feat: update runc to 1.5.0eae11ab0cfeat: allow user managed etc files47d4bd87efeat: set user-agent for Kubernetes clientba926c6cechore: update golangcilint config45497bd5bfeat: bring systemd 261.18d9ecec93refactor: improve stability for process_test.go31221e7eerefactor: talosctl running tasks are yellowb268a6b08feat: refactor CoreDNS config into multi-doc416d5fe4bfix: race in etcd member addc244e4c46fix: building integration test binary on darwinb15a64b31chore: bump rekor for GHSA-47q9-m4ww-924mcd8b0fe39release(v1.14.0-alpha.2): prepare release917820cb3chore: sync pkgs/toolsb34be14e9fix: cli.md codeblock generation25abcc6b5docs: update kubespanconfig to match discoveryserviceconfig742589f50feat: support multiple discovery service configsfc3f27d79chore: enrich the SBOM with Go module licenses47d5c3351fix: handle image cache being disabled1a965aec3test: disable LongHorn ublk test and add more cores6d03b3f61fix: align documented image cache partition label6447d854ffix(talosctl): use aio threads on darwinf856d1808fix: image verification with referrers11a7fbe4cfeat: extract kube-apiserver config into multi-doc configs337654d2btest: fix rook-ceph testse33a86825feat: add AMD XGBE driver to initramfsbd2d6242afix: revert coredns to 1.14.27c4e644f8feat: update Linux to 6.18.366e23a5c2fchore: refactor bare opentree_clone into a mount helperdfbd30959fix(talosctl): prevent appending type 11 smbios values on restart5926dd70dtest: support running integration test against remote provisionerf146c6a18feat: refactor /etc mountsebe364117chore: bump containerd to 2.3.2bc30c61a1chore: bump deps (go, k8s, docker)00d739d0atest: skip fstrim default schedule on cloud testsd9c6edf01fix: bump number of open files for etcd990c5395cchore: update tools and pkgs 2026-06-17325be7cd8refactor: config generate uses multi-doc sysctlconfigd6930633bfix: clean up and overhaul mount opsa0219404dfix: cgroups cleanup58d8b71c4fix: stop the log persistence and close all files on shutdown4b32ebc17refactor: simplify trustd/apid rootfs setupdc98e3553feat: implement filesystem trim support897bef633feat: introduce KubeProxyConfig multi-docebde543cffeat: introduce BootID resourcecd178b9f3fix: ensure consistent manifest apply order19fac6151feat: remote provisionerb6412e031fix: drop one more reference to removed 'nodes'be7f7a7dbfeat: add human-readable size fields to LVM resourcesd4e0ca1bafix: make LVM reconciliation robust and idempotent0dbc1e529chore(ci): fix flaky testb687a47abfeat: implement an option to allow discards on encrypted volumes3fc981c57fix: improve security of scheduler/controller-manager5d4af9f33fix: gracefully stop node containers before removalc1593d8a3fix: honor FailurePauseTimeout when pausing before reboot506dc1323feat: add imager flag to set the SecureBoot key enrollment mode5d4ba702erefactor: generate pod definitions in k8stemplates995bc30d5feat: drop apply config method reboot18f6cb4d0fix: increment time epoch on wall-clock jump when time sync is disabled755a8c8ebfeat: update etcd to 3.7.0-rc.0a0c76fad1feat(talosctl): implement cluster logsdb052165cfeat(talosctl): support rebooting cluster nodes0a04f463afeat(talosctl): use gateway dns for clustercf3eb1cadchore(talosctl): disable kexec for cluster create on arm64180182b0ffix: correct the link alias conditionac9014f05fix: introduce pull attempt stall detection for image pullf2286d616fix: move Flannel netpol patch to the controlplane9986c0b16feat: bump kernel to 6.18.35e8845fba6fix: route ProxyURL test via reachable endpoint44acedf30feat: add declarative LVM logical volume provisioningf6058a11bfeat: grab support bundle via client factorycdd719773feat: add CPUCores resource8e41eb1bdfeat: verify go.mod tidiness in generate targetb19e2ea42feat: add kube-apiserver probesa321a1dccfeat: support proxy-url in talosconfig contextbb2ac7546feat: parse schematic info out of extension status0c02a5a07fix: align flannel MTU with kubespan to avoid permanent fragmentation3d5fd822cfeat: expose disk firmware and BIOS version30115981cfix: relax LUKS header validation5923199fbrefactor: use ClientFactory for the action tracker72c0ced3crefactor: deprecate sysfs and sysctl in machineconfigee74a41fbfix: handle cluster-scoped resources with a namespace correctly9df5a647afeat: allow to disable access time for EPHEMERAL partition9b667dbdechore: fix lint error in test311378386test: increase resource inmem buffer to stabilize the tests6f85ce3d2docs: hack/release.toml explains kernelmodulestatus9bb0a5d01fix(talosctl): add scrolling to dashboard footer node list4c029c2d6fix: machine configuration schemasc3052e845feat: move CNI config out of v1alpha1 config1d2f1208cfeat: add declarative LVM volume group provisioning85f1d428fchore: refactor tests to use debug apic901d47a5refactor: talosctl streaming commands and more fixes166854959fix: mark more resources as sensitive58adf2e00fix: classify installer and imager exits9549930fffeat: update Flannel to v0.28.527362d18erefactor: replace the callback strategy for most commandscb42d9d9afeat: implement support bundle encryption9ae260b55feat: enable NRI by defaultd1d5847b0fix: flaky test0f2331586feat: support external secureboot and pcr signersb349d919dfeat: enforce strict QoS ordering in OOM victim selection76d9b49bdfix(ci): aws nvidia tests3131826cdfix: provide NTS sync with bad initial clock state89e307e58fix: etcd client leak in the (legacy) Upgrade API476c4d050fix: recreate dns server and listeners on host DNS runner restart9a283d9b1feat: bump Go to 1.26.44759dc246chore: bump dependencies26a25a073chore(ci): drop homebrew workflowfa8a55192feat: update etcd to v3.6.1241fcab476feat: update kernel to 6.18.348ba00612bfeat: update dependencies6e2dec1earefactor: update talosctl commands to stop using WithNodesf9ad63a35feat: add custom logging convention linter30dbce03fchore: make oci images reproducible38244fd5bfeat: add sbom builder5177c50e2refactor: deprecate loadedkernelmodulec2eef3645fix: health request server-sided6eff8effrefactor: drop multi-nodes proxying for the dashboard2e547a964refactor: deprecate multi-node proxyingddcc519e1fix: add --fail to image-signer curl downloade5b0b1ddefix: normalize log fieldsd8e95c396fix: drop installer from bundle7aad9ec81feat: update pkgs, tools, Go dependenciesb50ee396ffix: fix trace fix to also lookup release branches027c93d25release(v1.14.0-alpha.1): prepare release4eb862d09feat: add LVMService for VG/LV/PV removalb88f16a52fix: use POSIX shell idioms for error propagation5290eb374fix: suppress ICMP redirects by default7b4aba2e5fix: marshal kube-scheduler config correctly with int types894be9bf5fix: touch rootfs files with SOURCE_DATE_EPOCHcde82224efix: ignore cgroups with zero rank in OOM handlerbc0372411fix: bring in a change to BCM2712_MIPf572c33f1chore: fail on makefile errore317d4b47fix: drop modprobe path and enforce usermode helper89e53f610fix(machined): make built-in mod state always 'permanent'cfbec9bd5test: skip UEFI vars wipe if TPM is enabled1e31deda3fix: create parent directories when extracting tar archives14dc188bdchore: verify go-containerregistry preserves symlinks951922dfbfix: guard apply config API call3e173adf4feat: move kube-controller-manager config to multi-docb5cda3438fix: reset QEMU UEFI variable store when disk is wiped4a17ac6acchore: script for tracking fixes made in upstream toolchain/tools/pkgsd71edeeadfeat: add LVM status resource definitions4aeba1cdefix: perform backwards-compatible kernel args cleanup9b7b2bf36feat: implement support for btrfs user volumes03ee8ee3afeat(machined): support instance tags on Akamaid19f9ade0fix: memorymodules resource reportinga6edcf6f3chore: move out adv library40e66eac7fix: bump Go golang.org/x modulese23ca4a0achore(ci): add upgrade tests for trustedboote3003c0ecchore: bump tpm nonce size to match the algorithm used8fd04da1ffeat: add bnxt_re module to the rootfs1cfab00f1fix: update etcd experimental argsad96fc6aefix: relax hostname config validationefd735334chore(ci): add missing labels, move release metadata check to job9ec045059feat: update containerd to 2.3.142f4144a1feat: introduce new KubeSchedulerConfigf2b7f39dbrefactor: move Args type out of config/v1alpha1b959dcb3efix: bump Kubernetes to 1.36.1 in one more place8ecc77f1afeat: update default Kubernetes version to 1.36.1cbd9c3745chore: rekres to secure slack workflows6a92fc653test: update Canal version used in the testsbe12d3d08feat: support 4k sector size disk imagesa7e8f4c28chore(ci): fix cloud image upload job name4319399f6feat: introduce more modular Linux kerneled5df89f6feat(ci): rotate credentialsa6a984ff7chore(ci): fix the job conditionsecb7d4588feat: enable Flannel nftables mode9919ff781feat: update Linux to 6.18.321a7d136e4feat: add Azure Secure Boot imager profiledf68e7391feat: implement kernel module status resourcee98ee99d4fix: streamline config validation flowd7f0a2fd4feat: update Linux to 6.18.312b66e25a5chore: update image signer5aa1795f9chore: drop e2e step dependenciesd42b3b396feat: update Linux to 6.18.30c3f6f3507feat: implement static host resolving via host DNS2f06a68efrefactor: split host DNS handlere99c5be5afeat: implement DNS over HTTP(S)cf6065238chore: stop publishing installer to ghcr0edabd29cfix: restore some shared (and some lower tier slave) mount propagationf1578dc63fix: image verification issue with registry.k8s.io46b1f8a24fix: rework how scheduler config is marshaled820a9fa59chore: fix typos in comments649a384a9feat: move more kernel stuff to modules4f3ab2012chore(ci): try fixing homebrew action600c0ab5dfeat(ci): validate that extensions PKGS and TOOLS sync with talos76080416bfeat: redact more machine config secrets and audit redactorsaabf63957docs: drop controlplane endpoint examplesb48a2bef4test: relax kernel-default routing rule assertiond2208b034refactor(talosctl): propagate command context throughout, handle interrupts0760b5c28fix: normalize source name for syft consistencyc49ac0ec2docs: document release policyec7e6ef9ffeat: bump in-toto indirect dependency21858a674feat: update kernel to 6.18.295a49dc61dfeat: migrate Image Cache config to multi-doc574298ec1fix: handle empty GCP operation errors366b10b79feat: dockerfile improvements9a1d9d0affeat: bump go 1.26.36eec1c229feat: support DNS over TLS for upstream resolversdee139aeffeat: revert update CoreDNS to 1.14.3087bc4c18chore: lint packages under tools9e7516faefix: clarify documentation for image verification pattern41c8e9dc4feat: bump dependencies2b6c06ef5feat: update CoreDNS to 1.14.36b6f7978bfeat: update containerd to 2.3.0f9c4f90dafeat(ci): longhorn v2 ublk tests84d169c62fix: make dnsd retry listening689974bd5fix: volume mount permissionsff0f66bdffix: skip reserved routing rule priorities850e2c754feat: drop fakeroot, use go helper0c1bd701afeat: add golangci-lint fmt target53bd66956feat: support conditional start of IPv6 dns serversb31d93e0dfeat: auto-enroll SecureBoot keys for disk images849a68006test: update pkgs to test new extensionsc30a6dfcbfix: preserve DHCP DNS servers5b81b20d3feat: apply DHCP search domains4e5ff8fa2fix(ci): zfs test14abe5140fix: handle gateways which are not on-link routes in dhcp4e1f759af8chore: fix lint issues automatically664c5f643chore: update toolsc64df2b61fix: add missing kernel modules in rootfsf73c24594feat: run depmod with verification on rootfs build1371596d7fix: provide proper AWS platform metadata4f11f021dfeat: implement etcd encryption config (kube-apiserver)876f83643feat: add support for HTTP Probes9b776d598feat: update etcd to 3.6.11631a1bc5efix: bring in hardened kernela349dac03fix: stale discovered volume children13ce01879fix: re-enable kexec on arm6432539d4acfix: deadlock in the makefs ext4 with populated source0f3e1966afix: panic in Kubernetes manifest sync3bae01ac1fix: do not pick up a system disk from a loop devicededb7a96cfix(talosctl): protect k8sNames map writes with mutexcc2be213afix: drop explicit platform matcher1dffebaf2fix: mount throws EPERM on virtiofs with SELinux48a481c29fix: replace Canal manifest with a more recent one6a445406efix: make lacp active nilable0d1d95c7dfix: bump go-kmsg to fix the timestamp driftbd344fd53fix: reset the ticker when the KubeSpan is disabled/enabled462015bcdrelease(v1.14.0-alpha.0): prepare release8a037a56etest: fix flaky tests08c81d838feat: bump kernel to 6.18.25fe40b6e58fix(ci): fetch empty pr labels837a9ed07feat: move host DNS config into ResolverConfig96a8ecd1efeat: default to factory installer imagef19eef78bfix: revert add extraArgs from service-account-issuer6821225b6fix: revert use append instead of prepend in service-account-issuerb43c3a124feat: add quirk for talosctl factory downloadsdf0b9a8darefactor: make all controller unit-test follow modern patternsc2948cef2feat: support auth for Image Factory in cluster create560bcf0cafeat: enforce TLS 1.3 minmum version for Kubernetes components3db14309efix(talosctl): ensure uncordon runs after reboot/upgrade errorsecf2fa855feat: update Kubernetes to v1.36.071557eaddfix(ci): skip misc jobs not on pull request026313b7cdocs: rename security-insights.yml to lowercase for LFX detectiondc4ffd490fix(ci): fix jobs not interpolating matrix due to condition25e2f37e2chore: generate comments for fields in resource proto149592fa5fix: watch kubelet's kubeconfig and time out for cache sync1f315e6e9feat: update Linux to 6.18.230198eedc2feat: add NTS (Network Time Security) support for NTP time sync6830a8b97fix(ci): matrix jobs cleanups71aeb347ftest: fix OOM test flake9b9542cc5test: fix a flake in the manifest sync test863d882b6test: add image verification for factory.talos.devbba0b4aeechore(ci): nvidia update helm values3399ff4defix: propagate route table down to the resourcec684ec60echore: prepare for Talos 1.14 releaseed9545d0dchore(ci): bump gpu operator version4de3e4393fix(ci): cron triggered workflows212182e6fchore: bump container registry libraryc028db0b8fix: do not flip machine stage to rebooting during shutdown6ce62d9e8fix(ci): workflow runs withworkflow_run509cd9733fix: boot entry detection5e3f30188feat(ci): rework to schedule daily runs after a cron7fa4d3919fix: zfs extensions test1ef8e630atest: allow more tests to run in FIPS strict modebdcc9321bfix: reduce memory dashboard usage2d177af82chore: update Syft to v1.42.4+patches0d8362119fix: return failed precondition on upgrade when not installedbe58eafabfix: wrong slot of encryption key was logged015081c76feat: update dependencies9fbb7c95dfix: audit trustd code for security986e97fc7feat: update Flannel to 0.28.4f3817d1d1chore: update sign images to support image name suffixe776721f3feat: update Kubernetes 1.36.0-rc.1f6e7346fafix: encode extra args fields in resources with new id3c7bb80bachore: bump tools3ba35c9b9chore(ci): nvidia try UKI boote3e8f01cachore: bump tools181584a5ffix: handle boot failurec464c7e88fix: upgrade API in maintenance mode (legacy)b7512d912feat: update Kubernetes to 1.36.0-rc.04ba11156frefactor: allow overriding out image name suffixc81aa125cfix: panic in reading PCR values6a3ab87c5feat(ci): add nvidia arm64 matrix21f459aabfix(talosctl): always use default GRPC dial optionsca208e514fix: validate hostDNS forwarding requires hostDNS to be enabled9fcb9e05bfeat: bump go to 1.26.20bfdf7f70fix: create correct blackhole routes for IPv452b920032feat: add client-side Kubernetes node drain to reboot and upgrade commands968ec1e0crefactor: propagate NAME properly, allow to set on buildacc69c346fix: set the minimum TLS version to 1.30cfa6e302chore: bump some tool dependencies4229bb9d2feat: add dis-vulncheck toold697f5538fix: don't set xattrs while decompressing extensions34fb2cbe5refactor: remove manual shell completion and replace with cobra completion79fa2e300feat: allow more nvidia and nvme files from extensions414f78a29feat: allow glibc ld files in etc1bbba4301feat: update Flannel to v0.28.255815e0fafix: handle ISOs with zeroes in volume labels7b6ab0c1cfeat: add flag to force fallback to legacy upgrade5e24d5265feat: add resource view to talosctl dashboard649ab7fe4fix: add os:meta:writer role to the dashboard10cdfa909fix: drop talosctl install087ced85ffix: unseal with "slow" TPM11ab0a8c5fix: drop unused type from ExternalVolume schemae2df0f6cefix: always grow disks919d8c365chore: drop debug shell783a35851fix: add metal-agent mode to runtime capabilities37b2221ccdocs: add SECURITY-INSIGHTS.yml for OSPS Baseline QA-04.01bed2bd414feat: add graceful power off support to QEMU VM launcher3400059ccfix: incorrect route source for on-link routesb3dfbf743feat: bump musl to 1.2.64227921b3test: fix the PKI mismatch test flakef2bc2dcc6feat: update NVIDIA production drivers to 595.58.03aa5946dd3test: fix cron failures for provision-1 & provision-21dd701efafix: allow blockdevice wipe in maintenance mode786bf00abfeat: add --platform=all support to image cache-createe1f645e3cfeat: validate luks headers for tamperingad72c7300test: improve maintenance API provision tests70cefab6atest: fix the flakes in tests with trusted rootsaacff17f4test: bump memory for Flannel netpolicy tests9c3459114feat: update Linux to 6.18.19, CNI to 1.9.1038cb8735feat: enforce PID check on connections to services over file socketse2b2dd3eachore: update go-kubernetes library9597714f6fix: add symlinks nvidia-ctk and nvidia-cdi-hook in /usr/bin8ac47d677fix: unset rlimits for extension servicesb1a02f368feat: update Kubernetes to 1.36.0-beta.0362fdc9ecfeat: update etcd to 3.6.90a47f40b3fix(machined): clear stale bond ARP/NS targets on decode86344639ffix: update diff library to v1.0.1eff89d1edfix: panics in diff algorithms8e1c8a7a9test: fix the apid test against AWS/GCPChanges since v1.14.0-beta.0
39 commits
1ab88f743fix: load the raid1 module for configured MD arrays9e8568d26fix: use inmem containerd for installs/upgrades8cf28da5ffix: preserve kmsg reconciliation after config changes311b6fde9fix: make reset during boot phase more robust945d1cdabfeat: bump kernel to 6.18.414e77d40e8fix: restore the systemd-timesync best-sample check in spike detection4444a187dtest: inspect host mount state from the current threadb7c0497b0fix: race between vol.cfg. and vol.mgr. ctrlef9a091ecfeat: allow attaching extra disks to controlplane machinesa418c0e1etest: fix CRI restart event assertion racea9bfdbdd4fix: ignore insecure-only imager assets54e3b20e8fix: hold the darwin vmnet bridge open for the network lifetimebc59389fafix: drop the OOM config rule about overall system memory PSI69be56ea9chore: add some initial set of libvirt SELinux policies6170ad8b9fix: validate kubespan & discovery config correctly for multi-doc6e58c6d5atest: fix ded. vol. plumbing in integration testsb644d1640fix: allow directory-backed volumes in reset api28e7a8742feat: bump etcd to v3.7.12c657c224feat: bump kernel to 6.18.40b1bdc8c07test: restart qemu process several times on startup failures7533057a7feat: support route imports between BGP instancesa94783704docs: remove duplicated docs in the markdown for CLI6f17c5033fix: verify the public key signed images correctly570fe34f0fix: generate backwards compatible etcd encryption configf7790816efix: use context without cancelation for etcd locks67e61ef30feat: add the fs_scrub controller1c156458afix: override DHCP search domains via explicit ResolverConfig domainsfd8dbd8a1fix: skip pod check if desired number of pods is zero9aede5429feat: add kubeimportlinter for versioned k8s importsae93d1462fix: redact resource specs in the merge controllersfc5743cd0feat: add GrubUseUKICmdline install option6bba77724feat: add named native BGP instancesc5ab22f1dfeat: move Talos API access from Kubernetes config to multi-docb1abd9c03fix: split the up/finished service events644ecbc66feat: add discovered volumes status controller6be2b1384feat: add veth pair support7514401defix: drop the controlplane static pod change9a521f667fix: preserve container tasks across CRI restarts9048d4157fix: fix a nil-map assignment panic in configpatcherChanges from siderolabs/gen
1 commit
c526410fix: skip unknown-key check for types with custom YAML unmarshalerChanges from siderolabs/go-adv
2 commits
3818a65feat: initial implementation95e583cInitial commitChanges from siderolabs/go-cmd
2 commits
a2a31d3chore: run rekres584337bfeat: add StartWithOptions for streaming long-running processesChanges from siderolabs/go-kmsg
1 commit
65e97cbfix: boot time offset calculationChanges from siderolabs/go-kubeconfig
2 commits
d0b8f82chore: rekres and bump depsc356eebfix: fix context conflict detection add New() constructorChanges from siderolabs/go-kubernetes
7 commits
0caf1f2feat: add Kubernetes 1.37 compatibility822b7a2feat: add nodedrain package for client-side cordon and drain260bc0afix: update authorization config apiVersion for K8s >= 1.32cc8c2c9fix: return the apply results in a consistent order131a2bdfix: handle cluster-scoped resources with a ns correctly38c182ffix: normalize the changeset to be keyed without apiVersionca35008feat: update k8s api to 0.36.0Changes from siderolabs/go-smbios
1 commit
063f5dcchore: rekres + new testdataChanges from siderolabs/go-talos-support
2 commits
59d47affeat: rewrite support bundle library around client provider8dd4326feat: support encryption of the support bundle using ageChanges from siderolabs/grpc-proxy
3 commits
d670c42chore: bump dependencies8614c71chore: bump deps80677e0fix: propagate the headers before the messageChanges from siderolabs/pkgs
119 commits
aa8d7d6feat: bump kernel to 6.18.41b253464feat: enable PCF8523 RTC support for arm640383b09feat: bump kernel to 6.18.4037184f0feat: enable CONFIG_NFT_SOCKET in the kernelf78e3dcfeat: update cryptsetup to 2.8.78c5831cfeat: update dependencies0de2a61feat: update Linux to 6.18.39c652074feat: enable UFSHC and some other optionsc4b550cfeat: bump dependenciesde07964feat: enable CONFIG_IOMMUFD and CONFIG_VFIO_DEVICE_CDEV6a9c40cchore: bump tools 2026-07-1461e3ed9chore: bump bldr to v0.6.1981029echore: bump nvidia to 580.167.08ff9a355chore: bump deps (minor)0b2474echore: bump deps (patch)94a16efchore: bump toolchain6dcf355feat: enable devmapper plugin in containerd build03534a5fix: enable CONFIG_IFB as a modulea264237feat: update DRBD to 9.3.33f09c0cchore: update toolchain and tools6c08c46feat: bump kernel to 6.18.387c4fe92feat: build runs with libpathrs (only amd64)8922b6dfix: correct finalize destination pathae0d701fix: use non-conflicting name for mdadm5186a65feat: add mdadm package for software RAIDe09f9fbfeat: bump kernel 6.18.378d23631feat: update Linux firmware to20260620343557feat: update runc to 1.5.055d3676feat: bump dependenciesea48e8bfix: patch Linux kernel for tunnel metadata buffer overflowff80d88feat: add support for AMD XGBE driver9f8ab22feat: enable NF_TABLES_ARP optionbedfbebfeat: update Linux to 6.18.36a9f2bb3chore: bump containerd to 2.3.273e76f8chore: upgrade runc to 1.5.0-rc.328db1cachore: update nvidia driver lts to 580.167.085df1a44chore: update zfs to 2.4.3cd77c4fchore: update dependencies 2026-06-160f27eccfeat: bump runcd213ff5feat: bump OpenSSL to 3.6.3cb713aefeat: bump kernel to 6.18.3509cb04efix: avoid page_table_check BUG on time namespace VVAR pagebfb88f6feat: add nvidia-fs kernel modulef2850d1feat: enable USB hiddev for apcupsd support55aa64ffeat: bump go to 1.26.4f27dbe1feat: bump kernel to 6.18.34aa9fe00feat: add DVB USB Modules0870a4bfeat: bump dependenciesf9134e5fix: enable CONFIG_BCM2712_MIP as built-in in arm64 kernel config285c6aefix: set usermode static helper to machinebd2a754feat: pre-generate drbd patches using spatch out of tree898844efeat: update Linux to 6.18.33a8dfbf7fix: disable kernel modprobe pathc542950fix: pull in tools with zstd sbomc0ec8f3feat: enable PPP and INFINIBAND_BNXT_REc62c4e1feat: update containerd to 2.3.1270f9f8chore: update deps4f7feb4feat: enable more options for CRI-U checkpoint/restore87994f7feat: move autoloadable stuff as modules80c27f3fix: drop legacy network protocolsfbb7360feat: drop legacy iptables/ebtables supporteac5f86feat: bump kernel 6.18.32d616f6cfeat: update Linux to 6.18.3102bcfcefix: macb silent TX stall on BCM2712/RP1 (v2 patches from netdev)12ca698feat: update ZFS & NVIDIA LTS9fff943feat: update Linux to 6.18.30c5a1685feat: move HWMON as modulesb2a45fbfeat: move CONFIG_INTEL_IOATDMA as a moduleea8d35ffeat: move ACPI device drivers as modules501ba58feat: move HID quirks as modulesb35312cfeat: move PS/2 mouse drivers as modules3a5d9d7feat: move IPMI driver to be a module792a69afeat: disable AGP drivers99990b4feat: move Hyper-V drivers as modulesfb697d6feat: move Xen frontend drivers as modules1df1713feat: move ATA / MMC controllers as modulesf7f9341feat: move USB class drivers as modulesba873e9feat: move USB host controllers as modules8f25baafeat: move virtio bus stuff as modulesd0c5480feat: bump kernel to 6.18.29dfb09f0feat: bump kernel 6.18.28c97bc24feat: update Go to 1.26.3dfe8926feat: add btrfsprogs06ff9dcfeat: update Linux to 6.18.272265fc9feat(kernel): backport two PCI bridge realloc fixes from v6.195a21d99feat: bump dependenciescb3f406feat: update containerd to 2.3.0e192574feat: update Linux to 6.18.26e5e6cb8feat: update DRBD to 9.3.277538b1feat: update NVIDIA driversadeaafcfeat: preserve System.map on kernel buildsc77f985fix: disable legacy framebuffer drivers8f3ef77fix: enable safesetid LSMf82d3affix: disable CONFIG_DEVPORTb189a96fix: disable crypto user API9a718f6docs: list net macb silent TX stall fixes in kernel/build/patches/README.mdca3599ffix: macb silent TX stall on BCM2712/RP1 (RFC patches from netdev)6a53a93feat: bump kernel to 6.18.25f567bcefeat: disable more stuff in Kconfigffd9790feat: bump kernel to 6.18.24b7c709afeat: bump depse5e5b3cfeat: update Linux to 6.18.231a4cd20fix: renovate configd0ed6edfeat: update dependencies6ea49c7fix: support disabling module signature verification6520ec4feat: update containerd to 2.2.337ce992feat: enable CONFIG_UHID and CONFIG_INPUT_JOYDEV as modulescddd934feat: update backportable dependencies32e4077feat: update OpenSSL2d241e7feat: update Go to 1.26.2 and small deps updates7f540cefeat: disable dynamic SCS3bef043feat: update runc to 1.4.2c6e6f10feat: update Linux to 6.18.21a9e8afafix: libarchive install prefixe4d0113feat: update for musl 1.2.69142603feat: update NVIDIA production to 595.58.0322fa669feat: update Linux to 6.18.1903680aefeat: update containerd patch verifier rolebdc239efeat: enable CHECKPOINT_RESTORE optionChanges from siderolabs/proto-codec
1 commit
9b8a14echore: bump dependenciesChanges from siderolabs/siderolink
1 commit
0a1933cchore: bump dependenciesChanges from siderolabs/tools
27 commits
08071b1feat: update dependencies2723c06chore: bump pkgfile bldr to v0.6.1d333b32chore: bump toolchain to latestc7494c6chore: deps 2026-07-13 (major bumps only)57a0183chore: deps 2026-07-13 (minor bumps only)21db13echore: deps 2026-07-13 (patch only)7079a8achore: bump toolchain5326524feat: build LLVM as cross-compiling878f1dbfeat: bump dependencies0f1c859chore: make rekres5c0c9bechore: update dependencies 2026-06-16b88d99cfeat: bump OpenSSL to 3.6.342c59b9feat: bump toolchain to bring in Go 1.26.4206a4c0feat: update dependencies, rework LLVM buildf9f37dffix: add proper name for zlib-ng sbomaa45c41fix: add SBOM for zstd library808f34ffeat: update Go to 1.26.35dfe83dfeat: drop fakeroot and policycoreutils618fd20feat: add Python wheel packagedf3c1b7feat: bump dependencies44ad18cfeat: bump depsf3d0dd9fix: renovate configs4ac4449feat: update dependencies027744ffeat: bump OpenSSL to 3.6.27067f1ffeat: update util-linux to 2.41.46cb3e56feat: update Go to 1.26.29186c5ffeat: update musl to 1.2.6Dependency Changes
5adc3eb->c76316d310581b->c87a4186706a29->93566ba31e136bnew8ae5a48newPrevious release can be found at v1.13.0
v1.13.10Compare Source
Talos 1.13.10 (2026-09-03)
Welcome to the v1.13.10 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.48
CoreDNS: 1.14.7
Talos is built with Go 1.26.7
Contributors
Changes
28 commits
00ca4c9release(v1.13.10): prepare release271ce0dfix: update DHCP library3c70f40fix: harden the code around kubelet's client certificate handling40d7de4fix: normalize image reference when passing to image verification flowcf30d6dfix: filter out passed metadata in API proxyingcc556d9fix: treat desired roles empty as error in Talos API access0d7a473fix: allow CSI volumes to be mounted with an SELinux context17ab196fix: validate received kubeconfig934ae8achore: update etcd to v3.6.14df9b82dchore: update pkgs and tools591c53afix: use os.Root in the talosctl extract pathc36d990fix: escape output in the talosctl dashboardfc355dcfix: add checks for meta key in the API pathe950f65feat: update COSI to 1.16.320cafbdfix: route creation churning every 100msc6fe78cchore: reduce verbosity of the grype scanb9696f9fix: preserve special modes when extracting files865aaecfix: use os.Root in the untar path097fa18fix: create parent directories when extracting tar archivesc6edc39chore: bump sigstore/rekor to v1.5.46d062e1fix: write the uploaded etcd snapshot atomicallyf6b7959fix: skip selinux label for read-only/detached/external mountsbea850afix: persist in-memory meta on fresh installdcf46c1fix: reduce stalls in the etcd member promotion cycle0f4d08afeat: update CoreDNS to 1.14.7e091638fix: watch IPv6 route changes in RouteSpecController92614cafix: truncate files replaced by system extensionsb7b27ecfix: skip target settings for external volume mountsChanges from siderolabs/pkgs
5 commits
9b044c5feat: update kernel to 6.18.48de74a50feat: bump kernel to 6.18.47bb15c62chore: update toolchain and tools49c50f7feat: bump kernel to 6.18.462da2cdcfeat: backport aes256k support (Ceph)Changes from siderolabs/tools
3 commits
c70be08chore: update toolchain7791f48feat: use kernel gnu mirrorsd908dc0fix: update OpenSSL to 3.6.4Dependency Changes
5adc3eb->234b974f2248ac-> v1.36.12Previous release can be found at v1.13.9
Images
v1.13.9Compare Source
Talos 1.13.9 (2026-08-19)
Welcome to the v1.13.9 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.44
containerd: 2.2.7
Kubernetes: 1.36.3
Talos is built with Go 1.26.6.
Contributors
Changes
7 commits
3ebd10arelease(v1.13.9): prepare release9ade215feat: update Kubernetes to 1.36.314343cdtest: save the provision test logsb33e5fcfix: support try mode apply without prior config6a8f295fix: share IPC namespace with the host for extension servicesb525b82fix: size the receive/send buffers for nftables netlink7ac5264feat: update Go to 1.26.6Changes from siderolabs/pkgs
5 commits
f541ca4feat: bump kernel to 6.18.44a4f2c26feat: bump kernel to 6.18.4379a7531feat: update Linux firmware to202608189d76bffeat: update backportable dependenciesaf6c08afeat: update Go to 1.26.6Changes from siderolabs/tools
1 commit
a201d19feat: update Go to 1.26.6Dependency Changes
Previous release can be found at v1.13.8
Images
v1.13.8Compare Source
Talos 1.13.8 (2026-08-04)
Welcome to the v1.13.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.18.42
CoreDNS: 1.14.6
Flannel: 0.28.8
Talos is built with Go 1.26.5.
Contributors
Changes
14 commits
3de4932release(v1.13.8): prepare release76de777chore: update dependencies77d5fe2chore: update pkgsa7db9b2fix: verify the public key signed images correctlyd769389fix: use context without cancelation for etcd locks3a2abc0fix: redact resource specs in the merge controllers1531797fix(machined): preserve health when services reach runningfc75754fix: race with PCR extensions and volume unlock2a51fb1feat: update Flannel to 0.28.805471d3feat: update CoreDNS to 1.14.69e0b1cafix: volume mount race (third attempt) around service restartc5cb365fix: ignore insecure-only imager assetsc67b10dtest: update Calico in canal reset test9eca6eafix: preserve trailing rate-limited trigger eventsChanges from siderolabs/pkgs
6 commits
f677246chore: update kernel6c5daf2chore: replace gnu mirror4304e87feat: bump kernel to 6.18.41e66edebfeat: enable PCF8523 RTC support for arm64b2e51fcfeat: bump kernel to 6.18.4033195c5feat: enable CONFIG_NFT_SOCKET in the kernelDependency Changes
Previous release can be found at v1.13.7
Images
v1.13.7Compare Source
Talos 1.13.7 (2026-07-21)
Welcome to the v1.13.7 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.39
containerd: 2.2.6
Flannel: 0.28.7
CoreDNS: 1.14.4
Talos is built with Go 1.26.5.
Contributors
Changes
19 commits
b0039b7release(v1.13.7): prepare releasefc6f9b1test: add nginx to the image cache integrationc6c435btest: increase resource inmem buffer to stabilize the tests202dc15fix: add ca-certificates to talosctl3a14c8dfix: vrf sortinga4c1e6efix: oom podruntime protection57b8616feat: bump CoreDNS, Flannel58a78fefix: use symlinks for init aliases428872bfix: do proper backoff for NTP Kiss-of-Death responses1d55e28feat: add iommufd as a kernel module576638dfix: make audit restartable76328f9fix: avoid image cache mount request churn46f9ac6feat: bring in ifb.ko module0d752e7fix: provide correct handler for Ctrl-Alt-Delete sequencefe9d330fix: terminate log persistence a bit harder7c8021afeat: add --no-reboot flag to upgrade cmda155badfix: do not block volume lifecycle teardown on failed user volumesc63f078fix: flaky tests2bf6b74feat: bring in Linux 6.18.39, containerd 2.2.6Changes from siderolabs/pkgs
6 commits
91fe0a0feat: update Linux to 6.18.391018556feat: enable CONFIG_IOMMUFD and CONFIG_VFIO_DEVICE_CDEVd529479chore: bump nvidia to 580.167.08971fd23fix: enable CONFIG_IFB as a moduleacece91feat: update DRBD to 9.3.3b91905cfeat: update containerd to 2.2.6Changes from siderolabs/tools
1 commit
c2844e6feat: update util-linux to 2.42.2Dependency Changes
7e8f69fPrevious release can be found at v1.13.6
Images
v1.13.6Compare Source
Talos 1.13.6 (2026-07-09)
Welcome to the v1.13.6 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.38
Talos is built with Go 1.26.5.
Contributors
Changes
15 commits
0431885release(v1.13.6): prepare release9d8e47dchore: update pkgs and tools31552f4fix: shutdown/reboot via usermode helpersbc0c3f3fix: flaky serviceaccount suite test3e75592fix: flaky testsfbe4d90fix: data race in manifest sync6df3a45fix: provide cooldown period for the QoS trigger85f8dd6fix: decode extraArgs list values correctlyc2a56d5fix: kubelet stuck restarting8714408chore: bump rekor for GHSA-47q9-m4ww-924m3e37ef8fix: handle image cache being disabled466bcd8fix: align documented image cache partition labeld3cf09bfix: image verification with referrerse9609b9feat: add AMD XGBE driver to initramfsf18efccchore: update depsChanges from siderolabs/gen
1 commit
c526410fix: skip unknown-key check for types with custom YAML unmarshalerChanges from siderolabs/pkgs
7 commits
d8c80ccchore: update toolchain and tools71874fbfeat: bump kernel to 6.18.38a2406a1feat: bump kernel 6.18.37e410c35feat: update Linux firmware to2026062389b8aafix: patch Linux kernel for tunnel metadata buffer overflow7e4a719feat: add support for AMD XGBE driver1915c58feat: enable NF_TABLES_ARP optionChanges from siderolabs/tools
1 commit
c58afd5chore: bump toolchainDependency Changes
Previous release can be found at v1.13.5
Images
v1.13.5Compare Source
Talos 1.13.5 (2026-06-22)
Welcome to the v1.13.5 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.36
containerd: 2.2.5
runc: 1.4.3
Talos is built with Go 1.26.4.
Contributors
Changes
9 commits
51b0d8erelease(v1.13.5): prepare releasec5089c6fix: bump number of open files for etcde0b4d9dfix: stop the log persistence and close all files on shutdown23a080dfix: honor FailurePauseTimeout when pausing before reboot9adc63afix: correct the link alias conditionb902f9dfeat: verify go.mod tidiness in generate target765f0a1fix: relax LUKS header validationd63aba4feat: update pkgs and Kubernetesf0a5842fix: update go.mod and rekresChanges from siderolabs/pkgs
8 commits
6b315f7chore: update zfs to 2.4.3ebf23f3feat: update Linux to 6.18.367eed62dchore: bump containerd to 2.2.5 (cve patches)8b67babchore: update nvidia driver lts to 580.167.088cb61b2feat: bump runcd736aeffeat: bump kernel to 6.18.357ede376fix: avoid page_table_check BUG on time namespace VVAR pagee69debdfeat: update tools and rekresChanges from siderolabs/tools
2 commits
9b78252feat: update ca-certificates to 2026-05-144d13afffeat: bump OpenSSL to 3.6.3Dependency Changes
Previous release can be found at v1.13.4
Images
v1.13.4Compare Source
Talos 1.13.4 (2026-06-09)
Welcome to the v1.13.4 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.34
etcd: v2.6.12
Flannel: v0.28.5
Talos is built with Go 1.26.4.
Contributors
Changes
17 commits
707dbd8release(v1.13.4): prepare release27d7a19fix: handle cluster-scoped resources with a namespace correctlyfe74e00chore: update depsf44cafbfix: recreate dns server and listeners on host DNS runner restart5ed296bfix: marshal kube-scheduler config correctly with int types5992015fix: machine configuration schemasb8dfda7fix: mark more resources as sensitiveaad841bfeat: update Flannel to v0.28.57c0900bfix(ci): aws nvidia tests9f5122dfix: flaky testcf62af3fix: etcd client leak in the (legacy) Upgrade APId5c3136feat: enforce strict QoS ordering in OOM victim selectionb5ad39efeat: update etcd to v3.6.12c83dad3fix: health request server-side577cc6ffix: bring in a change to BCM2712_MIP29da68afix: touch rootfs files with SOURCE_DATE_EPOCHb19a03bfix: ignore cgroups with zero rank in OOM handlerChanges from siderolabs/go-kubernetes
1 commit
131a2bdfix: handle cluster-scoped resources with a ns correctlyChanges from siderolabs/pkgs
5 commits
54ec9fcfix: disable PAGE_TABLE_CHECK_ENFORCED in kernel config0d5985afeat: enable USB hiddev for apcupsd support593e34cfeat: bump kernel to 6.18.34366f575fix: enable CONFIG_BCM2712_MIP as built-in in arm64 kernel configb45e84cfeat: bump Go to 1.26.4Changes from siderolabs/tools
2 commits
a06bb31feat: bump go to 1.26.49bb7abefeat: update libcap to 2.78Dependency Changes
Previous release can be found at v1.13.3
Images
v1.13.3Compare Source
Talos 1.13.3 (2026-05-26)
Welcome to the v1.13.3 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.33
Kubernetes: 1.36.1
containerd: 2.2.4
Talos is built with Go 1.26.3.
Contributors
Changes
19 commits
befeda7release(v1.13.3): prepare releasef4d4510feat(ci): rotate credentials01b4348fix: guard apply config API calla42c37ffeat(machined): support instance tags on Akamaid62d54cfix: memorymodules resource reportingb673b4bfix: bump Go golang.org/x modules19755adfeat: add bnxt_re module to the rootfs532bc6bfix: relax hostname config validation3bbd3edfix: bump Kubernetes to 1.36.1 in one more place472b9d9feat: update default Kubernetes version to 1.36.16d53ce0chore(ci): fix cloud image upload job name5633c77fix: rework how scheduler config is marshaled52f0560fix: restore some shared (and some lower tier slave) mount propagation9de3c12fix: image verification issue with registry.k8s.io7dc716dfeat: redact more machine config secrets and audit redactorsd5448c6chore(ci): try fixing homebrew actionef9f0bfdocs: drop controlplane endpoint examples7ee3e78feat: update Linux to 6.18.33e99744bfix: update containerd to 2.2.4Changes from siderolabs/go-smbios
1 commit
063f5dcchore: rekres + new testdataChanges from siderolabs/pkgs
12 commits
8c18616feat: pre-generate drbd patches using spatch out of tree82e70a0feat: update Linux to 6.18.33993d4a6feat: enable PPP and INFINIBAND_BNXT_RE12d5337feat: enable more options for CRI-U checkpoint/restorec2e43aafeat: preserve System.map on kernel builds230b4bcchore: update deps847a37efeat: bump kernel 6.18.32d7ae843feat: update Linux to 6.18.31a26d3c0feat: update ZFS & NVIDIA LTS94d28c5feat: update Linux to 6.18.30b3dd525fix: macb silent TX stall on BCM2712/RP1 (v2 patches from netdev)8bdd5e0feat: update containerd to 2.2.4Dependency Changes
Previous release can be found at v1.13.2
Images
v1.13.2Compare Source
Welcome to the v1.13.0-alpha.2 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.
Clang built kernel and ThinLTO
Talos now uses a kernel built using Clang compiler, and optimized using ThinLTO. This should bring a small performance improvement,
alongside some hardening features, such as BTI on supported ARM systems.
talosctl debug
Talos Linux now provides a way to run and attach to the privileged debug container with a user-provided container image.
The debug container might be used for troubleshooting and debugging purposes.
Environment Configuration Document
A new
EnvironmentConfigdocument has been introduced to allow users to specify environment variables for Talos components.It replaces and deprecates the previous method of setting environment variables via the
.machine.envfield.Multiple values for the same environment variable will replace previous values, with the last one taking precedence.
To remove an environment variable, remove it from the
EnvironmentConfigdocument and restart the node.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.
Extra Arguments accept slices in addition to strings
Several Talos configuration fields that previously accepted single string values for extra arguments have been updated to accept slices of strings as well.
This includes fields such as
.cluster.apiServer.extraArgs.BREAKING: If you were relying on the resources EtcdConfigs, KubeletConfigs, ControllerManagerConfigs, SchedulerConfigs or APIServerConfigs, the protobuf format has changed from
map<string,string>tomap<string,message>.Talos Imager Enhancements
Talos imager now supports running rootless.
--privilegedand-v /dev:/devare no longer required.Image APIs Updated
Talos Linux provides new APIs to manage container images on the node: listing, pulling, importing and removing images.
The new pull APIs provides pull progress notifications.
The CLI commands
talosctl image pull,talosctl image listandtalosctl image removehave been updated to interact with the new APIs.Talosctl images k8s-bundle subcommand accepts version parameter
The
talosctl images k8s-bundlecommand now accepts an optional version overrides arguments.Kubernetes server-side apply
Talos now uses inventory backed server-side apply when applying bootsrap manifests (including
extraManifestsandinlineManifests).Purging of unneeded manifests is automatically performed.
The switch and inventory backfill is automatic and no action is needed from the user.
KubeSpan Configuration
A new
KubeSpanConfigdocument has been introduced to configure KubeSpan settings.It replaces and deprecates the previous method of configuring KubeSpan via the
.machine.network.kubespanfield.The old configuration field will continue to work for backward compatibility.
KubeSpan Advertised Network Filters
KubeSpan now supports filtering of advertised networks using the
excludeAdvertisedNetworksfield in theKubeSpanConfigdocument.This allows users to specify a list of CIDRs to exclude from the advertised networks. Please note that routing must be symmetric for any
pair of peers, so if one peer excludes a certain network, the other peer must also exclude it. In other words, for any given pair of peers,
and any pair of their addresses, the traffic should either go through KubeSpan or not, but not one way or the other.
LinkAliasConfig Pattern-Based Multi-Alias
LinkAliasConfignow supports pattern-based alias names using%dformat verb (e.g.net%d).When the alias name contains a
%dformat verb, the selector is allowed to match multiple links.Each matched link receives a sequential alias (e.g.
net0,net1, ...) based on hardware address orderof the links. Links already aliased by a previous config are automatically skipped.
This enables creating stable aliases from any N links using a single config document,
useful for
BondConfigandBridgeConfigmember interfaces on varying hardware.Negative Max Volume Size
Negative max size represents the amount of space to be left free on the device, rather than the size the volume should consume.
For example:
* a max size of "-10GiB" means the volume can grow to the available space minus 10GiB.
* a max size of "-25%" means the volume can grow to the available space minus 25%.
Flannel CNI with Network Policy Support
Talos Linux now supports optionally deploying Flannel CNI with network policy support enabled.
The network policy implementation is kube-network-policies.
To enable Flannel CNI with network policy support, use the following machine configuration patch:
(If the cluster is already running, sync the bootstrap manifests after applying the patch to deploy the new CNI configuration.)
Container Image Decompression
Talos now ships with
igzip(amd64) andpigz(arm64) to speed up container image decompression.ProbeConfig
The TCPProbeConfig configuration document allows to configure TCP probes for network reachability checks.
This allows to define a custom connectivity condition.
/proc/PID/mem Access Hardening
A new kernel parameter
proc_mem.force_override=neverhas been introduced by default to enhance system securityby 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.
ResolverConfig
The nameservers configuration in machine configuration now overwrites any previous layers (defaults, platform, etc.) when specified.
Previously a smart merge was performed to keep IPv4/IPv6 nameservers from lower layers if the machine configuration specified only one type.
Service Account Issuer configuration
In API Server, passing extra args with
service-account-issuerwill append them after default value.This allows easy migration, e.g. by changing
.cluster.controlPlane.endpointto new value, and keeping the old value in.cluster.apiServer.extraArgs["service-account-issuer"].talosctl images talos-bundlecan ignore reaching to the registryThe
talosctl images talos-bundlecommand now accepts optional--overlaysand--extensionsflags.If those are set to
false, the command will not attempt to reach out to the container registry to fetch the latest versions and digests of the overlays and extensions.Component Updates
Linux: 6.18.13
containerd: 2.2.1
etcd: 3.6.8
CoreDNS: 1.14.1
Kubernetes: 1.36.0-alpha.1
Flannel CNI plugin: v1.9.0-flannel1
Flannel: 0.28.1
LVM2: 2_03_38
runc: 1.4.0
systemd: 259.1
cryptsetup: 2.8.3
Tenstorrent: 2.7.0
iptables: 1.8.12
Talos is built with Go 1.26.0.
VM Hot-Add Support
Talos now includes udev rules to support hot-adding of CPUs in virtualized environments.
Contributors
Changes
221 commits
009f0d6cachore: update pkgsba56b0295feat: include hid-multitouch.ko kernel module in rootfsae29a0dccfeat: update Linux to 6.18.137cf1de279fix: bring in new version of go-cmd and go-blockdevicec8800b41efix: update path handling on talosctl cgroups0a7b6eb2cchore: test extensions8b1c974a2refactor: drop termui-widgets library5baa0028efix: add owning inventory annotation to talos manifestsd3e793d14fix: stop Kubernetes client from dynamically reloading the certs6a5a0e3bdfeat: support pattern link aliases9758bd4fefeat: update Go to 1.26e00aed0f6feat: update Kubernetes v1.36.0-alpha.1f20445ad0chore: improve logging of disk encryption handlingf018fbe7bfix: handle raw encryption keys with\nproperlye5b0eb017fix: hold user volumes root mountpoint8a0e79774refactor: split locate and provisiona59db0e92fix: improve OpenStack bare metal network configuration reliability659009ad8fix: remove stale endpointsdab0d4783fix: allow static hosts in/etc/hostswithout hostname45f214154feat: update go-kubernetes to use new Myers diff35ad0448cfix: switch to better Myers algorithm implementation0048464befeat: update etcd to v3.6.85df10f260fix: use mcopy instead of diskfs to populate VFATce53ffa90fix: disks flag parsing and handling in create qemu command3bd3dd7cafix: memory overuse in imager VFATf118ee47efix: read multi-doc machine config with newer talosctl70c6c2154feat: add filter for KubeSpan advertised networksdaf18abf4fix: fix talosctl debug in enforcing mode33b5b2565fix: ignore volumes in wave calculation without provisioninga16392559feat: add explicit service account support to Talos client4d531884echore: update dependencies406b8c83cfeat: update doc links to docs.siderolabs.com87615f551feat: implement network policies with Flannel CNI6995bc1b1chore: update homebrew formula on release7942d5a98fix: image gc controller config52e8727d0feat: add IPv6 GRE support9690dbad0chore: bump tools (including linter)2628eb2ecfix: typo with rpi_5 profile named5ebcd7cafix: stop building talosctl debug on Windows8b85c7c63chore: update depsd905035b5fix: swap volume configuration for min/max sized43a01ccbfeat: implementtalosctl debug34a31c979feat: add mount options support for existing volumes1bf95eed1feat: improve dashboard uptime display055add7aerelease(v1.13.0-alpha.1): prepare release900516e68chore: update image signer938de566efeat: bump kernel388cec727feat(overlays): add new overlays9f2dd6312refactor: api testsa90783146feat: add a helper module to generate standard patches1fec5b23dfix: implement merger for PercentageSize8b245b8f2feat: implement new image service APIsd90c775b8chore: rename internaltalosctl debug air-gapped2165280d0refactor: change the way one2many proxying is pickedb1b703dbechore: move sync logging code to go-kubernetes packagee48c6d7abfix: allow to expose a port multiple times in Docker410d8cb57fix: undo CRLF on Windows (talosctl edit)859d3f03cfeat: add RPi5 to the list of supported SBCs0bd48bbc6fix(talosctl): pass --k8s-endpoint flag to rotate-ca kubernetes rotationb9e27ebe7feat: update Linux kernel with dm-integrity6aa9b0677fix: skip empty documents on config decoding494492489fix: always set advertised peer URLs782cc507dfix: open the filesystem as read-only28e61a740fix: set GRUB prefix correctly on arm64a4f1c5239feat: update GRUB to 2.14562920701fix: use node podCIDRs for kubespan advertiseKubernetesNetworks39460365cfeat: implement layering for ProbeSpecb5c760f70feat: add ProbeConfig for network connectivity probes4b274f761feat: support aws cert manager in imager417209512fix: fallback to /proc/meminfo for memory modules7f1147bedfix: add warnings to 802.3ad bondddd6b186erefactor: generate GRUB imagesc7aa266eafix: overwrite resolver config with machine configcf70f05fafix: oracle platform file format8c7b8f5b7feat: add support for negative max size77bc3d21ffix: marshal of FailOverMac property38e280c93fix: make OOM expression a bit less sensitive3d1301640fix: wipe the first/last 1MiB in addition to wiping by signatures1aa6528adfix: make OOM controller more precise by considering separate cgroup PSIf7072c050fix: check if the device is not mounted when wiping743c3b94bfix: use correct containerd import pathf2dd08594feat: report image pull progress in the console72fe98a06fix: boot with GRUBd4ed13d93fix: add talos version to Hetzner Cloud client user agent150c41c30feat: update Linux to 6.18.501a367891fix: use append instead of prepend in service-account-issuerd1954278afeat: add extraArgs from service-account-issuer91b88f7f9feat: support multiple values for extraArgs96e604874fix: add hostname to endpoints7033275a7refactor: move BootloaderKind into machinery71adaf0eafix: sort mirrors and tls configs when generating the machine config34f09a300feat: add VLAN support to OpenStack platform5127ef7c2fix: wipe disk by signatures415bfaedbfix: panic in configpatcher when the whole section is missinge5aca71cdfix: fix healthcheck timeout634b71e2ddocs: move talosctl pcap example to Example Block818492731feat: implement KubeSpan multi-document configuration4d0604b9dchore: remove unrelated machineconfige36863470feat: add it87 hwmon module308c75090fix: resolve SideroLink Wireguard endpoint on reconnecte4ef494defix: drop the persist config flag from gen configc3176adcffeat: add EnvironmentConfig documentc839b3880feat: expose more SSA options in the upgrade-k8s commandb8ff9677efix: handle correctly incomplete RegistryTLSConfig99f2ddadafix: bond config via platform2449ffea4fix: allow HostnameConfig to be used with incomplete machine config35fc52087fix: lock down etcd listen address to IPv4 localhost27253d731feat: use new xfs config filec9d84ae21fix: generate OCI-compliant image config7a4b2b33afix: update VIP config example080efcbdafeat: add k8s-version parameter to k8s-bundleb764f5f72fix: skip sync test when kube-proxy is disabled70e67787dfeat: imager: populate filesystems with root owned files7416dca59fix: print talosctl images to release notesdc2009e47chore: use context when creating filesystems85f7be6e3chore: update slack links154952175fix: disable swap for system servicesd98b415affix: drop more non-overlay SBC stuff226cd6bc1fix: do not allocate for the actual disk image file53f5bf8d2fix: overlay installers10d0cfd93fix: overlay install in image mode77086694dfix: partition data population4d5657b1afix: drop SBC board codec4f3f6d3efeat: implement kubernetes server-side applyf12fd2b0atest: bump Image Factory testsc76484e58release(v1.13.0-alpha.0): prepare releasef0d8a6851test: skip the source bundle on exact tagc57701d65fix: remove interactive installer43937c1cdfeat: update Linux and systemd72a194df8feat: add VM CPU hot-add rulesf09ae1e0dfix: probe small images correctly8f2b33799feat: imager support rootless buildsc7525a97efeat: support creating filesystems from foldere2bffb5cechore: refactor imager code so it's more clear0fb50dbd0fix: invalid versions check in talos-bundleb5dd56032test: upgrade versions in upgrade tests3dfa4d6e4fix: make upgrade work with SELinux enforcing=1786c8e2eefeat: ship pigz/igzip in rootfs to speed up image decompression48d242918feat: update containerd to 2.2.1536541afefix: mount volume mount/unmount race39117d457feat: update dependenciesf0f420725fix: bond setting change detection8d6a7a867feat: update Kubernetes to 1.35.0845a0d09cfeat: update etcd 3.6.7, CoreDNS 1.13.2b95912e04feat: enforceproc_mem.force_override=neverby default681f3e84ctest: run virtiofs tests only when virtiofsd is running0592ff0cdfix: drop the Omni API URL check on IP addressa4879a5fafeat: update Linux to 6.18.143b43ff18docs: split talosctl commands into groups6d17c18bffeat: enable Powercap and Intel RAPL884e76662docs: fix the talosctl cluster create help output6dc31be4ffix: exclude new Virtual IPs configured with new config94905c73efeat(talosctl): support running qemu x86 on Macf871ab241fix: provide json support innftbinary694f45413feat: external volumes39feb16d2fix: update containerd 2.2.0 with cgroups patch82027eb9bfix: bond configuration with new settings121b13b8ffix: disable kexec on arm647eaa725d0fix: selection of boot entry949bdb90afeat: add Secure Boot to CloudStack platform config798143a88fix: discard better klog message from Kubernetes client008cd0986fix: disable kexec in talosctl cluster create on arm64bb62b29edchore: prepare talos for 1.13c0935030achore: fork reference docs for 1.13.xe387e48b3fix: do not override DNS on MacOS1e7e87fb1fix: rework NFT rules for KubeSpan51bcfb567feat: rename image default and source bundle585abe944feat: update Kubernetes to v1.35.0-rc.1f301e3e9bfix: update KubeSpan MSS clamping74c1df6f4test: propagate MTU size to QEMU intalosctl cluster created347ca1affix: update CNI plugins to 1.9.0e3f8196b4chore: update Grype and Syfte1b8ab323docs: add misssing periodcd04c3ddedocs: update release notesfc8ae3249docs: add omni join token example to create qemu command9fa00773cchore: update go-blockdeviceba13b6786fix: correct condition to use UKI cmdline in GRUBd2ce3f47fdocs: drop machine.network examplecf087c1e0test: bird2 extension13df94388fix: adapt SELinuxSuite.TestNoPtrace to new strace version861787c38fix: mark secureboot as supported for metal04e3e87adfix: clean up kubelet mounts21057903afix: clear provisioning data on SideroLink config change0f9f4c05ffeat: update Kubernetes to 1.35.0-rc.0d4309d7b1fix: add a timeout for DNS resolving for NTPdd6c1089cfeat: update Linux to 6.18.0e9a30bf9atest: revert add direct connectivity CA rotation testcc95562bcfix: don't disable LACP by defaultc9fe4679btest: add platform acquire/not valid config unit-test5a03a7a20chore: fix longhorn testa0cfc3527feat: implement logs persistence51b732beafix: selection of boot entry18f8ac369feat: update Kubernetes to 1.35.0-beta.092fa7c5e4chore: update pkgs for NVIDIA 580.105.08f489299b6chore: correct condition for running k8s integration testsab149750dchore: update tools/pkgs to 1.13.0-alpha.087ff9f860test: fix the image-factory test to pass IF endpoint2ffe538e7test: add direct connectivity CA rotation test70f6b80e0chore(ci): skip multipath extension tests561cfb60cchore: update pkgs and tools version2f42202a7fix: simplify OOM expression7b06ae8c2test: fix flaky LinkSpec/Wireguard teste715f3871feat: present kernel log astalosctl logs kernele2ee39b8afix: support specifying patch file without '@' symbole202b1f9efix: trim trailing dots from certificate SANs7f7079f9cfix: assign value of multicast setting properlyeba96141efeat: update etcd to 3.6.69945ceef3docs: add API Server Cipher Suites changelog9ed488d09feat: update TLS cipher suites for API serverf1c04e4d6feat: generate mirrors patcha89108995fix: add CA subject to generated certificate35dd612a5fix: add more resilient move83675838ffeat: extend flags of cache-cert-gen80ab7a064chore: remove spammy 'clean up unused volumes' logs74d35900achore: disable k8s integration tests for 1GiB worker nodes4f6218674feat: support TALOS_HOME env var0c59b3ea3feat: add multicast to linkconfig6db06f4d5feat: implement multicast settingeeded98f5fix: add riscv64 talosctl to release artifactsa6bbae91bfix: fix typos across the project83f2bdb9cfeat: support relative voume sizeChanges since v1.13.0-alpha.1
44 commits
009f0d6cachore: update pkgsba56b0295feat: include hid-multitouch.ko kernel module in rootfsae29a0dccfeat: update Linux to 6.18.137cf1de279fix: bring in new version of go-cmd and go-blockdevicec8800b41efix: update path handling on talosctl cgroups0a7b6eb2cchore: test extensions8b1c974a2refactor: drop termui-widgets library5baa0028efix: add owning inventory annotation to talos manifestsd3e793d14fix: stop Kubernetes client from dynamically reloading the certs6a5a0e3bdfeat: support pattern link aliases9758bd4fefeat: update Go to 1.26e00aed0f6feat: update Kubernetes v1.36.0-alpha.1f20445ad0chore: improve logging of disk encryption handlingf018fbe7bfix: handle raw encryption keys with\nproperlye5b0eb017fix: hold user volumes root mountpoint8a0e79774refactor: split locate and provisiona59db0e92fix: improve OpenStack bare metal network configuration reliability659009ad8fix: remove stale endpointsdab0d4783fix: allow static hosts in/etc/hostswithout hostname45f214154feat: update go-kubernetes to use new Myers diff35ad0448cfix: switch to better Myers algorithm implementation0048464befeat: update etcd to v3.6.85df10f260fix: use mcopy instead of diskfs to populate VFATce53ffa90fix: disks flag parsing and handling in create qemu command3bd3dd7cafix: memory overuse in imager VFATf118ee47efix: read multi-doc machine config with newer talosctl70c6c2154feat: add filter for KubeSpan advertised networksdaf18abf4fix: fix talosctl debug in enforcing mode33b5b2565fix: ignore volumes in wave calculation without provisioninga16392559feat: add explicit service account support to Talos client4d531884echore: update dependencies406b8c83cfeat: update doc links to docs.siderolabs.com87615f551feat: implement network policies with Flannel CNI6995bc1b1chore: update homebrew formula on release7942d5a98fix: image gc controller config52e8727d0feat: add IPv6 GRE support9690dbad0chore: bump tools (including linter)2628eb2ecfix: typo with rpi_5 profile named5ebcd7cafix: stop building talosctl debug on Windows8b85c7c63chore: update depsd905035b5fix: swap volume configuration for min/max sized43a01ccbfeat: implementtalosctl debug34a31c979feat: add mount options support for existing volumes1bf95eed1feat: improve dashboard uptime displayChanges from siderolabs/discovery-api
2 commits
9c06846feat: change the way excluded addresses are specifiedf71a14afeat: add advertised filters to discovery dataChanges from siderolabs/go-cmd
2 commits
5f31ba9chore: rekres and updatefff5698feat: allow capturing full output to stdout, modernize APIChanges from siderolabs/go-debug
1 commit
47fce68feat: support Go 1.26, rekresChanges from siderolabs/go-kubernetes
5 commits
0a235c0feat: add early support for Kubernetes 1.363bea212fix: use new Myers diff algorithm604c56bchore: extract common code to the go-kubernetes packageec0e3aechore: expose more ssa optionsad2fccdfeat: add SSA and pruning supportChanges from siderolabs/kms-client
3 commits
296bf9afeat: add logging to the KMS server2d6b082feat: add TLS support for KMS server4233ecdchore: bump deps, rekresChanges from siderolabs/pkgs
70 commits
3c982f8chore: update depsd065c59feat: update Linux firmware to2026022773ea3afeat: update Linux to 6.18.136ca02b3fix: make udev rules read only520141cfeat: enable kernel irq time accounting8f6df51feat: enable CONFIG_HID_MULTITOUCH6934b50feat: add patch for Cilium BPF verifier rejection by the kernel5760aa7feat: enable MLX5 Scalable Functions and TC offload in kernelc0c8bc5feat: enable CONFIG_DRM_ACCEL and IVPU on amd64b9cc39dfeat: build kernel with Clang and ThinLTO, update Go to 1.263327386chore: drop mellanox-ofed9013985feat: update dependencies17196f5feat: update NVIDIA LTS to 580.126.168f53ad2feat: update Linux to 6.18.9eff5ba0feat: enable ip6_gre605ac0dchore: update deps7670ff4feat: enable NFT_BRIDGE configdc737a6chore: update kernel9b118b3chore: update depsa63c227feat: update OpenSSL to v3.6.1da7ab57feat: add px-fuse pkg553e0fbfeat: enable dm-integrity15a3cdffeat: update Linux to 6.18.6b518a19feat: update dependencies1b4fbf5feat: update GRUB to 2.1430bc671fix: enable pinctrl for Raspberry Pi 5375983ffeat: update Go to 1.25.6d445c80feat: update Linux to 6.18.56994400feat: update NVIDIA LTS and production driver versions05c3d85feat: update Linux firmware to2026011c61b466feat: enable IT87 hwmon moduleae2572efeat: enable IPV6_MROUTEd6b503efeat: add RK3588 NPU Supportdf4b4c8feat: bump depsa220898feat: add libarchivec2371b5feat: enable ZRAM supportab4d169feat: add a patch to force uid when populating from a directory972f44dfeat: update dependenciesf8eb5b0feat: update Linux to 6.18.23fb6291feat: update systemd to 25959241bdfix: add SBOMs for pigz/igzip9377c78feat: optimize decompression for containerde8e61cefeat: update containerd to 2.2.1daa74bafeat: support xfs filesystem reproducibility1f66513feat: update OpenZFS to 2.4.0b209af5chore: rekres with latest changes2b806b9feat: bump dependencies65242fdfeat: enable CONFIG_MISC_RP1 in ARM64 config4daecd8feat: update Linux to 6.18.19868a66feat: enable Powercap and Intel RAPL07883eefeat: build and package perf binary47abca0fix: add json support to nftables binaryb961ff8feat: patch containerd 2.2.0 with cgroups fix patchb7dd7f6feat: add mstflint moduleae53351feat: update ZFS to 2.4.0-rc5b8edf01feat: update CNI plugins to v1.9.0a57c1b0feat: enable amd sev-snp68562c1feat: update Linux to 6.186f4ff8cfeat: enable Amlogic Meson PCIe controller driverc41127bfeat: enable Intel GPIO/Pinctrl kernel modules4a31ff7feat: update NVIDIA LTS to 580.105.083e858d3chore: fork pkgs for Talos 1.13dcc5aa1feat: update runc to 1.3.48b6ae5bfix: regenerate configs2992598fix: add missing kernel config entriesc8ea18afeat: rekres to alow multiple commits2ddef8bchore: update dependenciesd1f28e0chore: update dependenciesab253f5feat: enable gpio-fan module0b10666chore: use ubuntu mirrorsChanges from siderolabs/proto-codec
1 commit
bd9c491chore: bump and update dependenciesChanges from siderolabs/tools
17 commits
9de9770feat: update to Go 1.26bd4ae8ffeat: add LLVM+Clang+LLD toolchain90bd70cfeat: update dependenciesdecb988chore: update depsca26e1cchore: update deps0281af0feat: update OpenSSL to 3.6.1721ad07feat: update dependencies2b3f514fix: reproducible build for nasm98c699efeat: update Go to 1.25.6cd5eb66chore: run rekres and update dependencies896f8b9fix: add sbom for zlib-ng543a16ffeat: replace zlib -> zlib-ng, add nasmb67c1a1chore: rekres with latest changes5e087cbfeat: bump dependenciesda96a27chore: rekres to fix reproducibilitye283ec8feat: update Go to 1.25.5c38ff0cchore: update to 1.13.0-alpha.0 toolchainDependency Changes
35ad044f2248ac77c836anewPrevious release can be found at v1.12.0
v1.13.1Compare Source
v1.13.0Compare Source
Welcome to the v1.14.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.
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 the
ResolverConfigdocument, allowing for flexible configuration of DNS resolution.noexec on EPHEMERAL (/var)
Talos 1.14 clusters now default the EPHEMERAL volume (
/var) tonoexecin addition to the existingnosuidandnodevmount options through generated machine configuration.
Existing machines are not affected on upgrades.
Note: Workloads that execute binaries placed under
/varcan break on new machines.Longhorn v1 and vCluster are known to be affected.
For example, Longhorn v1's
instance-managerexecutes engine binaries that theengine-imageDaemonSet places under/var/lib/longhorn/engine-binaries/, which now fails withpermission denied.Affected users can opt out via a
VolumeConfigdocument:Longhorn v2 (SPDK data engine) runs the data plane inside the instance manager process and is not affected.
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:
BGPInstanceConfigdocuments to configure local ASN, router-id, optional Linux VRF, advertised interfaces, neighbors, and per-route preferred source (routeSource).installRoutes: falseto retain learned routes in the BGP RIB without installing them into the Linux routing table.importRoutesprefix selectors. Imports are one-way, preserve path attributes, and do not recursively import locally originated or previously imported paths.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:The
.machine.baseRuntimeSpecOverridesfield is deprecated and remains supported during the deprecationperiod. It is mutually exclusive with
CRIBaseRuntimeSpecConfig; 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
CRICustomizationConfigdocuments. 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 thedeprecation period and is exposed under the reserved name
customization. ACRICustomizationConfigdocumentcannot 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:
Default Installer Image
The default installer image has been updated to use the Image Factory.
The
ghcr.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:
.cluster.discoveryin the v1alpha1 config; use theDiscoveryServiceConfigdocument for discovery service configuration. The v1alpha1 config andDiscoveryServiceConfigare mutually exclusive..cluster.secretandcluster.idin the v1alpha1 config; use theDiscoveryIdentityConfigdocument for discovery identity configuration. The v1alpha1 config andDiscoveryIdentityConfigare mutually exclusive.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 requeststhrough 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 dedicatedlistener on port
2383, while the client port2379serves gRPC only. This keeps gRPC off Go'snet/httpHTTP/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 onport
2383instead (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-documentconfiguration kind. The document
nameis the path relative to/etc, and each document owns the completefile contents and mode.
This can be used to configure files such as
/etc/nfsmount.confor/etc/multipath.conf. Talos-managedpaths, including
resolv.conf,hosts,machine-id, CRI and Kubernetes configuration, trust bundles, andidentity 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: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, the
FilesystemTrimConfigdocument 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 when
allowDiscardsis set).The trim interval can be overridden or disabled per-volume via a
trimblock on the volume documents(
VolumeConfig,UserVolumeConfig,ExistingVolumeConfig,ExternalVolumeConfig):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:
.machine.sysctlsin the v1alpha1 config; use theSysctlConfigdocument for kernel sysctl configuration..machine.sysfsin the v1alpha1 config; use theSysfsConfigdocument for sysfs configuration..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-tree
iscsivolume 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 atarget 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.
The
kube-proxyis now using configuration to manage its settings instead of command line arguments (with newKubeProxyConfigdocument).List of changes:
.cluster.secretboxEncryptionSecretin the v1alpha1 config; use theKubeEtcdEncryptionConfigdocument for full etcd encryption configuration..cluster.apiServerin the v1alpha1 config; use theKubeAPIServerConfig,KubeAdmissionControlConfig,KubeAuditPolicyConfig,KubeAuthenticationConfigandKubeAuthorizerConfigdocuments for kube-apiserver configuration..cluster.ca,.cluster.acceptedCAsand.cluster.aggregatorCAin the v1alpha1 config; use theKubeAPIServerCAConfig,KubeAggregatorCAConfigdocuments..cluster.controllerManagerin the v1alpha1 config; use theKubeControllerManagerConfigdocument for kube-controller-manager configuration..cluster.schedulerin the v1alpha1 config; use theKubeSchedulerConfigdocument for kube-scheduler configuration..cluster.proxyin the v1alpha1 config; use theKubeProxyConfigdocument for kube-proxy configuration..cluster.networkin the v1alpha1 config; use theKubeNetworkConfigdocument for Kubernetes network configuration; Flannel can be configured using theKubeFlannelCNIConfigdocument..cluster.coreDNSin the v1alpha1 config; use theKubeCoreDNSConfigdocument for CoreDNS configuration..cluster.nameand.cluster.controlPlane.endpoint in the v1alpha1 config; use theKubeClusterConfig` document for cluster name and control plane endpoint configuration..cluster.allowSchedulingOnControlPlanes.machine.kubelet.skipNodeRegistration.machine.kubelet.registerWithFQDN.machine.kubelet.nodeIP.machine.nodeLabels.machine.nodeAnnotations.machine.nodeTaintsNoScheduletaint for controlplane and label are now explicitly listed inKubeNodeConfig..machine.kubeletfields in the v1alpha1 config; use theKubeNodeConfigandKubeCredentialProviderConfigdocuments for kubelet configuration..machine.podsin the v1alpha1 config; use theKubeStaticPodConfigdocument for static pod configuration..machine.filesin the v1alpha1 config; use dedicated configuration documents such asEtcFileConfigandCRICustomizationConfiginstead..machine.baseRuntimeSpecOverridesin the v1alpha1 config; use theCRIBaseRuntimeSpecConfigdocument for base runtimespec overrides..cluster.inlineManifestsin the v1alpha1 config; use theKubeInlineManifestConfigdocument for inline manifests..cluster.extraManifestsand.cluster.extraManifestHeadersin the v1alpha1 config; use theKubeExternalManifestConfigdocument for external manifests..machine.features.kubePrism; use theKubePrismConfigdocument for KubePrism configuration (or remove it to disable KubePrism)..machine.features.kubernetesTalosAPIAccess; use theKubeTalosAPIAccessConfigdocument instead.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 documentnames a logical volume, its parent
volumeGroup, atype(linear,raid0,raid1orraid10) and amaxSize(absolute, e.g.50GiB, or a percentage of the volume group, e.g.80%). RAID layouts acceptoptional
mirrors(raid1/raid10, default 1) andstripes(raid0/raid10, default: all available physicalvolumes) fields. Once the volume group is assembled the logical volume is created via
lvcreate.Raising
maxSizegrows an existing logical volume vialvextend; percentage-sized volumes also grow whentheir volume group is extended. Shrinking is never performed (it risks data loss) - a request to reduce the
size surfaces an
LVMValidationErrorinstead. Removal stays an explicit operation via the LVMService LVremove RPC (
talosctl wipe lv).LVM Status
Talos now provides detailed LVM status information, allowing for better monitoring and management of LVM volumes.
New resources
LVMPhysicalVolumeStatus,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-docconfig kind. Each document names a Volume Group and a CEL
volumeSelectorover the disk inventory; matcheddisks are initialised as Physical Volumes (
pvcreate) and aggregated into the requested VG (vgcreate).Newly matched disks added to an existing VG are attached via
vgextend.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 serverNTS can be enabled for custom time servers via the new
useNTSfield in theTimeServerConfigdocument.RAID Array Creation
Talos can now create and grow Linux MD (software RAID) arrays declaratively through a new
RAIDArrayConfigmulti-doc config kind. Each document names an array, its
level(raid1) and a CELvolumeSelectoroverthe disk inventory; matched disks are assembled into the requested array with
mdadmand 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 via
talosctl wipe md <device>. The newMDArrayStatusresource reports theassembled 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 thearray 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 ofeach 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 new
sandboxdservice, instead of sharingmachined's namespaces.sandboxdruns in its own least-privilege SELinux domain (sandboxd_t). if it dies the kernel tears down thenamespace and Talos recreates it — relaunching CRI, the kubelet, and pods — without rebooting the node.
Its logs are available via
talosctl 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 bydefault. 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:
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 via
machine.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.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/noexec/nodev, enabled by default) can be set per volume; directory-backed volumes inherit theEPHEMERALmount options.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:
.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.installsection of the v1alpha1 config. The document carries the installer
imageand aprovisioningsection with a CELvolumeSelectorto match the install disk, plus awipeoption.When the
UnattendedInstalldocument is present, the install is driven by the newUnattendedInstallController(exposing an
UnattendedInstallStatusresource) 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.41
Kubernetes: 1.37.0-beta.0
containerd: 2.3.3
etcd: 3.7.1
Flannel: 0.28.8
runc: 1.5.1
CoreDNS: 1.14.6
Talos is built with Go 1.26.5.
Virtual Ethernet Pairs
Talos now supports declarative virtual Ethernet (
veth) pairs through the newVethConfigmulti-documentconfiguration 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 eachendpoint:
XFS Allocation Group Geometry
On non-rotational devices
mkfs.xfssizes the allocation group count to the number of CPUs, bounding theallocation 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 thejournal 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 stock
mkfs.xfsbehavior: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
Changes
487 commits
1ab88f743fix: load the raid1 module for configured MD arrays9e8568d26fix: use inmem containerd for installs/upgrades8cf28da5ffix: preserve kmsg reconciliation after config changes311b6fde9fix: make reset during boot phase more robust945d1cdabfeat: bump kernel to 6.18.414e77d40e8fix: restore the systemd-timesync best-sample check in spike detection4444a187dtest: inspect host mount state from the current threadb7c0497b0fix: race between vol.cfg. and vol.mgr. ctrlef9a091ecfeat: allow attaching extra disks to controlplane machinesa418c0e1etest: fix CRI restart event assertion racea9bfdbdd4fix: ignore insecure-only imager assets54e3b20e8fix: hold the darwin vmnet bridge open for the network lifetimebc59389fafix: drop the OOM config rule about overall system memory PSI69be56ea9chore: add some initial set of libvirt SELinux policies6170ad8b9fix: validate kubespan & discovery config correctly for multi-doc6e58c6d5atest: fix ded. vol. plumbing in integration testsb644d1640fix: allow directory-backed volumes in reset api28e7a8742feat: bump etcd to v3.7.12c657c224feat: bump kernel to 6.18.40b1bdc8c07test: restart qemu process several times on startup failures7533057a7feat: support route imports between BGP instancesa94783704docs: remove duplicated docs in the markdown for CLI6f17c5033fix: verify the public key signed images correctly570fe34f0fix: generate backwards compatible etcd encryption configf7790816efix: use context without cancelation for etcd locks67e61ef30feat: add the fs_scrub controller1c156458afix: override DHCP search domains via explicit ResolverConfig domainsfd8dbd8a1fix: skip pod check if desired number of pods is zero9aede5429feat: add kubeimportlinter for versioned k8s importsae93d1462fix: redact resource specs in the merge controllersfc5743cd0feat: add GrubUseUKICmdline install option6bba77724feat: add named native BGP instancesc5ab22f1dfeat: move Talos API access from Kubernetes config to multi-docb1abd9c03fix: split the up/finished service events644ecbc66feat: add discovered volumes status controller6be2b1384feat: add veth pair support7514401defix: drop the controlplane static pod change9a521f667fix: preserve container tasks across CRI restarts9048d4157fix: fix a nil-map assignment panic in configpatcher45eaf2037release(v1.14.0-beta.0): prepare release7e58e0442feat: add dedicated CRI configuration documents076c38136fix: race with PCR extensions and volume unlock88884194cfix: teardown ephemeral mount request during resetc793bcbf5fix: configure bonds during initial link creation9b3bf6e51fix(talosctl): prevent duplicate QEMU config server portsfa6cd1ca8fix(machined): preserve health when services reach running9d5554e69fix(machined): wait for host namespace commands through reaperfc08533bfchore: update dependenciesc08863cddfeat: provide different heuristics for xfs allocation groupse955d9bd7feat: update CoreDNS to 1.14.6c3f757f9efeat: update Flannel to 0.28.8fada0d960fix: provide non-sensitive KubeletStatus resourcec68085286fix: volume mount race (third attempt) around service restartb185752e5feat: refactor KubePrism config into multidoc499d4ebf9test: update Calico in canal reset test5b6ed0068test: add a test for kata-qemu runtime class1a075383afeat: allow "duplicate" kinds in the config patches06943be9efeat: update Kubernetes to 1.37.0-beta.001f2a1423fix: preserve trailing rate-limited trigger events46fab8057test: stabilize AWS readiness and Talos 1.13 QEMU configa26ac746dfeat: move static pods and manifests into multi-doc67464cbeffix: update the vulnerability dates and description4920ee06ffeat: update Linux to 6.18.39286fa8006feat: include CA into kube-apiserver serving certificate6d65e223bfeat: drop kubernetes flexvolume mounts4935e9452feat: refactor kubelet's config intoKubeletConfig241bd0ff1feat: custom cfg for system volumes (cri, kubelet, etcd)ea9557816fix: talosctl buildc2b763608feat: add UFSHC and some other modules2193b5781feat: native BGP support via embedded GoBGP2e42c5900fix: add ca-certificates to talosctl0f55e1f05feat: refactor Kubernetes configs intoKubeNodeConfig6efdc8f71fix: zero MD superblock via block wipe on destroyf78f5e5a1fix: vrf sorting77385181afix: oom podruntime protectionc1184d38efeat: update to runc 1.5.14bff7eb90feat: support reboot and sync for remote provisionerc791fa8c0feat: add host-namespace debug profilee370e40b7feat: implement KubeClusterConfig37c78bfc0fix(ci): skip ephemeral noexec test on 1.130ab6695e6feat: update Kubernetes to 1.37.0-alpha.3443ca17e1test: bump test dependenciesc4242088bfix: enablenoexecfor EPHEMERAL only for new machinesfc9f72648feat: bump CoreDNS, Flannel352b1bdebfix: use symlinks for init aliases883775a9efix: move sandboxd into a separate cgroup099a2cedafix: remote provisioner nameff67aaf32feat: bump go dependencies79c0c5414feat: add iommufd as a kernel modulef34e93fe2fix: do proper backoff for NTP Kiss-of-Death responsesa3e644d8dchore: bump tools and pkgsefa88f2f6fix: flaky tests17a134711feat: add ignoreRoutes option to DHCPv4 config document2519bf231fix: make audit restartable54b4bbc03fix: provide correct handler for Ctrl-Alt-Delete sequence87e126ab7feat: isolate cri, kubelet and pods in a sandbox namespace3fb8f4e9efix: avoid image cache mount request churn9753fc27ffix: e2e test flakesf756ff232feat: kubenetworkconfig supports per-node pod cidr configurationb42c42976fix(ci): fix more flaky tests5d97eccdffeat: bring in ifb.ko module6769a1d5cfix: terminate log persistence a bit harder98cce792ffix(ci): extensions test057d554d2test: assert dm transport for device-mapper disks9fd16a21efeat: bump etcd to 3.7.03048eeb23feat: support booting from MD RAID1 arraye1fc7a4a1fix: do not block volume lifecycle teardown on failed user volumes147dea148feat: add --no-reboot flag to upgrade cmd1b23b11fcchore: update pkgs and toolsbfa9fb4e8fix: flaky testsa1ede48cbtest: fix testremovemember etcd integration flakeea90e690dfeat: add MD RAID gRPC service and reconcile controllers74486ef6dchore: update depsf59c3ccadfeat: implement service account configurationbaff2d3f9test: fix some test flakiness5450ec303fix: use a forked version of secure-io/siv-go33fac3f85test: stabilize netapp trident csi fio runsafdde2a8fchore(ci): add netapp trident csi integration tests21eca156ffix: print link status changes210f4e369fix: shutdown/reboot via usermode helpersd193f278dtest: fix cilium test config patchinge06898069fix: flaky testsb7398ec00feat: move kernel module config into multi-doc55bc643affix: flaky serviceaccount suite testdced7d570fix: correctly treat guaranteed QoS pods in the OOM handlerf783f6636feat: implement controlplane only config validationd0291bb0bfeat: extract Kubernetes CA config into a separate document97ed958a8chore: use lefthook globs to skip noop jobsa145c6356chore: lefthook USERNAME env, post-commit hookf836707adfix: use UnattendedInstallConfig for extensions67293c809chore: add lefthook.yml726ea8fc2chore: switch v1alpha1 validation to use cluster config structd1d848022feat: add mdadm tooling and udev rules020de3f51chore: update go dependenciesae84f56a0chore: remove orphaned unattendedinstall.md416073748feat: add UnattendedInstall config and controller4e5b4c6a7feat: extract clusterid and clustersecret to discoveryidentityconfig0a641f268refactor: simplify device status controller99da7f27ffix: data race in manifest sync54ac1cbd6fix: provide cooldown period for the QoS trigger788562586feat: udevd controller and udev rules config document6e34da25cfeat: delegate drain ops to go-kubernetes/nodedraine9e027c63fix: kubelet stuck restarting6f481b420fix: decode extraArgs list values correctlyc8bdcc252feat: update runc to 1.5.0eae11ab0cfeat: allow user managed etc files47d4bd87efeat: set user-agent for Kubernetes clientba926c6cechore: update golangcilint config45497bd5bfeat: bring systemd 261.18d9ecec93refactor: improve stability for process_test.go31221e7eerefactor: talosctl running tasks are yellowb268a6b08feat: refactor CoreDNS config into multi-doc416d5fe4bfix: race in etcd member addc244e4c46fix: building integration test binary on darwinb15a64b31chore: bump rekor for GHSA-47q9-m4ww-924mcd8b0fe39release(v1.14.0-alpha.2): prepare release917820cb3chore: sync pkgs/toolsb34be14e9fix: cli.md codeblock generation25abcc6b5docs: update kubespanconfig to match discoveryserviceconfig742589f50feat: support multiple discovery service configsfc3f27d79chore: enrich the SBOM with Go module licenses47d5c3351fix: handle image cache being disabled1a965aec3test: disable LongHorn ublk test and add more cores6d03b3f61fix: align documented image cache partition label6447d854ffix(talosctl): use aio threads on darwinf856d1808fix: image verification with referrers11a7fbe4cfeat: extract kube-apiserver config into multi-doc configs337654d2btest: fix rook-ceph testse33a86825feat: add AMD XGBE driver to initramfsbd2d6242afix: revert coredns to 1.14.27c4e644f8feat: update Linux to 6.18.366e23a5c2fchore: refactor bare opentree_clone into a mount helperdfbd30959fix(talosctl): prevent appending type 11 smbios values on restart5926dd70dtest: support running integration test against remote provisionerf146c6a18feat: refactor /etc mountsebe364117chore: bump containerd to 2.3.2bc30c61a1chore: bump deps (go, k8s, docker)00d739d0atest: skip fstrim default schedule on cloud testsd9c6edf01fix: bump number of open files for etcd990c5395cchore: update tools and pkgs 2026-06-17325be7cd8refactor: config generate uses multi-doc sysctlconfigd6930633bfix: clean up and overhaul mount opsa0219404dfix: cgroups cleanup58d8b71c4fix: stop the log persistence and close all files on shutdown4b32ebc17refactor: simplify trustd/apid rootfs setupdc98e3553feat: implement filesystem trim support897bef633feat: introduce KubeProxyConfig multi-docebde543cffeat: introduce BootID resourcecd178b9f3fix: ensure consistent manifest apply order19fac6151feat: remote provisionerb6412e031fix: drop one more reference to removed 'nodes'be7f7a7dbfeat: add human-readable size fields to LVM resourcesd4e0ca1bafix: make LVM reconciliation robust and idempotent0dbc1e529chore(ci): fix flaky testb687a47abfeat: implement an option to allow discards on encrypted volumes3fc981c57fix: improve security of scheduler/controller-manager5d4af9f33fix: gracefully stop node containers before removalc1593d8a3fix: honor FailurePauseTimeout when pausing before reboot506dc1323feat: add imager flag to set the SecureBoot key enrollment mode5d4ba702erefactor: generate pod definitions in k8stemplates995bc30d5feat: drop apply config method reboot18f6cb4d0fix: increment time epoch on wall-clock jump when time sync is disabled755a8c8ebfeat: update etcd to 3.7.0-rc.0a0c76fad1feat(talosctl): implement cluster logsdb052165cfeat(talosctl): support rebooting cluster nodes0a04f463afeat(talosctl): use gateway dns for clustercf3eb1cadchore(talosctl): disable kexec for cluster create on arm64180182b0ffix: correct the link alias conditionac9014f05fix: introduce pull attempt stall detection for image pullf2286d616fix: move Flannel netpol patch to the controlplane9986c0b16feat: bump kernel to 6.18.35e8845fba6fix: route ProxyURL test via reachable endpoint44acedf30feat: add declarative LVM logical volume provisioningf6058a11bfeat: grab support bundle via client factorycdd719773feat: add CPUCores resource8e41eb1bdfeat: verify go.mod tidiness in generate targetb19e2ea42feat: add kube-apiserver probesa321a1dccfeat: support proxy-url in talosconfig contextbb2ac7546feat: parse schematic info out of extension status0c02a5a07fix: align flannel MTU with kubespan to avoid permanent fragmentation3d5fd822cfeat: expose disk firmware and BIOS version30115981cfix: relax LUKS header validation5923199fbrefactor: use ClientFactory for the action tracker72c0ced3crefactor: deprecate sysfs and sysctl in machineconfigee74a41fbfix: handle cluster-scoped resources with a namespace correctly9df5a647afeat: allow to disable access time for EPHEMERAL partition9b667dbdechore: fix lint error in test311378386test: increase resource inmem buffer to stabilize the tests6f85ce3d2docs: hack/release.toml explains kernelmodulestatus9bb0a5d01fix(talosctl): add scrolling to dashboard footer node list4c029c2d6fix: machine configuration schemasc3052e845feat: move CNI config out of v1alpha1 config1d2f1208cfeat: add declarative LVM volume group provisioning85f1d428fchore: refactor tests to use debug apic901d47a5refactor: talosctl streaming commands and more fixes166854959fix: mark more resources as sensitive58adf2e00fix: classify installer and imager exits9549930fffeat: update Flannel to v0.28.527362d18erefactor: replace the callback strategy for most commandscb42d9d9afeat: implement support bundle encryption9ae260b55feat: enable NRI by defaultd1d5847b0fix: flaky test0f2331586feat: support external secureboot and pcr signersb349d919dfeat: enforce strict QoS ordering in OOM victim selection76d9b49bdfix(ci): aws nvidia tests3131826cdfix: provide NTS sync with bad initial clock state89e307e58fix: etcd client leak in the (legacy) Upgrade API476c4d050fix: recreate dns server and listeners on host DNS runner restart9a283d9b1feat: bump Go to 1.26.44759dc246chore: bump dependencies26a25a073chore(ci): drop homebrew workflowfa8a55192feat: update etcd to v3.6.1241fcab476feat: update kernel to 6.18.348ba00612bfeat: update dependencies6e2dec1earefactor: update talosctl commands to stop using WithNodesf9ad63a35feat: add custom logging convention linter30dbce03fchore: make oci images reproducible38244fd5bfeat: add sbom builder5177c50e2refactor: deprecate loadedkernelmodulec2eef3645fix: health request server-sided6eff8effrefactor: drop multi-nodes proxying for the dashboard2e547a964refactor: deprecate multi-node proxyingddcc519e1fix: add --fail to image-signer curl downloade5b0b1ddefix: normalize log fieldsd8e95c396fix: drop installer from bundle7aad9ec81feat: update pkgs, tools, Go dependenciesb50ee396ffix: fix trace fix to also lookup release branches027c93d25release(v1.14.0-alpha.1): prepare release4eb862d09feat: add LVMService for VG/LV/PV removalb88f16a52fix: use POSIX shell idioms for error propagation5290eb374fix: suppress ICMP redirects by default7b4aba2e5fix: marshal kube-scheduler config correctly with int types894be9bf5fix: touch rootfs files with SOURCE_DATE_EPOCHcde82224efix: ignore cgroups with zero rank in OOM handlerbc0372411fix: bring in a change to BCM2712_MIPf572c33f1chore: fail on makefile errore317d4b47fix: drop modprobe path and enforce usermode helper89e53f610fix(machined): make built-in mod state always 'permanent'cfbec9bd5test: skip UEFI vars wipe if TPM is enabled1e31deda3fix: create parent directories when extracting tar archives14dc188bdchore: verify go-containerregistry preserves symlinks951922dfbfix: guard apply config API call3e173adf4feat: move kube-controller-manager config to multi-docb5cda3438fix: reset QEMU UEFI variable store when disk is wiped4a17ac6acchore: script for tracking fixes made in upstream toolchain/tools/pkgsd71edeeadfeat: add LVM status resource definitions4aeba1cdefix: perform backwards-compatible kernel args cleanup9b7b2bf36feat: implement support for btrfs user volumes03ee8ee3afeat(machined): support instance tags on Akamaid19f9ade0fix: memorymodules resource reportinga6edcf6f3chore: move out adv library40e66eac7fix: bump Go golang.org/x modulese23ca4a0achore(ci): add upgrade tests for trustedboote3003c0ecchore: bump tpm nonce size to match the algorithm used8fd04da1ffeat: add bnxt_re module to the rootfs1cfab00f1fix: update etcd experimental argsad96fc6aefix: relax hostname config validationefd735334chore(ci): add missing labels, move release metadata check to job9ec045059feat: update containerd to 2.3.142f4144a1feat: introduce new KubeSchedulerConfigf2b7f39dbrefactor: move Args type out of config/v1alpha1b959dcb3efix: bump Kubernetes to 1.36.1 in one more place8ecc77f1afeat: update default Kubernetes version to 1.36.1cbd9c3745chore: rekres to secure slack workflows6a92fc653test: update Canal version used in the testsbe12d3d08feat: support 4k sector size disk imagesa7e8f4c28chore(ci): fix cloud image upload job name4319399f6feat: introduce more modular Linux kerneled5df89f6feat(ci): rotate credentialsa6a984ff7chore(ci): fix the job conditionsecb7d4588feat: enable Flannel nftables mode9919ff781feat: update Linux to 6.18.321a7d136e4feat: add Azure Secure Boot imager profiledf68e7391feat: implement kernel module status resourcee98ee99d4fix: streamline config validation flowd7f0a2fd4feat: update Linux to 6.18.312b66e25a5chore: update image signer5aa1795f9chore: drop e2e step dependenciesd42b3b396feat: update Linux to 6.18.30c3f6f3507feat: implement static host resolving via host DNS2f06a68efrefactor: split host DNS handlere99c5be5afeat: implement DNS over HTTP(S)cf6065238chore: stop publishing installer to ghcr0edabd29cfix: restore some shared (and some lower tier slave) mount propagationf1578dc63fix: image verification issue with registry.k8s.io46b1f8a24fix: rework how scheduler config is marshaled820a9fa59chore: fix typos in comments649a384a9feat: move more kernel stuff to modules4f3ab2012chore(ci): try fixing homebrew action600c0ab5dfeat(ci): validate that extensions PKGS and TOOLS sync with talos76080416bfeat: redact more machine config secrets and audit redactorsaabf63957docs: drop controlplane endpoint examplesb48a2bef4test: relax kernel-default routing rule assertiond2208b034refactor(talosctl): propagate command context throughout, handle interrupts0760b5c28fix: normalize source name for syft consistencyc49ac0ec2docs: document release policyec7e6ef9ffeat: bump in-toto indirect dependency21858a674feat: update kernel to 6.18.295a49dc61dfeat: migrate Image Cache config to multi-doc574298ec1fix: handle empty GCP operation errors366b10b79feat: dockerfile improvements9a1d9d0affeat: bump go 1.26.36eec1c229feat: support DNS over TLS for upstream resolversdee139aeffeat: revert update CoreDNS to 1.14.3087bc4c18chore: lint packages under tools9e7516faefix: clarify documentation for image verification pattern41c8e9dc4feat: bump dependencies2b6c06ef5feat: update CoreDNS to 1.14.36b6f7978bfeat: update containerd to 2.3.0f9c4f90dafeat(ci): longhorn v2 ublk tests84d169c62fix: make dnsd retry listening689974bd5fix: volume mount permissionsff0f66bdffix: skip reserved routing rule priorities850e2c754feat: drop fakeroot, use go helper0c1bd701afeat: add golangci-lint fmt target53bd66956feat: support conditional start of IPv6 dns serversb31d93e0dfeat: auto-enroll SecureBoot keys for disk images849a68006test: update pkgs to test new extensionsc30a6dfcbfix: preserve DHCP DNS servers5b81b20d3feat: apply DHCP search domains4e5ff8fa2fix(ci): zfs test14abe5140fix: handle gateways which are not on-link routes in dhcp4e1f759af8chore: fix lint issues automatically664c5f643chore: update toolsc64df2b61fix: add missing kernel modules in rootfsf73c24594feat: run depmod with verification on rootfs build1371596d7fix: provide proper AWS platform metadata4f11f021dfeat: implement etcd encryption config (kube-apiserver)876f83643feat: add support for HTTP Probes9b776d598feat: update etcd to 3.6.11631a1bc5efix: bring in hardened kernela349dac03fix: stale discovered volume children13ce01879fix: re-enable kexec on arm6432539d4acfix: deadlock in the makefs ext4 with populated source0f3e1966afix: panic in Kubernetes manifest sync3bae01ac1fix: do not pick up a system disk from a loop devicededb7a96cfix(talosctl): protect k8sNames map writes with mutexcc2be213afix: drop explicit platform matcher1dffebaf2fix: mount throws EPERM on virtiofs with SELinux48a481c29fix: replace Canal manifest with a more recent one6a445406efix: make lacp active nilable0d1d95c7dfix: bump go-kmsg to fix the timestamp driftbd344fd53fix: reset the ticker when the KubeSpan is disabled/enabled462015bcdrelease(v1.14.0-alpha.0): prepare release8a037a56etest: fix flaky tests08c81d838feat: bump kernel to 6.18.25fe40b6e58fix(ci): fetch empty pr labels837a9ed07feat: move host DNS config into ResolverConfig96a8ecd1efeat: default to factory installer imagef19eef78bfix: revert add extraArgs from service-account-issuer6821225b6fix: revert use append instead of prepend in service-account-issuerb43c3a124feat: add quirk for talosctl factory downloadsdf0b9a8darefactor: make all controller unit-test follow modern patternsc2948cef2feat: support auth for Image Factory in cluster create560bcf0cafeat: enforce TLS 1.3 minmum version for Kubernetes components3db14309efix(talosctl): ensure uncordon runs after reboot/upgrade errorsecf2fa855feat: update Kubernetes to v1.36.071557eaddfix(ci): skip misc jobs not on pull request026313b7cdocs: rename security-insights.yml to lowercase for LFX detectiondc4ffd490fix(ci): fix jobs not interpolating matrix due to condition25e2f37e2chore: generate comments for fields in resource proto149592fa5fix: watch kubelet's kubeconfig and time out for cache sync1f315e6e9feat: update Linux to 6.18.230198eedc2feat: add NTS (Network Time Security) support for NTP time sync6830a8b97fix(ci): matrix jobs cleanups71aeb347ftest: fix OOM test flake9b9542cc5test: fix a flake in the manifest sync test863d882b6test: add image verification for factory.talos.devbba0b4aeechore(ci): nvidia update helm values3399ff4defix: propagate route table down to the resourcec684ec60echore: prepare for Talos 1.14 releaseed9545d0dchore(ci): bump gpu operator version4de3e4393fix(ci): cron triggered workflows212182e6fchore: bump container registry libraryc028db0b8fix: do not flip machine stage to rebooting during shutdown6ce62d9e8fix(ci): workflow runs withworkflow_run509cd9733fix: boot entry detection5e3f30188feat(ci): rework to schedule daily runs after a cron7fa4d3919fix: zfs extensions test1ef8e630atest: allow more tests to run in FIPS strict modebdcc9321bfix: reduce memory dashboard usage2d177af82chore: update Syft to v1.42.4+patches0d8362119fix: return failed precondition on upgrade when not installedbe58eafabfix: wrong slot of encryption key was logged015081c76feat: update dependencies9fbb7c95dfix: audit trustd code for security986e97fc7feat: update Flannel to 0.28.4f3817d1d1chore: update sign images to support image name suffixe776721f3feat: update Kubernetes 1.36.0-rc.1f6e7346fafix: encode extra args fields in resources with new id3c7bb80bachore: bump tools3ba35c9b9chore(ci): nvidia try UKI boote3e8f01cachore: bump tools181584a5ffix: handle boot failurec464c7e88fix: upgrade API in maintenance mode (legacy)b7512d912feat: update Kubernetes to 1.36.0-rc.04ba11156frefactor: allow overriding out image name suffixc81aa125cfix: panic in reading PCR values6a3ab87c5feat(ci): add nvidia arm64 matrix21f459aabfix(talosctl): always use default GRPC dial optionsca208e514fix: validate hostDNS forwarding requires hostDNS to be enabled9fcb9e05bfeat: bump go to 1.26.20bfdf7f70fix: create correct blackhole routes for IPv452b920032feat: add client-side Kubernetes node drain to reboot and upgrade commands968ec1e0crefactor: propagate NAME properly, allow to set on buildacc69c346fix: set the minimum TLS version to 1.30cfa6e302chore: bump some tool dependencies4229bb9d2feat: add dis-vulncheck toold697f5538fix: don't set xattrs while decompressing extensions34fb2cbe5refactor: remove manual shell completion and replace with cobra completion79fa2e300feat: allow more nvidia and nvme files from extensions414f78a29feat: allow glibc ld files in etc1bbba4301feat: update Flannel to v0.28.255815e0fafix: handle ISOs with zeroes in volume labels7b6ab0c1cfeat: add flag to force fallback to legacy upgrade5e24d5265feat: add resource view to talosctl dashboard649ab7fe4fix: add os:meta:writer role to the dashboard10cdfa909fix: drop talosctl install087ced85ffix: unseal with "slow" TPM11ab0a8c5fix: drop unused type from ExternalVolume schemae2df0f6cefix: always grow disks919d8c365chore: drop debug shell783a35851fix: add metal-agent mode to runtime capabilities37b2221ccdocs: add SECURITY-INSIGHTS.yml for OSPS Baseline QA-04.01bed2bd414feat: add graceful power off support to QEMU VM launcher3400059ccfix: incorrect route source for on-link routesb3dfbf743feat: bump musl to 1.2.64227921b3test: fix the PKI mismatch test flakef2bc2dcc6feat: update NVIDIA production drivers to 595.58.03aa5946dd3test: fix cron failures for provision-1 & provision-21dd701efafix: allow blockdevice wipe in maintenance mode786bf00abfeat: add --platform=all support to image cache-createe1f645e3cfeat: validate luks headers for tamperingad72c7300test: improve maintenance API provision tests70cefab6atest: fix the flakes in tests with trusted rootsaacff17f4test: bump memory for Flannel netpolicy tests9c3459114feat: update Linux to 6.18.19, CNI to 1.9.1038cb8735feat: enforce PID check on connections to services over file socketse2b2dd3eachore: update go-kubernetes library9597714f6fix: add symlinks nvidia-ctk and nvidia-cdi-hook in /usr/bin8ac47d677fix: unset rlimits for extension servicesb1a02f368feat: update Kubernetes to 1.36.0-beta.0362fdc9ecfeat: update etcd to 3.6.90a47f40b3fix(machined): clear stale bond ARP/NS targets on decode86344639ffix: update diff library to v1.0.1eff89d1edfix: panics in diff algorithms8e1c8a7a9test: fix the apid test against AWS/GCPChanges since v1.14.0-beta.0
39 commits
1ab88f743fix: load the raid1 module for configured MD arrays9e8568d26fix: use inmem containerd for installs/upgrades8cf28da5ffix: preserve kmsg reconciliation after config changes311b6fde9fix: make reset during boot phase more robust945d1cdabfeat: bump kernel to 6.18.414e77d40e8fix: restore the systemd-timesync best-sample check in spike detection4444a187dtest: inspect host mount state from the current threadb7c0497b0fix: race between vol.cfg. and vol.mgr. ctrlef9a091ecfeat: allow attaching extra disks to controlplane machinesa418c0e1etest: fix CRI restart event assertion racea9bfdbdd4fix: ignore insecure-only imager assets54e3b20e8fix: hold the darwin vmnet bridge open for the network lifetimebc59389fafix: drop the OOM config rule about overall system memory PSI69be56ea9chore: add some initial set of libvirt SELinux policies6170ad8b9fix: validate kubespan & discovery config correctly for multi-doc6e58c6d5atest: fix ded. vol. plumbing in integration testsb644d1640fix: allow directory-backed volumes in reset api28e7a8742feat: bump etcd to v3.7.12c657c224feat: bump kernel to 6.18.40b1bdc8c07test: restart qemu process several times on startup failures7533057a7feat: support route imports between BGP instancesa94783704docs: remove duplicated docs in the markdown for CLI6f17c5033fix: verify the public key signed images correctly570fe34f0fix: generate backwards compatible etcd encryption configf7790816efix: use context without cancelation for etcd locks67e61ef30feat: add the fs_scrub controller1c156458afix: override DHCP search domains via explicit ResolverConfig domainsfd8dbd8a1fix: skip pod check if desired number of pods is zero9aede5429feat: add kubeimportlinter for versioned k8s importsae93d1462fix: redact resource specs in the merge controllersfc5743cd0feat: add GrubUseUKICmdline install option6bba77724feat: add named native BGP instancesc5ab22f1dfeat: move Talos API access from Kubernetes config to multi-docb1abd9c03fix: split the up/finished service events644ecbc66feat: add discovered volumes status controller6be2b1384feat: add veth pair support7514401defix: drop the controlplane static pod change9a521f667fix: preserve container tasks across CRI restarts9048d4157fix: fix a nil-map assignment panic in configpatcherChanges from siderolabs/gen
1 commit
c526410fix: skip unknown-key check for types with custom YAML unmarshalerChanges from siderolabs/go-adv
2 commits
3818a65feat: initial implementation95e583cInitial commitChanges from siderolabs/go-cmd
2 commits
a2a31d3chore: run rekres584337bfeat: add StartWithOptions for streaming long-running processesChanges from siderolabs/go-kmsg
1 commit
65e97cbfix: boot time offset calculationChanges from siderolabs/go-kubeconfig
2 commits
d0b8f82chore: rekres and bump depsc356eebfix: fix context conflict detection add New() constructorChanges from siderolabs/go-kubernetes
7 commits
0caf1f2feat: add Kubernetes 1.37 compatibility822b7a2feat: add nodedrain package for client-side cordon and drain260bc0afix: update authorization config apiVersion for K8s >= 1.32cc8c2c9fix: return the apply results in a consistent order131a2bdfix: handle cluster-scoped resources with a ns correctly38c182ffix: normalize the changeset to be keyed without apiVersionca35008feat: update k8s api to 0.36.0Changes from siderolabs/go-smbios
1 commit
063f5dcchore: rekres + new testdataChanges from siderolabs/go-talos-support
2 commits
59d47affeat: rewrite support bundle library around client provider8dd4326feat: support encryption of the support bundle using ageChanges from siderolabs/grpc-proxy
3 commits
d670c42chore: bump dependencies8614c71chore: bump deps80677e0fix: propagate the headers before the messageChanges from siderolabs/pkgs
119 commits
aa8d7d6feat: bump kernel to 6.18.41b253464feat: enable PCF8523 RTC support for arm640383b09feat: bump kernel to 6.18.4037184f0feat: enable CONFIG_NFT_SOCKET in the kernelf78e3dcfeat: update cryptsetup to 2.8.78c5831cfeat: update dependencies0de2a61feat: update Linux to 6.18.39c652074feat: enable UFSHC and some other optionsc4b550cfeat: bump dependenciesde07964feat: enable CONFIG_IOMMUFD and CONFIG_VFIO_DEVICE_CDEV6a9c40cchore: bump tools 2026-07-1461e3ed9chore: bump bldr to v0.6.1981029echore: bump nvidia to 580.167.08ff9a355chore: bump deps (minor)0b2474echore: bump deps (patch)94a16efchore: bump toolchain6dcf355feat: enable devmapper plugin in containerd build03534a5fix: enable CONFIG_IFB as a modulea264237feat: update DRBD to 9.3.33f09c0cchore: update toolchain and tools6c08c46feat: bump kernel to 6.18.387c4fe92feat: build runs with libpathrs (only amd64)8922b6dfix: correct finalize destination pathae0d701fix: use non-conflicting name for mdadm5186a65feat: add mdadm package for software RAIDe09f9fbfeat: bump kernel 6.18.378d23631feat: update Linux firmware to20260620343557feat: update runc to 1.5.055d3676feat: bump dependenciesea48e8bfix: patch Linux kernel for tunnel metadata buffer overflowff80d88feat: add support for AMD XGBE driver9f8ab22feat: enable NF_TABLES_ARP optionbedfbebfeat: update Linux to 6.18.36a9f2bb3chore: bump containerd to 2.3.273e76f8chore: upgrade runc to 1.5.0-rc.328db1cachore: update nvidia driver lts to 580.167.085df1a44chore: update zfs to 2.4.3cd77c4fchore: update dependencies 2026-06-160f27eccfeat: bump runcd213ff5feat: bump OpenSSL to 3.6.3cb713aefeat: bump kernel to 6.18.3509cb04efix: avoid page_table_check BUG on time namespace VVAR pagebfb88f6feat: add nvidia-fs kernel modulef2850d1feat: enable USB hiddev for apcupsd support55aa64ffeat: bump go to 1.26.4f27dbe1feat: bump kernel to 6.18.34aa9fe00feat: add DVB USB Modules0870a4bfeat: bump dependenciesf9134e5fix: enable CONFIG_BCM2712_MIP as built-in in arm64 kernel config285c6aefix: set usermode static helper to machinebd2a754feat: pre-generate drbd patches using spatch out of tree898844efeat: update Linux to 6.18.33a8dfbf7fix: disable kernel modprobe pathc542950fix: pull in tools with zstd sbomc0ec8f3feat: enable PPP and INFINIBAND_BNXT_REc62c4e1feat: update containerd to 2.3.1270f9f8chore: update deps4f7feb4feat: enable more options for CRI-U checkpoint/restore87994f7feat: move autoloadable stuff as modules80c27f3fix: drop legacy network protocolsfbb7360feat: drop legacy iptables/ebtables supporteac5f86feat: bump kernel 6.18.32d616f6cfeat: update Linux to 6.18.3102bcfcefix: macb silent TX stall on BCM2712/RP1 (v2 patches from netdev)12ca698feat: update ZFS & NVIDIA LTS9fff943feat: update Linux to 6.18.30c5a1685feat: move HWMON as modulesb2a45fbfeat: move CONFIG_INTEL_IOATDMA as a moduleea8d35ffeat: move ACPI device drivers as modules501ba58feat: move HID quirks as modulesb35312cfeat: move PS/2 mouse drivers as modules3a5d9d7feat: move IPMI driver to be a module792a69afeat: disable AGP drivers99990b4feat: move Hyper-V drivers as modulesfb697d6feat: move Xen frontend drivers as modules1df1713feat: move ATA / MMC controllers as modulesf7f9341feat: move USB class drivers as modulesba873e9feat: move USB host controllers as modules8f25baafeat: move virtio bus stuff as modulesd0c5480feat: bump kernel to 6.18.29dfb09f0feat: bump kernel 6.18.28c97bc24feat: update Go to 1.26.3dfe8926feat: add btrfsprogs06ff9dcfeat: update Linux to 6.18.272265fc9feat(kernel): backport two PCI bridge realloc fixes from v6.195a21d99feat: bump dependenciescb3f406feat: update containerd to 2.3.0e192574feat: update Linux to 6.18.26e5e6cb8feat: update DRBD to 9.3.277538b1feat: update NVIDIA driversadeaafcfeat: preserve System.map on kernel buildsc77f985fix: disable legacy framebuffer drivers8f3ef77fix: enable safesetid LSMf82d3affix: disable CONFIG_DEVPORTb189a96fix: disable crypto user API9a718f6docs: list net macb silent TX stall fixes in kernel/build/patches/README.mdca3599ffix: macb silent TX stall on BCM2712/RP1 (RFC patches from netdev)6a53a93feat: bump kernel to 6.18.25f567bcefeat: disable more stuff in Kconfigffd9790feat: bump kernel to 6.18.24b7c709afeat: bump depse5e5b3cfeat: update Linux to 6.18.231a4cd20fix: renovate configd0ed6edfeat: update dependencies6ea49c7fix: support disabling module signature verification6520ec4feat: update containerd to 2.2.337ce992feat: enable CONFIG_UHID and CONFIG_INPUT_JOYDEV as modulescddd934feat: update backportable dependencies32e4077feat: update OpenSSL2d241e7feat: update Go to 1.26.2 and small deps updates7f540cefeat: disable dynamic SCS3bef043feat: update runc to 1.4.2c6e6f10feat: update Linux to 6.18.21a9e8afafix: libarchive install prefixe4d0113feat: update for musl 1.2.69142603feat: update NVIDIA production to 595.58.0322fa669feat: update Linux to 6.18.1903680aefeat: update containerd patch verifier rolebdc239efeat: enable CHECKPOINT_RESTORE optionChanges from siderolabs/proto-codec
1 commit
9b8a14echore: bump dependenciesChanges from siderolabs/siderolink
1 commit
0a1933cchore: bump dependenciesChanges from siderolabs/tools
27 commits
08071b1feat: update dependencies2723c06chore: bump pkgfile bldr to v0.6.1d333b32chore: bump toolchain to latestc7494c6chore: deps 2026-07-13 (major bumps only)57a0183chore: deps 2026-07-13 (minor bumps only)21db13echore: deps 2026-07-13 (patch only)7079a8achore: bump toolchain5326524feat: build LLVM as cross-compiling878f1dbfeat: bump dependencies0f1c859chore: make rekres5c0c9bechore: update dependencies 2026-06-16b88d99cfeat: bump OpenSSL to 3.6.342c59b9feat: bump toolchain to bring in Go 1.26.4206a4c0feat: update dependencies, rework LLVM buildf9f37dffix: add proper name for zlib-ng sbomaa45c41fix: add SBOM for zstd library808f34ffeat: update Go to 1.26.35dfe83dfeat: drop fakeroot and policycoreutils618fd20feat: add Python wheel packagedf3c1b7feat: bump dependencies44ad18cfeat: bump depsf3d0dd9fix: renovate configs4ac4449feat: update dependencies027744ffeat: bump OpenSSL to 3.6.27067f1ffeat: update util-linux to 2.41.46cb3e56feat: update Go to 1.26.29186c5ffeat: update musl to 1.2.6Dependency Changes
5adc3eb->c76316d310581b->c87a4186706a29->93566ba31e136bnew8ae5a48newPrevious release can be found at v1.13.0
v1.12.12Compare Source
Talos 1.12.12 (2026-09-04)
Welcome to the v1.12.12 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.49
Containerd: 2.2.7
Flannel: 0.28.9
Etcd: v3.6.14
Kubernetes: v1.35.8
Talos is built with Go 1.25.14.
Contributors
Changes
13 commits
a58adaarelease(v1.12.12): prepare release5f22763feat: bump dependenciesf0ef9c1fix: harden the code around kubelet's client certificate handlingc4612c4fix: filter out passed metadata in API proxyingc7ac6acfix: treat desired roles empty as error in Talos API access4615df4fix: create parent directories when extracting tar archives1d685fffix: use os.Root in the talosctl extract path227390bfix: escape output in the talosctl dashboard3d4cb87fix: add checks for meta key in the API path8b3b650chore: reduce verbosity of the grype scan1eb7caffix: preserve special modes when extracting filesf9a8d43fix: use os.Root in the untar path763c4e4fix: don't set xattrs while decompressing extensionsChanges from siderolabs/pkgs
10 commits
5eb9201chore: rekres8f2f189feat: support confiuring gnu mirror urls0c89ae0feat: bump linux-firmware to2026081eb4a8dcfeat: bump flannel to v1.9.1-flannel3ce90bd5feat: bump containerd to 2.2.7935b8b2feat: bump go to 1.25.1413cf7a6feat: bump kernel to 6.18.49449db13feat: update kernel to 6.18.483584845feat: bump kernel to 6.18.47122c8d2feat: bump kernel to 6.18.46Changes from siderolabs/tools
4 commits
6c999e3fix: fakeroot url5aeec5bfeat: use kernel gnu mirrors5fcfa57feat: bump go to 1.25.1489d3beefix: update OpenSSL to 3.6.4Dependency Changes
175e84f->c308df0f2248acPrevious release can be found at v1.12.11
Images
v1.12.11Compare Source
Talos 1.12.11 (2026-08-05)
Welcome to the v1.12.11 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.42
Talos is built with Go 1.25.12.
Contributors
Changes
12 commits
2e80771release(v1.12.11): prepare releaseb2a8cdafix: update diff library to v1.0.12c5aa00fix: panics in diff algorithms56ec4c0chore: update go dependencies07a7bc3fix: use context without cancelation for etcd locksd0b50aafix: redact resource specs in the merge controllers1c6d69cfix: race with PCR extensions and volume unlock7acd4d6fix: volume mount race (third attempt) around service restart9a90e98fix: preserve trailing rate-limited trigger events5bb8749fix: add ca-certificates to talosctl636c61ffix: oom podruntime protectionb8ab06fchore: update kernel to 6.18.42Changes from siderolabs/pkgs
6 commits
f921142fix: patch nvidia support pci_resize_resource exclude_bars argumentc80e83fchore: replace gnu mirror45e036dchore: update kernelfbd81c3feat: bump kernel to 6.18.41cf0d226feat: bump kernel to 6.18.401a9c50afeat: update Linux to 6.18.39Dependency Changes
Previous release can be found at v1.12.10
Images
v1.12.10Compare Source
Talos 1.12.10 (2026-07-17)
Welcome to the v1.12.10 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.38
Talos is built with Go 1.25.12.
Contributors
Changes
8 commits
acf8380release(v1.12.10): prepare release6f32b13chore: pkgs and tools based on bldr v0.5.6be2b912feat: bring in ifb.ko module40caeecfix: provide cooldown period for the QoS trigger36b7dc2fix: align documented image cache partition labelb4bb3f1fix: kubelet stuck restartingb185c33chore: bump go to 1.25.127829ba0chore: bump tools and pkgsChanges from siderolabs/pkgs
11 commits
4f4aef1chore: bldr back to v0.5.6361b417chore: bump tools 2026-07-1522cfe5bchore: bump toolchain-musl19e08f6feat: bump kernel to 6.18.38ddc55a1feat: bump kernel 6.18.371eb6fa2feat: update Linux firmware to20260622befe8bfix: patch Linux kernel for tunnel metadata buffer overflow59392e8fix: enable CONFIG_IFB as a module494385afeat: update Linux to 6.18.3607a16e0chore: rekres, bump bldr to v0.6.129d272dchore: bump toolsChanges from siderolabs/tools
5 commits
7a5d6dachore: restore bldr to v0.5.6b77038cchore: quote ca certs calendar version1ce1232chore: bump util-linux to 2.42.2 (cve)6a3b198chore: rekres, bldr v0.6.17b9cec2chore: update toolchain for release 1.12Dependency Changes
Previous release can be found at v1.12.9
Images
v1.12.9Compare Source
Talos 1.12.9 (2026-06-19)
Welcome to the v1.12.9 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.35
runc: 1.3.6
CoreDNS: 1.14.2
containerd: 2.2.5
Talos is built with Go 1.25.11.
Contributors
Changes
18 commits
150ee5brelease(v1.12.9): prepare releasecba53b4fix: revert coredns to 1.14.270a9d61fix: bump number of open files for etcd045146cfix: guard apply config API call6593d3bfix: honor FailurePauseTimeout when pausing before reboote7eeb32feat: verify go.mod tidiness in generate targetcd429e9fix: relax LUKS header validation4c288cafix: mark more resources as sensitive3c57602fix: etcd client leak in the (legacy) Upgrade APIe002e47fix: recreate dns server and listeners on host DNS runner restart9b12c51fix: bring in a change to BCM2712_MIPdd4926ffix: touch rootfs files with SOURCE_DATE_EPOCH0e9ef3dfeat: enforce strict QoS ordering in OOM victim selectiond040a7dfix: relax hostname config validationb63a69bfix: memorymodules resource reporting0263a99chore: bump containerd to 2.2.5 (cve patches)26a2889chore: bump vuln go pkgs, go mod tidy19daa72chore: bump pkgs and toolsChanges from siderolabs/pkgs
11 commits
0516a46chore: bump containerd to 2.2.5 (cve patches)8ce6127chore: bump toolsbecfefafeat: bump OpenSSL to 3.6.3298b394feat: bump kernel to 6.18.35435044bfix: avoid page_table_check BUG on time namespace VVAR pagea909a84fix: disable PAGE_TABLE_CHECK_ENFORCED in kernel configaf985d6fix: enable CONFIG_BCM2712_MIP as built-in in arm64 kernel configde0e5b9feat: bump kernel to 6.18.341e6b222feat: pre-generate drbd patches using spatch out of tree283a3e6feat: update Linux to 6.18.3356397e0feat: bump runc to 1.3.6Changes from siderolabs/tools
3 commits
3841297chore: bump openssl, libcap, fakeroot; fix texinfo4ff7ad2chore: make rekres2cc5cacchore: bump Go to 1.25.11Dependency Changes
Previous release can be found at v1.12.8
Images
v1.12.8Compare Source
Talos 1.12.8 (2026-05-22)
Welcome to the v1.12.8 release of Talos!
Please try out the release binaries and report any issues at
https://github.com/siderolabs/talos/issues.
Containerd Update
This release includes an update to containerd v2.2.4 due to v2.1.x releases being EOL and affected by CVE-2026-46680.
Component Updates
Linux: 6.18.32
etcd: 3.6.11
CoreDNS: 1.14.3
containerd: 2.2.4
Talos is built with Go 1.25.10.
Contributors
Changes
17 commits
aef64carelease(v1.12.8): prepare releasefaff617fix: update containerd to 2.2.4ea3cc69chore: update dependencies7a96c02feat(ci): rotate credentials99a1aabtest: fix flaky tests3f8572dfeat: update CoreDNS to 1.14.3d4a83c8fix: provide proper AWS platform metadata1ab16c0feat: update etcd to 3.6.11ad7bfb6fix: add missing kernel modules in rootfsff0fe19feat: run depmod with verification on rootfs build55cd11afix: stale discovered volume children555bc84fix(ci): zfs testfbfe83ffix: do not pick up a system disk from a loop device7e035bcfix: bump go-kmsg to fix the timestamp drift0f23c2cfix: make lacp active nilablec00250ffix: reset the ticker when the KubeSpan is disabled/enabled07a0e93fix: replace Canal manifest with a more recent oneChanges from siderolabs/go-kmsg
1 commit
65e97cbfix: boot time offset calculationChanges from siderolabs/pkgs
17 commits
153574bchore: update containerd to v2.2.4a9a3868chore: update depsfe604f9feat: preserve System.map on kernel buildsb00971echore: bump toolchain and tools3b9b487feat: bump kernel 6.18.3287acdb5feat: update Linux to 6.18.31ea936f1chore: run rekresb2c955efeat: update Linux to 6.18.309a77690fix: macb silent TX stall on BCM2712/RP1 (v2 patches from netdev)d73927efeat: bump kernel to 6.18.2957ab006feat: bump kernel 6.18.28a3d2b15feat: update Linux to 6.18.27dc3a7c1feat(kernel): backport two PCI bridge realloc fixes from v6.19cd6601ffeat: update Linux to 6.18.26dd845d1docs: list net macb silent TX stall fixes in kernel/build/patches/README.mddf2aee2fix: macb silent TX stall on BCM2712/RP1 (RFC patches from netdev)c0ef955feat: bump kernel to 6.18.25Changes from siderolabs/tools
2 commits
cbb843dchore: update dependencies for 1.12.82584442fix: renovate configsDependency Changes
Previous release can be found at v1.12.7
Images
v1.12.7Compare Source
Talos 1.12.7 (2026-04-24)
Welcome to the v1.12.7 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.24
containerd: 2.1.7
etcd: 3.6.9
Kubernetes: v1.35.4
Talos is built with Go 1.25.9.
Contributors
Changes
19 commits
91c6399release(v1.12.7): prepare release3b228cafeat: bring in apparmor profile files1a05b4afeat: update kubernetes to v1.35.4b796be0feat: bump pkgs, spdystreama75ce6ffeat: bump pkgs, toolsc1ea8dbtest: fix OOM test flaked5b691bfix: watch kubelet's kubeconfig and time out for cache sync27655c5fix: propagate route table down to the resourcefcda84bfix: boot entry detection330561cfix: do not flip machine stage to rebooting during shutdown8ef4488fix: zfs extensions test8bc593dfix: wrong slot of encryption key was logged89f5615fix: panic in reading PCR values317deedfeat: add dis-vulncheck tool0654a7ffix: handle ISOs with zeroes in volume labelse16007bfix: unseal with "slow" TPM388a56bfix: incorrect route source for on-link routes7e42474test: fix the flakes in tests with trusted rootsd52ebe2feat: update etcd to 3.6.9Changes from siderolabs/pkgs
8 commits
86d6af1fix: install apparmor parser require config filesd6b125ffeat: bump systemd191632cfeat: bump kernel to 6.18.2413cbc68feat: bump tools, toolchain and containerd709678dfeat: update Linux to 6.18.2334de6dbfix: support disabling module signature verificatione30789afeat: update backportable dependencies830d895feat: update Linux to 6.18.21Changes from siderolabs/tools
3 commits
bbd753dfeat: bump toolchain61955e9feat: bump OpenSSL to 3.6.223de89ffeat: update util-linux to 2.41.4Dependency Changes
Previous release can be found at v1.12.6
Images
pypa/pipx (pipx)
v1.17.5Compare Source
What's Changed
New Contributors
Full Changelog: https://github.com/pypa/pipx/compare/1.17.4...1.17.5
v1.17.4Compare Source
What's Changed
New Contributors
Full Changelog: https://github.com/pypa/pipx/compare/1.17.3...1.17.4
astral-sh/uv (uv)
v0.12.17Compare Source
Released on 2026-09-18.
Enhancements
Preview features
minimum-libc-version(#21651)pylock.tomlfiles whose wheel filenames do not match their declared package names or versions (#20746)uv workspace metadataread-only unless--syncis provided (#21821)uv checklock modes when retrieving workspace metadata (#21821)Performance
Bug fixes
required-environmentsfrom selecting package versions whose wheels require a newer macOS version than the configured Darwin baseline (#21825)Documentation
v0.12.16Compare Source
Released on 2026-09-17.
Python
Enhancements
build-constraint-dependenciesentries to include hashes for verifying downloaded build dependencies (#21467)platform_releasemarkers inrequired-environmentsusing macOS wheel deployment targets (#21766)Preview features
lock-without-metadataacross all dependency types while retainingpackage.metadatafor remote URL dependencies to enable offline validation (#21163)uv upgrade(#21776)uv checkto run in projects that are not managed by uv and outside workspaces (#21777)--pythonandUV_PYTHONwhen selecting the Python version foruv check(#21744)Bug fixes
pylock.tomlbefore reusing cached distributions (#21609)uv_buildbackend only when its version matches active version pins (#21742)v0.12.15Compare Source
Released on 2026-09-15.
Performance
Bug fixes
0.12.14when installing to symlinked destinations or usinguv pip install --target .(#21699)v0.12.14Compare Source
Released on 2026-09-15.
Enhancements
cause:labels (#21599, #21603)uv tool upgradeoperations (#21566)Preview features
uv export --batchinvocation with thebatch-exportpreview feature (#21618)Performance
Bug fixes
required-environmentswithin each resolver fork instead of combining incompatible wheel coverage across forks (#21672)MAX_PATHon Windows systems without long-path support enabled (#21625)uv python installfrom overwriting valid unmanaged Python symlinks with relative targets on Unix (#21639)bin/pythonoverbin/python3when discovering interpreters in Unix environments (#21559)1for expected failures and2for recognized operational and internal failures (#17110)--quiet(#21565)uv tool upgradeerrors visible with-qwhile suppressing them with-qq(#21566)v0.12.13Compare Source
Released on 2026-09-10.
Python
Enhancements
Preview features
tyexclusions whenuv checkautomatically selects members of a virtual workspace (#21555)Performance
Bug fixes
core-metadataover legacy aliases in JSON index responses (#21563)v0.12.12Compare Source
Released on 2026-09-09.
The executables in our macOS and Windows release archives and
uvanduv_buildwheels are now code-signed. macOS executables are signed with an Apple Developer ID certificate and notarized by Apple. Windows executables have timestamped Authenticode signatures from Azure Artifact Signing. This enables verification of the release publisher and binary integrity, supports publisher-based allowlisting, and should reduce security warnings and antivirus false positives.Bug fixes
exclude-newercutoff from lockfiles and generated requirement hashes (#21539)v0.12.11Compare Source
Released on 2026-09-08.
Preview features
pylock.tomlfiles to ensure they conform to PEP 751 (#20146)pylock.tomlartifact hash tables are empty, which will be rejected in a future uv release (#21462)Performance
uv pip install --no-depsfinds the requested packages already installed (#21523)Bug fixes
uv.lockbefore reading their metadata or running their build backends (#21223)===under both--verify-hashesand--require-hashes(#21543).python-versionand.python-versionsfiles (#21529)VIRTUAL_ENVmismatch warnings foruv add --no-sync,uv remove --no-sync, anduv add --frozen(#21496)uv python listcannot query an interpreter (#21498)Documentation
exclude-newerexamples (#21534)v0.12.10Compare Source
Released on 2026-09-04.
Enhancements
uv publishcompletes, including when publishing fails (#21423)Preview features
exclude-newer-packagesettings for packages outside the resolution fromuv.lockwith themissing-exclude-newer-package-lockpreview feature (#21455)uv tree --invertoutput (#21404)Performance
uv publishby hashing each artifact in a single blocking task and reusing the buffer across reads (#21389)Bug fixes
--lockedfrom failing whenexclude-newer-packagesettings differ only for packages outside the resolution (#21454)uv lock --checkto reuse a lockfile when an absoluteexclude-newercutoff is moved later (#19571)uv lock --checkto reuse a lockfile when a package-specificexclude-newercutoff is disabled (#21450)--namewhenuv initwould infer a project name reserved for a Python interpreter (#21395)exclude-newercutoffs touv.lockin a deterministic order (#21453)v0.12.9Compare Source
Released on 2026-09-01.
Python
Enhancements
--no-lockedand--no-frozento disable lock modes enabled byUV_LOCKEDandUV_FROZENfor a single invocation (#21408)Performance
Bug fixes
async_http_range_readerto 0.11.1 to address a potential memory-safety issue when reading metadata ranges from untrusted wheels (#21401)--locked,--frozen,--check, and--check-existsprecedence over conflictingUV_LOCKEDandUV_FROZENvalues (#21396)v0.12.8Compare Source
Released on 2026-08-31.
Enhancements
uv tool upgrade --all(#21368)Preview features
content-addressed-cachepreview feature (#21327)Performance
Bug fixes
--require-hashes(#21348)sig) query parameters from displayed URLs (#21360)Other changes
astral-tokio-tarto 0.7.0 and use effective sizes when tracking extracted hard links (#21346)v0.12.7Compare Source
Released on 2026-08-27.
Python
Enhancements
s390x,ppc64le, andloongarch64targets for cross-platform dependency resolution (#21313)UV_AZURE_ENDPOINT_URL(#21318)Preview features
content-addressed-cachepreview feature (#19693)Bug fixes
Other changes
v0.12.6Compare Source
Released on 2026-08-25.
Python
Enhancements
uv_buildrequirements to source-distribution builds (#21078)Preview features
uv workspace metadata --sync --exactto remove packages outside the selected resolution (#21117)artifact-hash-filteringpreview feature to makeuv pip compile --generate-hasheshonor--only-binaryand--no-binary(#21235)exclude-newercutoffs whenuv checkselects itstyexecutable (#21227)tar-codecsource-distribution errors when the base interpreter is outside abindirectory (#21146)Performance
Bug fixes
uv buildand non-editable first-party workspace packages whenno-buildis enabled (#21294)uv tool upgradewhen the tool receipt references the same index (#21275)uv sync(#21264).pyas local script paths (#21144)cache-keysentries (#21137)Other changes
v0.12.5Compare Source
Released on 2026-08-14.
Python
Enhancements
Preview features
--indexand--default-indexto select configured package indexes by name with theindex-by-namepreview feature (#17455)cache-physical-spaceon filesystems that do not support physical-space accounting (#21133)Bug fixes
v0.12.4Compare Source
Released on 2026-08-13.
Enhancements
Requires-Python: >= 3.5.*(#21012)Preview features
uv check --no-install-projectand respectUV_NO_INSTALL_PROJECTto install dependencies without building or installing the project (#21085)uv checkhonor uv's color and progress settings, including quiet mode (#21086)Performance
Bug fixes
pythonw.exelaunchers for virtual environments created from managed Python minor-version links (#19235)uv lockto proceed when.venvis an unusable project environment (#21068)fork-strategywhen ordering forks created fromenvironmentsor existing lockfileresolution-markers(#21000)!=3.11.*, !=3.12.*inuv.lock(#21045)uv addupdates it (#21008)PYTHONEXECUTABLEand__PYVENV_LAUNCHER__overrides (#21075)uv version --bumpvalues (#21076)v0.12.3Compare Source
Released on 2026-08-07.
Python
Preview features
--output-formatto select automatic, human-readable, or raw-byte output foruv cache size(#20992)uv workspace metadata --quietwhile suppressing diagnostics (#20991)uv workspace metadataJSON output (#20990)Performance
Documentation
--python-pinto--pin-pythonin theuv init --bareexample (#20876)v0.12.2Compare Source
Released on 2026-08-05.
Python
Enhancements
Preview features
uv tool audit(#20921)cache-physical-spacepreview feature (#20925)Configuration
UV_RUN_RLIMIT_NOFILEto set the open-file limit for commands launched byuv run(#20926)Performance
uv.lockparsing for wheel entries (#20881)uv.lockparsing for source distribution entries (#20882)Bug fixes
Documentation
v0.12.1Compare Source
Released on 2026-09-18.
Enhancements
Preview features
minimum-libc-version(#21651)pylock.tomlfiles whose wheel filenames do not match their declared package names or versions (#20746)uv workspace metadataread-only unless--syncis provided (#21821)uv checklock modes when retrieving workspace metadata (#21821)Performance
Bug fixes
required-environmentsfrom selecting package versions whose wheels require a newer macOS version than the configured Darwin baseline (#21825)Documentation
v0.12.0Compare Source
Released on 2026-07-28.
Since we released uv 0.11.0 in March, we've accumulated changes that improve correctness, safety, and compatibility with specifications, but could break some workflows. This release contains those changes; many have been marked as breaking out of an abundance of caution.
We expect most users to be able to upgrade without making changes.
There are no breaking changes to the configuration of the uv build backend. If your
[build-system]table includes an upper bound onuv_build, update it to allowuv_build0.12, e.g.,uv_build>=0.11.32,<0.13.Breaking changes
Define build systems by default with
uv init(#19197)Projects created with
uv initnow declare a build system and are packaged by default. This was the default project layout all the way back in v0.3, but we found that the use of thehatchlingbuild system was confusing to newcomers and consequently dropped use of a build system by default in v0.4. Since then, we've created our own build system (uv_build) with tight integration with uv and are excited to restore the default to a best-practice project layout.Previously,
uv init examplecreated an unpackaged layout containingmain.pyand apyproject.tomlwithout a build system. The project could declare dependencies but was not itself installed into its virtual environment.Now,
uv init exampledefines a[build-system]usinguv_build, places application source code insrc/example, and includes a[project.scripts]entry namedexample. Defining a build system allows the project to be imported from tests or other code, installed as a dependency, and run as a command:Existing projects are unaffected. Use
uv init --no-package exampleto create the previous unpackaged layout without a build system.See the project creation documentation for more details.
This stabilizes the
packaged-initpreview feature.Reject unsupported source distribution and wheel archive formats (#18927)
PEP 625 requires source distributions to use
.tar.gzarchives. Previously, uv also accepted legacy formats such as.tar.bz2and.tar.xz. Those formats are now rejected, including when referenced by an existing lockfile. Legacy.zipsource distributions remain supported for backwards compatibility.Wheels and other ZIP archives can no longer contain entries compressed with bzip2, LZMA, or XZ. Entries must use the stored, DEFLATE, or zstd compression methods.
Removing support for uncommon compression methods reduces uv's compression dependencies and the attack surface exposed when processing untrusted packages.
You cannot opt out of this behavior. If you depend on a legacy source distribution that uses an unsupported format, we recommend rebuilding it as a
.tar.gzarchive and regenerating any lockfile containing references to the legacy archive.Reject wheel files that could replace the Python interpreter (#20748, #20749)
uv already rejected wheel entry points named
python, but case variants such asPythonwere still accepted. On case-insensitive filesystems, including common macOS and Windows setups, these entry points could overwrite the virtual environment's interpreter.Wheels could also place interpreter files in their
.data/scriptsdirectory or in paths such as.data/data/bin/python, bypassing the entry-point check and replacing the interpreter during installation.uv now rejects case-insensitive variants of reserved interpreter names and wheel data files that would be installed over an interpreter. This includes names such as
Python,python.py, andPython.exe, along with other reserved interpreter names and their versioned variants.You cannot opt out of these checks. Rename conflicting entry points or wheel data files and rebuild the affected wheel.
Prefer stable releases before falling back to pre-releases (#19993)
A dependency can introduce a pre-release requirement after resolution starts. uv previously required each package's pre-release eligibility to be known before resolution began: the default
if-necessary-or-explicitmode allowed them for direct requirements that explicitly requested a pre-release, or for packages that only published pre-releases.This meant that a pre-release requirement discovered in a dependency's metadata, e.g.,
example>=2.0.0b1, would fail to resolve even when a compatible pre-release existed. To resolve it, you had to add that dependency as a direct requirement or allow pre-releases across your entire dependency graph.The default mode is now
if-necessary. uv tries stable candidates first and falls back to pre-releases when no stable candidate satisfies the active constraints. Like pip, uv now supports pre-release requirements discovered transitively, but can select different versions than previous uv releases when both stable and pre-release candidates are available.You can opt out of automatic pre-release selection with
--prerelease disallow. Alternatively,--prerelease allowconsiders pre-releases without first preferring stable releases, and--prerelease explicitonly allows them for direct requirements that mention a pre-release.The old
if-necessary-or-explicitmode distinguished between explicitly requested pre-releases and packages with no stable releases. That distinction is unnecessary now thatif-necessaryhandles both cases, including transitive requirements. The old name remains available as an alias but is deprecated and will be removed in a future release.Respect
--require-hashesdirectives inrequirements.txt(#19336)Previously,
uv pip installanduv pip syncwarned about--require-hashesinside arequirements.txtfile but still installed dependencies without checking their hashes. Now, the directive enables hash-checking mode, just as if--require-hasheshad been passed on the command line.For example, this requirements file is no longer accepted because the requirement is neither pinned nor hashed:
You cannot opt out while the directive is present. Pin every requirement with
==and provide its hash, or remove--require-hashesif hash checking is not intended.Reject MD5-only hashes in hash-checking mode (#20758)
Previously,
uv pip install --require-hashesanduv pip sync --require-hashesaccepted requirements whose only available digest used MD5. MD5 is not collision-resistant, so relying on it undermined installations that require hash verification and differed from pip's behavior.Hash-checking mode now requires at least one secure digest for every requirement. For example, the following requirement is rejected unless a secure hash, such as SHA-256, is also supplied:
A secure hash can be supplied directly on the requirement or in a matching constraints file. Ordinary hash verification without
--require-hashescontinues to support MD5.You cannot opt out while hash checking is required. Regenerate affected hashes with SHA-256 or another supported secure hash.
Reject invalid
pylock.tomlfiles and artifacts (#20402, #20440, #20443)uv now validates additional requirements from the
pylock.tomlspecification:packagesarray must be present. Previously, uv interpreted a missing array as an empty lockfile, souv pip synccould uninstall an environment instead of rejecting malformed input. An explicitly emptypackages = []array remains valid.pylock.tomlor a single-name variant such aspylock.dev.toml. Names such aspylock..tomlandpylock.foo.bar.tomlare rejected.size, the downloaded or cached artifact must match. Previously, an incorrect size was accepted when the hash was correct. Sizes reported by package indexes remain advisory.You cannot opt out of these checks. Regenerate malformed lockfiles, rename invalid filenames, and either correct or remove an incorrect optional
sizevalue.Honor explicit certificate overrides even when no certificates can be loaded (#20741, #20767)
Previously, uv ignored
SSL_CERT_FILEorSSL_CERT_DIRvalues that pointed to missing or inaccessible paths, empty files or directories, or sources without valid certificates. Instead, it fell back to its default trust roots, potentially allowing HTTPS connections that the configured override was intended to reject.Now, any non-empty
SSL_CERT_FILEorSSL_CERT_DIRvalue replaces uv's default certificate roots, even when no valid certificates can be loaded. In that case, HTTPS requests fail because no certificates are trusted. This applies to package downloads and remote scripts, including GitHub Gists.Fix or unset the certificate override. Unsetting it restores the default trust store; empty environment-variable values continue to be ignored.
Support pip-compatible
--certhandling inuv pip(#20418)The
uv pipinterface now accepts--cert <path>, e.g.:As in pip, the provided PEM bundle replaces all other certificate sources for that invocation, including system certificates and
SSL_CERT_FILEorSSL_CERT_DIR. This change has no effect unless you pass--cert. Include the necessary certificate authorities in the bundle.--certis only supported byuv pipcommands; other uv commands continue to use their existing certificate configuration.Discover projects relative to the script passed to
uv run(#20225)Previously,
uv run project/script.pydiscovered its project from the current directory, even when the script belonged to another project. uv now starts project and workspace discovery from the script's directory instead.For example, running
uv run other-project/script.pynow usesother-projectand its dependencies. This fixes scripts that previously failed because their own dependencies were not installed, but can select a different environment than before.You can opt out of script-relative discovery by selecting a project explicitly, e.g.,
uv run --project . other-project/script.py.This stabilizes the
target-workspace-discoverypreview feature.Require
--forcebefore clearing a directory that is not a virtual environment (#20225)uv venv --clearpreviously removed any existing target directory, even if it was not a virtual environment. uv emitted a warning but still deleted the directory and its contents. Now, uv refuses to clear directories that do not contain a virtual environment.You can opt out of this safety check by explicitly passing
--force, e.g.,uv venv --clear --force ./not-a-virtualenv.This stabilizes the
venv-safe-clearpreview feature.Reject
--projectwhen initializing a project (#20225)--projectselects an existing project, so it is not meaningful when initializing a new one. Previously,uv init --project examplewarned and initializedexampleanyway; if a positional path was also provided,--projectwas ignored.This usage is now an error. Use
uv init exampleto initialize a project at the requested path, oruv init --directory exampleto change the working directory first.This stabilizes the
init-project-flagpreview feature.Reject missing or invalid
--projectpaths (#20225)uv previously warned when
--projectreferred to a missing directory or a file other thanpyproject.toml, but then attempted to continue. This could produce confusing errors later or run against an unintended project.Now,
uv run --project missing pythonfails immediately instead of continuing. You cannot opt out of this behavior. Create the directory first or select an existing project. Passing--project path/to/pyproject.tomlremains supported and selects the file's parent directory.This stabilizes the
project-directory-must-existpreview feature.Skip distributions with non-normalized filenames when publishing (#20225)
Distribution filenames must use normalized package names and versions. For example, a wheel for version
1.01.0should be namedexample-1.1.0-py3-none-any.whl, notexample-1.01.0-py3-none-any.whl.Previously,
uv publishwarned about non-normalized filenames but still attempted to upload them. It now skips the affected wheels and source distributions instead.You cannot opt out of this behavior. Rebuild distributions with normalized filenames before publishing.
This stabilizes the
publish-require-normalizedpreview feature.Classify Conda environments named
baseandrootby their paths (#20225)Conda environments named
baseorrootwere previously assumed to be the base Conda environment, even when they were ordinary child environments. uv now recognizes child Conda environments namedbaseorrootbased on their paths, as it already does for other names.You can opt out of automatic interpreter selection by requesting an interpreter explicitly with
--python /path/to/python.This stabilizes the
special-conda-env-namespreview feature.Reject broken
.venvsymlinks during environment discovery (#20433)Previously, uv could ignore a broken
.venvsymlink and continue searching parent directories for another virtual environment. As a result, commands such asuv pip installcould unexpectedly modify an unrelated ancestor environment.uv now stops at a broken
.venvsymlink and reports its exact path. Errors encountered while reading virtual environment metadata, including permission failures, are also reported immediately instead of being ignored.You cannot opt out of this behavior. Repair or remove the broken
.venvsymlink and correct any permissions that prevent uv from inspecting the environment.Reinstall matching installed Python patch versions instead of upgrading implicitly (#20659)
Before Python upgrades were supported,
uv python install 3.12 --reinstalldoubled as a way to install the latest Python 3.12 patch release. Now that--upgradeis available,--reinstallreinstalls the matching patch releases that are already present.For example, if Python 3.12.6 and 3.12.7 are installed,
uv python install 3.12 --reinstallreinstalls both versions instead of installing the latest available 3.12 release.You can recover the previous upgrade behavior with
uv python install 3.12 --upgrade. Combine--upgrade --reinstallto reinstall only the latest patch.Require
--upgrade-groupto name an existing dependency group (#18957)Previously,
uv lock --upgrade-group docssilently succeeded even if nodocsdependency group existed. uv now validates the requested group against the project, its workspace members, and workspace-level dependency groups.You cannot opt out of this behavior. Correct the group name or add it to
[dependency-groups]. Legacytool.uv.dev-dependenciesstill satisfies--upgrade-group dev.Resolve relative indexes and find-links against
--directory(#20740)The
--directoryoption changes the directory in which uv operates. Previously, relative index and find-links paths supplied on the command line were still resolved against the original working directory.uv now resolves
--index,--default-index,--index-url,--extra-index-url, and--find-linksrelative to the directory selected by--directory. For example:This now uses
project/packagesinstead of./packagesin the original working directory. Absolute paths and indexes loaded from configuration files are unaffected.To preserve the previous target, pass an absolute path or adjust the relative path, e.g.,
--index ../packages.Preserve absolute paths provided to
uv add(#18402)uv addpreviously converted every local dependency into a project-relative path, even when the original request used an absolute path or a literalfile://URL. It now preserves the form of the request inpyproject.tomlanduv.lock:Absolute paths make a project less portable. Use a relative path to avoid recording an absolute path. URLs containing expanded variables retain their existing relative-path behavior.
Remove older PyPy distributions that are only available as bzip2 archives (#20423)
Older PyPy patch releases that are only distributed as
.tar.bz2archives are no longer available throughuv python install. These releases require unsupported bzip2 archives.The latest PyPy release for each supported Python minor version is available as a gzip-compressed archive and remains supported. For example,
uv python list 3.10 --all-versionsstill includes the latest PyPy 3.10 release, but older bzip2-only patch releases are omitted.You cannot opt out of this behavior. Request a newer PyPy patch release instead.
Omit excluded-package comments when annotations are disabled (#20085)
uv pip compile --no-annotatesuppresses comments describing the generated requirements file. Previously, a footer listing packages excluded with--unsafe-packagewas still included, even though annotations were disabled. That footer is now omitted.You can recover the footer by removing
--no-annotate.Stabilizations
TOML 1.0-compatible source distributions (#20225)
uv_buildnow writes a TOML 1.0-compatiblepyproject.tomlwhen building source distributions, allowing older Python build frontends to consume projects that use newer TOML syntax. The original project file remains available in the archive aspyproject.toml.orig.This stabilizes the
toml-backwards-compatibilitypreview feature.Automatic open-file limit adjustment on Unix (#20225)
On Linux and macOS, uv now attempts to raise the soft open-file limit at startup toward the hard limit, capped at 1,048,576 descriptors. The new limit also applies to subprocesses and reduces failures caused by running out of file descriptors. If the limit cannot be raised, uv continues running with the existing limit.
This stabilizes the
adjust-ulimitpreview feature.Preview features
uv upgradeto target multiple packages, upgrade all production dependencies, and exclude selected dependencies (#20338)Bug fixes
v0.11.33Compare Source
Release Notes
Released on 2026-07-28.
Enhancements
.tar.gzarchives for Pyodide installs (#20667)Preview features
uv checkunless--scriptis passed (#20676)package.metadata-free lockfiles (#20688, #20691, #20685, #20695)Bug fixes
Install uv 0.11.33
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.33
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.32Compare Source
Release Notes
Released on 2026-07-23.
Preview features
--packageand--all-packagesselection touv check(#20628)uv upgradeto update multiple marker-specific declarations of the same package (#20335)uv lock --checkand commands using--locked(#20646)uv lock --refresh(#20634)uv workspace metadataby default (#20643)Performance
Bug fixes
Requires-Pythonis discovered only from distribution metadata (#20586)Install uv 0.11.32
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.32
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.31Compare Source
Release Notes
Released on 2026-07-21.
Enhancements
.venvfiles containing paths to centralized project environments (#20022)Preview features
hash-algorithmsetting for lockfile generation (#20605)Configuration
audit.malware-checkandaudit.malware-check-urlsettings (#20587)Performance
Bug fixes
--emit-build-optionsfor unsupporteduv pip compile --emit-options(#20582)uv_buildsettings for in-tree build backends (#20153)Install uv 0.11.31
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.31
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.30Compare Source
Release Notes
Released on 2026-07-20.
Python
Preview features
uv workspace metadata --syncto target the active virtual environment with--active(#20500)Performance
exclude-newer(#20460)toml_writer(#20450)Bug fixes
extends-environmentpaths inpyvenv.cfgon Unix (#20466)Documentation
Install uv 0.11.30
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.30
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.29Compare Source
Release Notes
Released on 2026-07-15.
Python
Enhancements
uv tree(#19978)pylock.toml(#20393)Preview features
uv audit --service-urlvalues instead of panicking (#20374)Performance
uv syncoperations (#20364)uv tree,uv export,uv format, anduv audit(#20359)Bug fixes
pylock.toml(#20391)uv pip freezeoutput (#20395)uv pip install --stricthas nothing to install (#20388)platlibwhenpurelibis missing (#20405).egg-infofiles as legacy package metadata (#20403)pylock.tomlartifact URLs instead of panicking (#20373)Documentation
--no-buildbehavior for editable requirements (#20234)Install uv 0.11.29
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.29
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.28Compare Source
Release Notes
Released on 2026-07-07.
Security
This release updates our ZIP library, astral-async-zip, to v0.0.20, which includes 15 changes that harden our ZIP handling against parser differentials. uv may reject ZIP archives with malformed or ambiguous content that were previously accepted.
See the upstream commits for a full list of changes.
Python
Enhancements
-qand-qq(#20163)uv builderrors (#20159)Performance
uv pip install(#19914)Bug fixes
--upgradewhenupgrade-packageis configured (#19955)uv treein dependency-group-only projects (#20167)Install uv 0.11.28
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.28
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.27Compare Source
Release Notes
Released on 2026-07-06.
Enhancements
--python-downloads-json-url(#16749)Preview features
uv workspace list --scripts(#20099)Performance
requires-pythonspecifiers in Simple API parsing (#20104)Bug fixes
packagestable for pylock.toml (#20145)uv pip tree(#20062)uv add --indexupdates an existing index URL (#19818)Other changes
pubAPIs used in Pixi (#20074)Install uv 0.11.27
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.27
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.26Compare Source
Release Notes
Released on 2026-06-30.
Performance
ForkMap::contains(#20023)Bug fixes
Install uv 0.11.26
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.26
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.25Compare Source
Release Notes
Released on 2026-06-26.
Security
This release updates our tar library, astral-tokio-tar, to v0.6.3, which includes over 20 changes that harden our tar handling against parser differentials. uv may reject source distributions with malformed or ambiguous content that were previously accepted.
See the upstream commits for a full list of changes.
Enhancements
tool.uv.environments(#19933)Preview features
uv workspace list --scripts(#20009)uv venv(#19912)uv check(#19884)uv check(#19995)uv check --script(#19989)Bug fixes
uv buildif the cache dir is enclosed (#19991)Install uv 0.11.25
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.25
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.24Compare Source
Release Notes
Released on 2026-06-23.
Python
Preview features
Performance
Bug fixes
exclude-newer(#19934)activate.fishand broaden Fish version support (#19856)Install uv 0.11.24
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.24
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.23Compare Source
Release Notes
Released on 2026-06-19.
Bug fixes
pre-commit-uv(#19925)pyproject.tomlwould be treated as standalone projects (#19926)Install uv 0.11.23
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.23
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.22Compare Source
Release Notes
Released on 2026-06-18.
Enhancements
uv publish(#19831)TYandRUFFenv vars for providing paths for binaries used byuv formatanduv check(#19821)Preview features
uv.tomlandpyproject.toml(#18437)uv check --no-sync(#19909)--scripttouv checkanduv metadata(#19860)workspace metadata(#19862)uv auditoutput (#19872)Performance
Bug fixes
include-groupentries that have additional fields (#19866)backend-paths exist when building sdists (#19834)pylock.tomlfiles do not have an unsupported alock-version(#19869)packages.requires-pythonof apylock.toml(#19868)uvto be recursively invoked by PEP 517 build hooks (#19879)credentials.tomlfiles (#19815)uv pip list(#19867)uv tree --invert(#19910)uv venvin a project (#19837)uv tree(#19905)Documentation
Other changes
Install uv 0.11.22
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.22
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.21Compare Source
Release Notes
Released on 2026-06-11.
Python
Preview features
environment.roottouv workspace metadata --sync(#19760)uv upgradeto update a single dependency constraint (#19738)uv workspace metadatapayload inty check(#19763)uv init(#17841)Performance
uv python list(#18684)Bug fixes
uv python listwith path requests (#19774)Install uv 0.11.21
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.21
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.20Compare Source
Release Notes
Released on 2026-06-10.
Enhancements
--emit-index-urland--emit-find-linkstouv export(#18370)--find-linkssupport foruv pip list(#16103)uv python install(#19691)Preview features
uv upgradecommand (#19678)uv upgrade(#19742)Configuration
UV_NO_INSTALL_PROJECT,UV_NO_INSTALL_WORKSPACE,UV_NO_INSTALL_LOCAL(#19323)Performance
Bug fixes
VIRTUAL_ENVthroughcygpathinsidefishon Windows (#19703)Documentation
--find-linkscaching behavior (#19585)Install uv 0.11.20
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.20
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.19Compare Source
Release Notes
Released on 2026-06-03.
Python
Enhancements
Preview features
--isolatedinuv check(#19666)Bug fixes
Install uv 0.11.19
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.19
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.18Compare Source
Release Notes
Released on 2026-06-01.
Performance
Preview
uv checkto runtyfrom uv (#19605)Bug fixes
Other changes
Install uv 0.11.18
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.18
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.17Compare Source
Release Notes
Released on 2026-05-28.
Enhancements
uv addwith standard library modules (#19572)uv workspaceand itslistsubcommand in help output (#19533)ignore-error-codeswhen applicable (#19521)import-namesandimport-namespacessupport touv-build(PEP 794) (#19380)--no-editable-packageflag to various commands (#19584)uv toolinvocations (#19577)Preview features
uv workspace metadata(#19122)uv venv --clearto remove non-virtual environments (#19595)Bug fixes
tool.uv.conflicts(#19538)--env-fileinuv run(#19567)--check-url(#19594)--find-linksparsing (#19537)Documentation
Install uv 0.11.17
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.17
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.16Compare Source
Release Notes
Released on 2026-05-21.
Enhancements
Preview features
Configuration
UV_NO_SYSTEM_CONFIG(#19476)Bug fixes
uv-build(#19495)Documentation
Install uv 0.11.16
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.16
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.15Compare Source
Release Notes
Released on 2026-05-18.
Security
Enhancements
Preview
Configuration
required-environmentsinuv pip compile(#19378)Performance
Version::only_release_trimmed(#19425)Bug fixes
[tool.uv.sources]credentials underuv sync --frozen(#19423)Documentation
Install uv 0.11.15
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.15
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.14Compare Source
Release Notes
Released on 2026-05-12.
Enhancements
top_level.txtentries in uninstall that are not valid Python identifiers (#19340)Bug fixes
.envfiles in parent process (#19343)uv treeshowing extra-conditional deps for packages required without extras (#19332)--no-build) during lock validation (#19366)Install uv 0.11.14
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.14
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.13Compare Source
Release Notes
Released on 2026-05-10.
Bug fixes
--require-hasheswhen installing frompylock.tomlfiles (#19334)Python
Install uv 0.11.13
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.13
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.12Compare Source
Release Notes
Released on 2026-05-08.
Python
Enhancements
--no-editablesupport touv pip install(#19306)Bug fixes
Respect
--no-devoverUV_DEV=1(#19313)Don't suggest non-existent
--no-frozenflag (#19290) (#19294)Documentation
Install uv 0.11.12
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.12
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.11Compare Source
Release Notes
Released on 2026-05-06.
Bug fixes
Install uv 0.11.11
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.11
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.10Compare Source
Release Notes
Released on 2026-05-05.
Bug fixes
Install uv 0.11.10
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.10
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.9Compare Source
Release Notes
Released on 2026-05-04.
Note due to a timeout publishing to crates.io, the GitHub portion of this release was published manually by a maintainer using the artifacts built in CI. Consequently, GitHub attestations will not be available. Additionally, this release will not be fully published to crates.io. There should be no other effects.
Python 3.14.5 release candidate
This release includes a special release candidate for the next Python 3.14 patch release. Python 3.14 included a new garbage collection implementation, which reduced pause times but caused significant unexpected memory pressure in production environments. In 3.14.5 and 3.15, the previous garbage collection implementation will be restored.
We would greatly appreciate if you tested the 3.14.5rc1 version included in this release. The stable version is expected to be released soon and any feedback on potential issues would be helpful to the Python development team.
For more context, see the announcement, issue, and pull request.
Issues with the new release can be reported in the uv or CPython issue trackers.
Python
libpythonto match LinuxEnhancements
Preview
uv auditadd reporting for adverse project statuses (#19128)Bug fixes
requires-pythonpins a version (#18700)LockedFile::dropon Wine (#19229)top_level.txtin.egg-info(#19114)PYTHONHOMEand only set__PYVENV_LAUNCHER__for virtual environments (#19199)Documentation
--native-tlsandUV_NATIVE_TLSas deprecated (#18705)pytorch-triton-rocmto PyTorch ROCm docs (#19241)uv initcreates git files / folders in the projects guide (#19183)Install uv 0.11.9
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.9
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
v0.11.8Compare Source
Release Notes
Released on 2026-04-27.
Enhancements
--python-downloads-json-urltopython pin(#19092)pip uninstall -y(#19082)exclude-newerto be missing from the lockfile whenexclude-newer-spanis present (#19024)uv self version --short(#19019)SSL_CERT_DIRdirectory (#19018)exclude-newerandexclude-newer-packagevalues in lockfiles (#19022, #19101)Configuration
UV_PYTHON_NO_REGISTRY(#19035)UV_NO_PROJECT(#19052)UV_PYTHON_SEARCH_PATHfor Python discoveryPATHoverrides (#19034)Bug fixes
rust-toolchain.tomlto uv-build sdist (#19131)uv lockon apyproject.tomlthat only contains dependency-groups (#19087).python-version(#19102).tar.zstwheels (#19144)Distributions
Documentation
Install uv 0.11.8
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
Download uv 0.11.8
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
You can also download the attestation from GitHub and verify against that directly:
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate.
Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠️ Warning: custom changes will be lost.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.