Repository navigation
chore: bump Tailscale to 1.104.1 - #18
Merged
MattDHill merged 2 commits intoOct 16, 2026
Merged
Conversation
MattDHill
previously approved these changes
Oct 16, 2026
StartOS shows a service as Starting while any health check reports `waiting`, and renders the message as "Waiting on <message>...". A signed-out node therefore left Tailscale showing Starting indefinitely, with the check reading "Waiting on Sign this node in to your tailnet to serve interfaces...". The daemon check already treats a signed-out node as healthy; Serve now reports it as disabled, as it does while no saved route resolves. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps the wrapped upstream client from Tailscale 1.102.5 to 1.104.1 (the current stable release), per
UPDATING.md. This is a client-line jump, 1.102 to 1.104.Changes
Dockerfile:ghcr.io/tailscale/tailscale:v1.102.5->v1.104.1startos/versions/current.ts:1.102.5:1->1.104.1:0, with release notes in all five supported localesNo migration is needed: nothing in the package's on-disk state (
tailscaled.state,serve-config.json,ts-status.json) changes shape across the bump, somigrations.upstays a no-op.What 1.104.1 brings
Relevant to this package:
The rest is desktop and mobile only. 1.104.0 was a release candidate for testing only, so 1.104.1 is the first shipping release of this line.
One change worth calling out, and why it does not apply here
1.104 changes serve's listener binding: Tailscale Serve on Linux now listens only on the Tailscale interface, and a new
TS_SERVE_ALLOW_ALL_INTERFACESenvknob opts back out. That reads like it could affect this package's serve routes, so I checked the source rather than assuming.It does not apply. The binding change is on
localListenerinipn/ipnlocal/serve.go, which carries the comment "This is not used in userspace-networking mode" and exists "purely for connections from the machine itself, as that goes via the kernel". This package runstailscaled --tun=userspace-networking, where serve traffic is intercepted by netstack instead. No envknob is needed, and theFROMbump is the whole change.Verification
ghcr.io/tailscale/tailscale:v1.104.1publishes bothlinux/amd64andlinux/arm64(and noriscv64, so theARCHES := x86 armoverride in theMakefilestill holds). It is also whatlatestandstablenow resolve to.--helpin the actual image:tailscaled --state/--socket/--tun,tailscale status --json,tailscale web --listen,tailscale serve --bg --http/--https/--tcp,tailscale serve status --json,tailscale serve reset,tailscale funnel --bg --https,tailscale funnel reset./bin/hostnameis still present for the device-name step.tailscaled --tun=userspace-networkingin the new image:tailscale status --jsonstill emits the two fieldsstartos/fileModels/status.tsparses (BackendStateandSelf.DNSName), andtailscale serve status --jsonexits 0 with{}on an unconfigured node, which is whatcheckServesparses.ServeStatusshape instartos/utils.tsagainstipn/serve.goat the v1.104.1 tag:TCP,Web,AllowFunnel, and the nestedHTTP,HTTPS,TCPForward,HandlersandProxyfields all still marshal under those names.tsc --noEmitandprettier --check startospass.makebuilds clean for both arches, both reportingv1.104.1:0.Not verified: a live install on StartOS with a real tailnet sign-in, including an actual serve applied against a signed-in node. I have no hardware to run that against here. Given the serve listener change above, that is the one thing worth a smoke test on hardware before release even though the source says userspace-networking is unaffected.