diff --git a/CHANGELOG.md b/CHANGELOG.md index f855557b..fab173ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ **Minimum supported Tailscale client version: v1.xx.0** -## 0.29.2 (202x-xx-xx) +## 0.29.2 (2026-07-01) **Minimum supported Tailscale client version: v1.80.0** @@ -12,19 +12,7 @@ - Fix map generation serializing on the policy lock, so a mass reconnect on `autogroup:self`, via or relay policies no longer stalls clients into `unexpected EOF` retry loops [#3358](https://github.com/juanfont/headscale/pull/3358) - Fix `/ts2021` rejecting the WebSocket `GET` upgrade with 405, which prevented Tailscale JS/WASM control clients from connecting [#3359](https://github.com/juanfont/headscale/pull/3359) - -A node whose stored name could not be turned into a valid FQDN — empty, or long -enough that the full hostname exceeded 255 characters once the base domain was -applied — broke map delivery for itself and for every peer that could see it. -Affected clients looped on `PollNetMap: unexpected EOF` and reported being -unable to reach the coordination server, while other clients were unaffected. -The mapper now drops such a node from its peers' maps instead of failing the -whole response, the long-poll handler returns an explicit error rather than an -empty response, node renames that would exceed the hostname limit are rejected, -and startup logs each node whose stored name needs fixing together with the -command to fix it. - -[#3349](https://github.com/juanfont/headscale/pull/3349) +- Gracefully handle nodes with an invalid FQDN (empty or too long) instead of failing map delivery; offending names are logged at startup with the fix command [#3349](https://github.com/juanfont/headscale/pull/3349) ## 0.29.1 (2026-06-18)