| Age | Commit message (Expand) | Author | Files | Lines |
| 2026-04-02 | cmd/k8s-proxy: add auth key renewal supportk8s-proxy-authkey-renewal-v2 | chaosinthecrd | 3 | -7/+312 |
| 2026-04-02 | cmd/containerboot: use root context for auth key reissue wait | chaosinthecrd | 1 | -2/+2 |
| 2026-04-02 | kube/authkey,kube/state,cmd/containerboot: preserve device_id across restarts | chaosinthecrd | 3 | -14/+37 |
| 2026-04-02 | kube/authkey,cmd/containerboot: extract shared auth key reissue package | chaosinthecrd | 4 | -96/+240 |
| 2026-04-01 | go.toolchain.rev, version: bump Tailscale Go, add IsTailscaleGo | Brad Fitzpatrick | 6 | -3/+23 |
| 2026-04-01 | ipn,tka: improve Tailnet Lock logs | Alex Chan | 3 | -12/+12 |
| 2026-04-01 | tsnet: fix bug in closing multiple ServiceListeners at once | Harry Harpham | 2 | -13/+61 |
| 2026-04-01 | tsnet: add test for advertising multiple Services | Harry Harpham | 1 | -106/+162 |
| 2026-04-01 | tka: consolidate all the limits into a single file | Alex Chan | 5 | -19/+24 |
| 2026-03-31 | control/controlclient: take mapsession and release lock early in sub (#19192) | Claus Lensbøl | 1 | -5/+10 |
| 2026-03-31 | wgengine/magicsock: assume network up for tests | Harry Harpham | 4 | -4/+18 |
| 2026-03-30 | licenses: update license notices | License Updater | 2 | -0/+3 |
| 2026-03-30 | control/controlclient,ipn/ipnlocal,wgengine: avoid restarting wireguard when ... | Claus Lensbøl | 8 | -23/+323 |
| 2026-03-29 | tsnet: fix advertiseService dropping existing services | Evan Champion | 1 | -1/+1 |
| 2026-03-29 | docker: add riscv64 to container image architectures | Bruno Verachten | 1 | -0/+6 |
| 2026-03-29 | cmd/tailscale: improve `tailscale lock` error message if no keys | Alex Chan | 2 | -17/+53 |
| 2026-03-28 | README: update the version of Go in the README (#19168) | Evan Lowry | 1 | -1/+1 |
| 2026-03-27 | feature/conn25: install all the hooks | Michael Ben-Ami | 4 | -76/+131 |
| 2026-03-27 | .github: Bump actions/download-artifact from 8.0.0 to 8.0.1 | dependabot[bot] | 1 | -1/+1 |
| 2026-03-27 | Add 'fish' to the list of scales | Sam Fleming | 1 | -0/+1 |
| 2026-03-26 | release/dist/unixpkgs: include tailscale-online.target in packages | Brad Fitzpatrick | 1 | -0/+26 |
| 2026-03-26 | feature/conn25: connect the ExtraWireguardAllowedIPs hook (#19140) | George Jones | 1 | -0/+15 |
| 2026-03-26 | feature/conn25: Store transit ips by connector key (#19071) | George Jones | 2 | -24/+334 |
| 2026-03-26 | net,tsnet: fix the capitalisation of "Wireshark" | Alex Chan | 3 | -3/+3 |
| 2026-03-26 | tsnet/tsnet.go: fix docs link (#19136) | Walter Poupore | 1 | -1/+1 |
| 2026-03-26 | docs: add commit message example (#19134) | Noel O'Brien | 1 | -7/+8 |
| 2026-03-26 | ipn/ipnlocal: warn incompatibility between no-snat-routes and exitnode (#19023) | KevinLiang10 | 4 | -0/+107 |
| 2026-03-26 | .github: Bump actions/create-github-app-token from 2.2.1 to 3.0.0 (#19003) | dependabot[bot] | 3 | -3/+3 |
| 2026-03-25 | feature/conn25,ipn/ipnext,ipn/ipnlocal: add ExtraRouterConfigRoutes hook | Fran Bull | 3 | -1/+31 |
| 2026-03-25 | net/batching: use vectored writes on Linux (#19054) | Alex Valiushko | 2 | -30/+59 |
| 2026-03-25 | wif: add AWS ecs for autogenerated OIDC tokens | Patrick Guinard | 1 | -7/+14 |
| 2026-03-25 | go.toolchain.*: bump for mips and synology segmentation violation fixes | Nick Khyl | 3 | -3/+3 |
| 2026-03-25 | net/dns: fix duplicate search line entries (OpenBSD, primarily) | Greg Steuck | 1 | -1/+8 |
| 2026-03-25 | tsnet: clean up state when Service listener is closed | Harry Harpham | 2 | -89/+420 |
| 2026-03-25 | tsnet: block rather than poll in setup for TestListenService | Harry Harpham | 1 | -20/+11 |
| 2026-03-25 | tsnet: use tstest.Shard in new tsnet tests | Harry Harpham | 1 | -0/+4 |
| 2026-03-25 | ipn/ipnlocal: debounce extra enqueues in ExtensionHost.AuthReconfigAsync | Michael Ben-Ami | 1 | -0/+11 |
| 2026-03-24 | ipn/ipnserver: use peercreds for actor.Username on freebsd (for Taildrive) | rtgnx | 1 | -1/+1 |
| 2026-03-24 | control/controlclient: handle errors in rememberLastNetmapUpdator (#19112) | Claus Lensbøl | 2 | -5/+11 |
| 2026-03-24 | types/key: use AvailableBuffer for WriteRawWithoutAllocating (#19102) | Mike O'Driscoll | 2 | -21/+80 |
| 2026-03-24 | derp: use AvailableBuffer for WriteFrameHeader, consolidate tests (#19101) | Mike O'Driscoll | 3 | -33/+119 |
| 2026-03-24 | ipn,ipn/local: broadcast ClientVersion if AutoUpdate.Check (#19107) | kari-ts | 3 | -3/+111 |
| 2026-03-24 | ipn: fix the typo causing NoSNAT always set to true (#19110) | KevinLiang10 | 1 | -1/+1 |
| 2026-03-24 | licenses: update license notices | License Updater | 4 | -12/+12 |
| 2026-03-24 | control/controlclient: allow multiple non-streaming map requests (#19106) | Claus Lensbøl | 1 | -8/+12 |
| 2026-03-24 | disco: remove experimental label from BindUDPRelayHandshakeState | Jordan Whited | 1 | -2/+1 |
| 2026-03-24 | net/udprelay: remove experimental label from package docs | Jordan Whited | 1 | -3/+3 |
| 2026-03-24 | feature/conn25: call AuthReconfigAsync after address assignment | Fran Bull | 2 | -7/+29 |
| 2026-03-24 | feature/*,net/tstun: add tundev_txq_drops clientmetric on Linux | Jordan Whited | 8 | -0/+604 |
| 2026-03-24 | feature/conn25: guard extension Init() and PeerAPI handler with opt-in env var | Michael Ben-Ami | 1 | -0/+12 |