Headscale v0.29.2

v0.29.2
Fixed 3
  • 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
  • Fix /ts2021 rejecting the WebSocket GET upgrade with 405, which prevented Tailscale JS/WASM control clients from connecting
  • 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
Changes
  • 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
  • Fix /ts2021 rejecting the WebSocket GET upgrade with 405, which prevented Tailscale JS/WASM control clients from connecting #3359
  • 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
Upgrade

Please follow the steps outlined in the upgrade guide to update your existing Headscale installation.

Changelog
  • 8eea89488c642f3d5f617fab5493d5f51f6f4ad0 CHANGELOG: drop unreleased 0.30.0 stub
  • f708c5b0108ac2ba5ff384ae9b85bdef488e1ffc CHANGELOG: note /ts2021 WebSocket GET fix
  • 735742e3eea9be93c42c2bd76c9641a74dc11e20 CHANGELOG: note 0.29.2 invalid-name map fix
  • 3ac33cf1d5fa66bafcdf11fd0919d10f118ee8ea CHANGELOG: shorten 0.29.2 invalid-name entry, set date
  • f885d87827bcae30a07063f2723cd03458144a00 Fix invalid ip syntax
  • 1ec7b7fb726ea6270a1eb459534753ef27eda736 hscontrol: register /ts2021 for WebSocket GET
  • 8f4e69d2a643f41378275c1b33395448ba8a596d integration: add TS2021 WebSocket tests to CI matrix
  • e7851ef8815248699833ac82fc7bd4d127a05713 integration: test /ts2021 WebSocket GET with a real WASM client
  • 9d1327458fb21b240ea8078e64aa09ed30b59a96 mapper,policy: add reconnect-storm and lock-concurrency regression tests
  • ec6719736806e53f1aad1e219670bb8b79476052 mapper: skip peers with invalid names instead of failing the map
  • d4f2acf3ab3cada875ab88eab4e0f81e4118cd12 policy: take RLock for reads so map generation runs concurrently
  • 5fb76eb231f105c67ff38316958a889ab4b1534b poll: return an HTTP error on long-poll setup failure
  • fd154fdb663d4992fb15cd95796c4791e48b096f state: log nodes with map-breaking data at startup
  • 9c9206a92b7b3ca416e955f472e7f002e9215b75 state: reject renames whose FQDN exceeds the hostname limit
View original

Upgraded? How did it go?

Discussion