| Age | Commit message (Expand) | Author | Files | Lines |
| 2026-01-23 | ssh/tailssh: fix observed crash in Tailscale SSHbradfitz/tailssh_crash | Brad Fitzpatrick | 1 | -1/+1 |
| 2026-01-22 | tsnet: add support for a user-supplied tun.Device | James Tucker | 3 | -5/+842 |
| 2026-01-22 | tsnet: clarify that ListenService starts the server if necessary | Harry Harpham | 1 | -0/+2 |
| 2026-01-22 | wgengine: send disco key via TSMP on first contact (#18215) | Claus Lensbøl | 3 | -4/+67 |
| 2026-01-21 | net/udprelay: add tailscaled_peer_relay_endpoints gauge (#18265) | Alex Valiushko | 4 | -24/+258 |
| 2026-01-21 | util/limiter: don't panic when dumping a new Limiter | Josh Bleecher Snyder | 2 | -0/+8 |
| 2026-01-21 | cmd/k8s-operator,k8s-operator: Allow the use of multiple tailnets (#18344) | David Bond | 31 | -64/+1730 |
| 2026-01-20 | version: add support for reporting the mac variant from tailscale --version (... | Jonathan Nobels | 1 | -7/+74 |
| 2026-01-19 | net/udprelay: advertise addresses from cloud metadata service (#18368) | Alex Valiushko | 2 | -5/+25 |
| 2026-01-19 | k8s-operator,kube: remove enableSessionRecording from Kubernetes Cap Map (#18... | Tom Meadows | 2 | -14/+4 |
| 2026-01-19 | net/portmapper: Stop replacing the internal port with the upnp external port ... | Eduardo Sorribas | 1 | -1/+1 |
| 2026-01-16 | tsnet: add support for Services | Harry Harpham | 8 | -35/+983 |
| 2026-01-16 | ipn/ipnlocal: allow retrieval of serve config ETags from local API | Harry Harpham | 3 | -36/+48 |
| 2026-01-16 | net/netmon: move TailscaleInterfaceIndex out of netmon.State (#18428) | Jonathan Nobels | 9 | -60/+184 |
| 2026-01-16 | docs/windows/policy: use a separate value to track the configuration state of... | Nick Khyl | 1 | -1/+1 |
| 2026-01-16 | k8s-operator,kube: allowing k8s api request events to be enabled via grants (... | Tom Meadows | 6 | -50/+118 |
| 2026-01-15 | tool/gocross: update gocross-wrapper.ps1 to use absolute path for resolving tar | Aaron Klotz | 1 | -1/+6 |
| 2026-01-14 | VERSION.txt: this is v1.95.0 (#18414)v1.95.0-pre | Nick O'Neill | 1 | -1/+1 |
| 2026-01-14 | .github/workflows: double the timeout for golangci-lint (#18404) | Simon Law | 1 | -1/+5 |
| 2026-01-14 | ipn,ipn/local: always accept routes for Tailscale Services (cgnat range) (#18... | Tom Meadows | 4 | -6/+116 |
| 2026-01-14 | cmd/containerboot: allow for automatic ID token generation | Mario Minardi | 4 | -8/+79 |
| 2026-01-14 | tsnet: allow for automatic ID token generation | Mario Minardi | 2 | -6/+70 |
| 2026-01-14 | .github/actions/go-cache: build cigocacher using remote path, fall back to ./... | Irbe Krumina | 2 | -3/+19 |
| 2026-01-14 | cmd,feature: add identity token auto generation for workload identity (#18373) | Danni Popova | 18 | -42/+592 |
| 2026-01-13 | metrics: add a NewSet and Set.NewLabelMap helpers | Anton Tolchanov | 2 | -10/+18 |
| 2026-01-13 | metrics: add a NewLabelMap helper to create and register label maps | Anton Tolchanov | 2 | -7/+10 |
| 2026-01-13 | .github/workflows: fix timeouts by caching packages for golangci-lint (#18398) | Simon Law | 1 | -2/+2 |
| 2026-01-13 | ipn/store/kubestore: don't load write replica certs in memory (#18395) | Irbe Krumina | 2 | -9/+9 |
| 2026-01-12 | docs: add instructions on referencing pull requests in commit messages | Harry Harpham | 1 | -1/+1 |
| 2026-01-12 | tsnet: use errors.Join and idiomatic field order | Harry Harpham | 1 | -12/+2 |
| 2026-01-09 | wgengine/magicsock: add home DERP region usermetric (#18062) | Raj Singh | 2 | -0/+19 |
| 2026-01-09 | go.mod: bump github.com/containerd/containerd@v1.7.29 (#18374) | Patrick O'Doherty | 6 | -85/+88 |
| 2026-01-09 | tsnet: ensure funnel listener cleans up after itself when closed | Harry Harpham | 2 | -0/+143 |
| 2026-01-09 | tsnet: reset serve config only once | Harry Harpham | 1 | -26/+31 |
| 2026-01-09 | net/udprelay: apply netns Control func to server socket(s) | Jordan Whited | 3 | -6/+30 |
| 2026-01-08 | cmd,internal,feature: add workload idenity support to gitops pusher | Mario Minardi | 3 | -40/+84 |
| 2026-01-08 | feature/featuretags: make QR codes modular (#18358) | Simon Law | 11 | -37/+103 |
| 2026-01-08 | net/portmapper, go.mod: unfork our goupnp dependency | Andrew Dunham | 16 | -100/+134 |
| 2026-01-08 | go.mod: bump mkctr dep (#18365) | Tom Proctor | 5 | -6/+6 |
| 2026-01-08 | cmd/k8s-operator/e2e,go.mod: remove client v2 dependency | Tom Proctor | 6 | -37/+53 |
| 2026-01-08 | cmd/k8s-operator/e2e: run self-contained e2e tests with devcontrol (#17415) | Tom Proctor | 18 | -331/+1680 |
| 2026-01-07 | cmd/tailscale/cli, util/qrcodes: format QR codes on Linux consoles (#18182) | Simon Law | 6 | -20/+259 |
| 2026-01-07 | cmd/containerboot: add OAuth and WIF auth support (#18311) | Raj Singh | 4 | -10/+131 |
| 2026-01-07 | cmd/distsign: add CLI for verifying package signatures (#18239) | Andrew Lytvynov | 2 | -1/+49 |
| 2026-01-07 | ipn,cmd/tailscale/cli: set correct SNI name for TLS-terminated TCP Services (... | Naman Sood | 3 | -18/+44 |
| 2026-01-06 | wgengine/magicsock: extract IMDS utilities into a standalone package (#18334) | Alex Valiushko | 11 | -35/+50 |
| 2026-01-06 | .github/workflows: bump create-pull-request to 8.0.0 | Mario Minardi | 2 | -2/+2 |
| 2026-01-06 | .github: Bump actions/checkout from 4.2.2 to 5.0.0 | dependabot[bot] | 18 | -35/+35 |
| 2026-01-06 | cmd/tailscale/cli: remove Services-specific subcommands from funnel (#18225) | Harry Harpham | 1 | -74/+81 |
| 2026-01-06 | cmd/tailscaled,ipn/{ipnlocal,store/kubestore}: don't create attestation keys ... | Irbe Krumina | 4 | -15/+251 |