Skip to content

chore: migrate to start-sdk 2.0 and bump Tailscale to 1.98.9 - #4

Merged
helix-nine merged 7 commits into
masterfrom
next
Jul 21, 2026
Merged

chore: migrate to start-sdk 2.0 and bump Tailscale to 1.98.9#4
helix-nine merged 7 commits into
masterfrom
next

Conversation

@helix-nine

@helix-nine helix-nine commented Jul 4, 2026

Copy link
Copy Markdown

start-sdk 2.0 migration + Tailscale 1.98.8

Migrates this package to @start9labs/start-sdk 2.0 (requires StartOS 0.4.0-beta.10) and bumps the upstream Tailscale client from 1.96.5 to 1.98.8.

start-sdk 2.0

  • SDK pin → 2.0.1, TypeScript → ^6, tsconfig.json extends the shipped tsconfig.base.json, Makefile includes the SDK's s9pk.mk (vendored copy removed), reusable CI workflows repointed to Start9Labs/start-technologies.
  • 2.0 API migrations as applicable: sdk.serviceInterface.*sdk.host.* resolved over the LXC bridge, lazy SubContainer, alerts manifest field removed, and other ### Changed / ### Removed items from the SDK 2.0 changelog.

Upstream bump — Tailscale 1.98.8 (Dockerfile FROM tag v1.96.5v1.98.8; version 1.96.5:21.98.8:0)

  • Moves onto the 1.98 client line. Notable fixes: wireguard-go connectivity drops on wake-from-sleep and excessive handshake retries, a MagicDNS resolution regression after network changes, and more consistent Linux netfilter rule application after mode changes. Adds the ip:publicAddress device-posture attribute (beta).
  • Full changelog: https://tailscale.com/changelog
  • No breaking changes; no state migration required for existing installs.

Test plan

  • CI build is green (npm citsc → SDK lint → nccs9pk pack).
  • Install the built .s9pk on a StartOS 0.4.0-beta.10 server (fresh install and upgrade-in-place from the prior 1.96.5 build).
  • Start the service; confirm it reaches its health check and the primary interface is reachable.
  • Authenticate via the URL action / login flow and confirm the node joins the tailnet.
  • Verify tailscale version inside the container reports 1.98.8.
  • Confirm a Tailscale serve for the StartOS admin UI is actually forwarded over the internal LXC bridge (the 2.0 host-resolution fix).
  • Stop/start and reboot the box; confirm the node reconnects after wake (1.98.8 wireguard-go fix).

🤖 Generated with Claude Code

@helix-nine helix-nine changed the title chore: migrate to start-sdk 2.0 chore: migrate to start-sdk 2.0 and bump Tailscale to 1.98.8 Jul 4, 2026
helix-nine and others added 5 commits July 6, 2026 11:16
instructions.md is permanent end-user documentation; upgrade and
version-requirement notes belong in release notes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PpJxhk25X42WTafMdkUx6t
Bumps @start9labs/start-sdk 2.0.1 -> 2.0.3 (dependency and lockfile only).

- 2.0.3 fixes a dependency-gated daemon wedging permanently after its
  dependency's readiness flaps: Daemon.term() unconditionally destroyed the
  daemon's SubContainer, so the next start() threw "already destroyed" and the
  daemon never recovered. Adds a non-destroying Daemon.stop() for
  dependency-driven pauses, and serializes pause/resume transitions.
- 2.0.2 runs s9pk.mk's check-deps before packing, not just before install.

No packaging API changed between 2.0.1 and 2.0.3, so no source changes were
needed. Verified with `npm run check` (tsc --noEmit).
Bumps @start9labs/start-sdk 2.0.3 -> 2.0.5 (dependency and lockfile only).

2.0.5 fixes ExVer range operations ignoring the downstream revision:
compareVersionRangePoints and adjacentVersionRangePoints compared the upstream
twice, so two points sharing an upstream but differing downstream (1.0.0:3 vs
1.0.0:15) collapsed into one. normalize() then dropped the lower of the two,
which made packed manifests advertise a canMigrateFrom/canMigrateTo range
narrower than the truth for any package whose `other` versions share current's
upstream. No upgrade path actually broke — StartOS resolves migrations through
the version graph rather than this field — but the manifests were wrong.

No packaging API changed, so no source changes were needed. Verified with
`npm run check` (tsc --noEmit).
Bumps @start9labs/start-sdk 2.0.5 -> 2.0.6 (dependency and lockfile only).

2.0.6 fixes s9pk.mk failing under `make` in a git repo with no index yet: it
listed $(GIT_DIR)/index as an unconditional prerequisite, but `git init` creates
no index until the first `git add`, so a freshly scaffolded package aborted with
"No rule to make target '.git/index'" before packing. GIT_DEPS now filters
through $(wildcard ...), so a missing HEAD or index drops out of the prerequisite
list instead of halting the build (s9pk pack already handles a commit-less repo).
Build plumbing only.

No packaging API changed, so no source changes were needed. Verified with
`npm run check` (tsc --noEmit).
@MattDHill MattDHill changed the title chore: migrate to start-sdk 2.0 and bump Tailscale to 1.98.8 chore: migrate to start-sdk 2.0 and bump Tailscale to 1.98.9 Jul 21, 2026
@helix-nine
helix-nine merged commit 2fac6b7 into master Jul 21, 2026
3 checks passed
@helix-nine

Copy link
Copy Markdown
Author

Thanks for the review and merge, @MattDHill. start-sdk 2.0 migration and the Tailscale 1.98.9 bump are in on master.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants