| Age | Commit message (Expand) | Author | Files | Lines |
| 2025-07-08 | ipn/ipnlocal,util/syspolicy: add support for ExitNode.AllowOverride policy se... | Nick Khyl | 2 | -12/+419 |
| 2025-07-08 | ipn/ipnlocal: make applySysPolicy a method on LocalBackend | Nick Khyl | 2 | -21/+37 |
| 2025-07-08 | ipn/ipnlocal: refactor resolveExitNodeInPrefsLocked, setExitNodeID and resolv... | Nick Khyl | 1 | -55/+51 |
| 2025-07-08 | cmd/tailscale/cli,ipn/ipnlocal: restrict logout when AlwaysOn mode is enabled | Nick Khyl | 3 | -10/+8 |
| 2025-07-07 | ipn/ipnlocal: fix missing defer in testExtension.Shutdown | Nick Khyl | 1 | -1/+1 |
| 2025-07-07 | ipn/{ipnauth,ipnlocal,localapi}: make EditPrefs return an error if changing e... | Nick Khyl | 4 | -78/+187 |
| 2025-07-07 | ipn/ipnlocal: add (*LocalBackend).reconcilePrefsLocked | Nick Khyl | 2 | -39/+76 |
| 2025-07-07 | ipn/ipnlocal,util/syspolicy/source: retain existing exit node when using auto... | Nick Khyl | 2 | -7/+118 |
| 2025-07-07 | ipn/ipnlocal: plumb nodeBackend into suggestExitNode to support delta updates... | Nick Khyl | 2 | -28/+22 |
| 2025-07-07 | ipn/ipnlocal: add (*LocalBackend).RefreshExitNode | Nick Khyl | 1 | -32/+45 |
| 2025-07-03 | cmd/tailscale/cli,ipn,ipn/ipnlocal: add AutoExitNode preference for automatic... | Nick Khyl | 7 | -90/+786 |
| 2025-07-03 | ipn/ipnlocal: update suggestExitNode to skip offline candidates and fix TestS... | Nick Khyl | 2 | -11/+15 |
| 2025-07-03 | ipn/ipnlocal: skip TestUpdateNetmapDeltaAutoExitNode | Nick Khyl | 1 | -8/+12 |
| 2025-07-03 | ipn/ipnlocal: simplify pickNewAutoExitNode | Nick Khyl | 1 | -9/+2 |
| 2025-07-03 | ipn/ipnlocal: rename setAutoExitNodeIDLockedOnEntry to pickNewAutoExitNode; d... | Nick Khyl | 1 | -25/+8 |
| 2025-07-02 | tailcfg: report StateEncrypted in Hostinfo (#16434) | Andrew Lytvynov | 2 | -0/+33 |
| 2025-07-01 | tailcfg: add CapabilityOwner (#16426) | kari-ts | 1 | -0/+14 |
| 2025-07-01 | drive,ipn/ipnlocal: calculate peer taildrive URLs on-demand | Percy Wegmann | 1 | -8/+19 |
| 2025-06-30 | ipn/ipnlocal: add verbose Taildrive logging on client side | Percy Wegmann | 2 | -14/+27 |
| 2025-06-27 | ipn/store: make StateStore.All optional (#16409) | Andrew Lytvynov | 5 | -31/+23 |
| 2025-06-26 | ipn/store: automatically migrate between plaintext and encrypted state (#16318) | Andrew Lytvynov | 7 | -6/+186 |
| 2025-06-26 | ipn/ipnlocal: update PeerByID to return SelfNode and rename it to NodeByID (#... | JerryYan | 4 | -12/+13 |
| 2025-06-24 | ipn/ipnlocal,wgengine/magicsock: wait for magicsock to process pending events... | Nick Khyl | 3 | -1/+61 |
| 2025-06-18 | feature/tpm: implement ipn.StateStore using TPM sealing (#16030) | Andrew Lytvynov | 1 | -0/+2 |
| 2025-06-18 | ipn/ipnlocal,wgengine{/magicsock}: replace SetNetworkMap with eventbus (#16299) | Jordan Whited | 4 | -30/+69 |
| 2025-06-18 | ipn/ipnlocal: make pricing restriction message for Tailnet Lock clearer | Anton Tolchanov | 2 | -6/+14 |
| 2025-06-17 | ipn: add missing entries for OpenBSD | Juan Francisco Cantero Hurtado | 2 | -2/+2 |
| 2025-06-17 | ipn/ipnlocal: add some verbose logging to taildrive peerapi handler | Percy Wegmann | 1 | -14/+21 |
| 2025-06-16 | scripts/check_license_headers.sh: delete, rewrite as a Go test | Brad Fitzpatrick | 1 | -0/+1 |
| 2025-06-16 | ipn/ipnlocal,wgengine/magicsock: use eventbus for node & filter updates (#16271) | Jordan Whited | 3 | -14/+54 |
| 2025-06-13 | ipn/ipnlocal: signal nodeBackend readiness and shutdown | Nick Khyl | 3 | -16/+230 |
| 2025-06-13 | ipn/ipnlocal: replace nodeContext with nodeBackend in comments | Nick Khyl | 1 | -24/+24 |
| 2025-06-11 | ipn/localapi,client/local: add debug watcher for bus events (#16239) | Claus Lensbøl | 1 | -37/+100 |
| 2025-06-10 | cmd/tailscale/cli: add a risk message about rp_filter | Anton Tolchanov | 2 | -67/+94 |
| 2025-06-09 | health: prefix Warnables received from the control plane | James Sanderson | 1 | -9/+17 |
| 2025-06-06 | ipn/ipnlocal: Update hostinfo to control on service config change (#16146) | KevinLiang10 | 2 | -8/+76 |
| 2025-06-04 | ipn: add watch opt to include actions in health messages | James Sanderson | 3 | -17/+161 |
| 2025-06-03 | ipn/ipnlocal: fix deadlock when filtering DisplayMessage URLs | James Sanderson | 2 | -2/+13 |
| 2025-05-30 | controlclient,health,ipnlocal,tailcfg: add DisplayMessage support | James Sanderson | 2 | -1/+73 |
| 2025-05-29 | ipn/ipnlocal: fix data race when accessing b.appConnector | Nick Khyl | 2 | -7/+15 |
| 2025-05-28 | ipn: set RouteAll=true by default for new accounts on iOS and Android (#16110) | Jonathan Nobels | 1 | -1/+2 |
| 2025-05-23 | ipn/ipnlocal: improve dohQuery error to suggest `?dns=` and `?q=` (#16056) | Zach Buchheit | 1 | -1/+1 |
| 2025-05-22 | control/controlclient,health,tailcfg: refactor control health messages (#15839) | James 'zofrex' Sanderson | 1 | -6/+10 |
| 2025-05-21 | ipn/store: remove a layer of indirection for registering stores (#15986) | Andrew Lytvynov | 4 | -21/+4 |
| 2025-05-19 | ipn/ipnlocal: make GetExt work earlier, before extension init | Brad Fitzpatrick | 3 | -8/+59 |
| 2025-05-14 | feature/taildrop,ipn/ipn{ext,local}: initialize taildrop for initial profile | Nick Khyl | 2 | -3/+14 |
| 2025-05-13 | ipn/ipnlocal: attach Tailnet Lock status to bugreports | Anton Tolchanov | 1 | -0/+9 |
| 2025-05-12 | ipn/ipnlocal,wgengine: move (*tsdial.Dialer).SetRoutes() calls from LocalBack... | Nick Khyl | 1 | -7/+0 |
| 2025-05-09 | ipn/ipnlocal: move nodeBackend methods from local.go to node_backend.go | Nick Khyl | 3 | -480/+490 |
| 2025-05-09 | ipn/ipn{server,test}: extract the LocalAPI test client and server into ipntest | Nick Khyl | 9 | -335/+846 |