headscale v0.29.4 released on 23-09-2026

headscale v0.29.4 is out now. It fixes mapper and peer-map issues that could list a node among its own peers (which crashed some Android clients), reduces noisy fan‑out by reusing the peer map for payload-only writes, and hardens OIDC and node lifecycle behaviour for more stable operation.
See the full release notes on GitHub and follow the upgrade guide at https://headscale.net/stable/setup/upgrade/ for update instructions.
What’s in this release
- Mapper and peer-map fixes: exclude self from peer lists, key the peer map by node ID, reuse the peer map for payload-only writes and drop empty changes before fan‑out; new metrics reflect dropped mapper changes and snapshot builds.
- OIDC improvements: the interactive confirmation page is served from a reloadable URL to avoid reusing single‑use codes; callback state and nonce cookies take their Secure flag from server_url; invalid OIDC config now fails fast at startup.
- Node lifecycle and long‑poll fixes: deleting a node no longer leaves a long poll open, deleted nodes are instructed to re‑authenticate and their map sessions are stopped, and expired nodes are marked offline without leaving sessions open.
Upgrade notes
- Minimum supported Tailscale client version: v1.80.0 — ensure clients meet this requirement before upgrading; follow the upgrade guide at https://headscale.net/stable/setup/upgrade/.
- OIDC callback behaviour now fails fast on invalid configuration — verify oidc.issuer and that oidc.client_id/oidc.client_secret are present and correct before starting headscale.
Share your experience or report any regressions on the headscale GitHub issue tracker so maintainers can follow up.


