| Age | Commit message (Expand) | Author | Files | Lines |
| 2026-01-13 | tailcfg: support LogUploadAuth and empty DataPlaneAuditLogIDdsnet/netlog-tailcfg | Joe Tsai | 9 | -44/+80 |
| 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 |
| 2026-01-05 | cmd/tailscaled: disable state encryption / attestation by default (#18336) | Andrew Lytvynov | 2 | -15/+11 |
| 2026-01-05 | ipn/ipnlocal: don't fail profile unmarshal due to attestation keys (#18335) | Andrew Lytvynov | 2 | -7/+79 |
| 2026-01-05 | ssh/tailssh: send audit messages on SSH login (Linux) | James Tucker | 3 | -0/+366 |
| 2026-01-05 | scripts/installer.sh: add ultramarine to supported OS list | Vince Liem | 1 | -1/+1 |
| 2025-12-25 | cmd/derper: add --acme-email flag for GCP cert mode (#18278) | Raj Singh | 3 | -7/+21 |
| 2025-12-23 | ipn/ipnauth, safesocket: defer named pipe client's token retrieval until ipns... | Nick Khyl | 3 | -34/+76 |
| 2025-12-22 | cmd/tailscale/cli: document why there's no --force-reauth on login | Alex Chan | 1 | -0/+3 |
| 2025-12-19 | net/udprelay: remove tailscaled_peer_relay_endpoints_total (#18254) | Alex Valiushko | 3 | -36/+0 |
| 2025-12-19 | cmd/k8s-operator,ipn/ipnlocal: allow opting out of ACME order replace extensi... | Irbe Krumina | 4 | -1/+30 |
| 2025-12-18 | net/udprelay: expose peer relay metrics (#18218) | Alex Valiushko | 5 | -12/+269 |
| 2025-12-18 | cmd/containerboot: support egress to Tailscale Service FQDNs (#17493) | Tom Proctor | 4 | -57/+125 |
| 2025-12-18 | docs: use -x for cherry-picks | Tom Proctor | 1 | -0/+4 |
| 2025-12-18 | ipn/ipnlocal: log cert renewal failures (#18246) | Irbe Krumina | 1 | -1/+5 |
| 2025-12-17 | go.toolchain.rev: update to Go 1.25.5 (#18123) | Brendan Creane | 2 | -2/+2 |
| 2025-12-17 | types/persist: omit Persist.AttestationKey based on IsZero (#18241) | Andrew Lytvynov | 1 | -1/+1 |
| 2025-12-17 | cmd/k8s-operator: fixes helm template for oauth secret volume mount (#18230) | Tom Meadows | 2 | -23/+27 |
| 2025-12-17 | net/dns/resolver: log source IP of forwarded queries | Andrew Dunham | 2 | -2/+50 |
| 2025-12-17 | net/netmon, wgengine/userspace: purge ChangeDelta.Major and address TODOs (#1... | Jonathan Nobels | 19 | -273/+754 |
| 2025-12-16 | client/local: add method to set gauge metric to a value | Will Norris | 6 | -25/+52 |
| 2025-12-16 | words: 33 tails and 26 scales (#18213) | stratself | 2 | -1/+50 |
| 2025-12-15 | net/udprelay: replace map+sync.Mutex with sync.Map for VNI lookup | Jordan Whited | 2 | -82/+93 |
| 2025-12-15 | client/systray: add missing deferred unlock for httpCache mutex | Will Norris | 1 | -1/+1 |
| 2025-12-15 | .github,cmd/cigocacher: add flags --version --stats --cigocached-hostcmd/cigocacher/d0d993f5d6576b5d97d0242c64bbe2de049d6486 | Tom Proctor | 5 | -76/+99 |