| Age | Commit message (Expand) | Author | Files | Lines |
| 2025-10-10 | types/persist: add AttestationKey (#17281) | Patrick O'Doherty | 1 | -0/+21 |
| 2025-10-07 | ipn/ipnlocal: use named arguments for `mockControl.send()` | Alex Chan | 1 | -5/+5 |
| 2025-10-06 | appc,ipn/ipnlocal: receive AppConnector updates via the event bus (#17411) | M. J. Fromberger | 1 | -27/+61 |
| 2025-10-06 | ipn/ipnlocal: fix setAuthURL / setWgengineStatus race condition (#17408) | James 'zofrex' Sanderson | 1 | -0/+9 |
| 2025-10-02 | appc,*: publish events for route updates and storage (#17392) | M. J. Fromberger | 1 | -6/+7 |
| 2025-10-01 | appc,ipn/ipnlocal: add a required event bus to the AppConnector type (#17390) | M. J. Fromberger | 1 | -3/+7 |
| 2025-10-01 | net/netmon: remove usage of direct callbacks from netmon (#17292) | Claus Lensbøl | 1 | -2/+6 |
| 2025-10-01 | appc: factor app connector arguments into a Config type (#17389) | M. J. Fromberger | 1 | -4/+11 |
| 2025-09-30 | ipn/ipnlocal: plumb logf into nodeBackend | Nick Khyl | 1 | -2/+2 |
| 2025-09-29 | feature/clientupdate: move clientupdate to a modular feature, disabled for tsnet | Brad Fitzpatrick | 1 | -3/+3 |
| 2025-09-25 | feature/portlist: pull portlist service porting into extension, use eventbus | Brad Fitzpatrick | 1 | -1/+0 |
| 2025-09-24 | ipn/ipnlocal: rename misnamed DisablePortMapperForTest to DisablePortPollerFo... | Brad Fitzpatrick | 1 | -1/+1 |
| 2025-09-16 | feature/portmapper: make the portmapper & its debugging tools modular | Brad Fitzpatrick | 1 | -0/+1 |
| 2025-09-16 | health,ipn/ipnlocal: introduce eventbus in heath.Tracker (#17085) | Claus Lensbøl | 1 | -4/+4 |
| 2025-09-15 | control/controlclient: introduce eventbus messages instead of callbacks (#16956) | Claus Lensbøl | 1 | -6/+7 |
| 2025-09-04 | ipn/ipnlocal, util/syspolicy: convert last RegisterWellKnownSettingsForTest c... | Brad Fitzpatrick | 1 | -5/+9 |
| 2025-09-02 | ipn/ipnlocal: convert more tests to use policytest, de-global-ify | Brad Fitzpatrick | 1 | -48/+48 |
| 2025-09-02 | util/syspolicy/policytest: move policy test helper to its own package | Brad Fitzpatrick | 1 | -59/+3 |
| 2025-09-02 | ipn/ipnlocal: revert some locking changes ahead of release branch cut (#17011) | M. J. Fromberger | 1 | -1/+1 |
| 2025-09-02 | ipn/ipnlocal: simplify a test with a new simpler syspolicy client test type | Brad Fitzpatrick | 1 | -35/+62 |
| 2025-09-02 | ipn/ipnlocal: use policyclient.Client always, stop using global syspolicy funcs | Brad Fitzpatrick | 1 | -6/+44 |
| 2025-08-31 | util/syspolicy/*: move syspolicy keys to new const leaf "pkey" package | Brad Fitzpatrick | 1 | -58/+59 |
| 2025-08-23 | ipn/ipnlocal: replace the LockedOnEntry pattern with conventional lock/unlock... | M. J. Fromberger | 1 | -1/+1 |
| 2025-08-15 | types/dnstype, ipn/ipnlocal: allow other DNS resolvers with exit nodes | Michael Ben-Ami | 1 | -15/+98 |
| 2025-07-29 | ipn,net,tsnet,wgengine: make an eventbus mandatory where it is used (#16594) | M. J. Fromberger | 1 | -0/+6 |
| 2025-07-28 | health: add an ETag to UnhealthyState for change detection | James Sanderson | 1 | -2/+2 |
| 2025-07-23 | ipn/ipnlocal: send Hostinfo after resolveExitNode for "auto:any" (#16632) | Simon Law | 1 | -35/+34 |
| 2025-07-22 | tailcfg: add Hostinfo.ExitNodeID to report the selected exit node (#16625) | Simon Law | 1 | -15/+52 |
| 2025-07-16 | ipn/ipnlocal: use rendezvous hashing to traffic-steer exit nodes | Simon Law | 1 | -48/+3 |
| 2025-07-10 | ipn/ipnlocal: add traffic steering support to exit-node suggestions (#16527) | Simon Law | 1 | -0/+417 |
| 2025-07-09 | ipn/ipnlocal: change order of exit node refresh and netmap update so that cli... | Nick Khyl | 1 | -0/+54 |
| 2025-07-09 | ipn/ipnlocal: add test to verify handling of unknown auto exit node expressions | Nick Khyl | 1 | -0/+17 |
| 2025-07-09 | ipn: move ParseAutoExitNodeID from ipn/ipnlocal to ipn | Nick Khyl | 1 | -104/+0 |
| 2025-07-08 | ipn/ipnlocal,util/syspolicy: add support for ExitNode.AllowOverride policy se... | Nick Khyl | 1 | -0/+312 |
| 2025-07-08 | ipn/ipnlocal: make applySysPolicy a method on LocalBackend | Nick Khyl | 1 | -2/+4 |
| 2025-07-07 | ipn/{ipnauth,ipnlocal,localapi}: make EditPrefs return an error if changing e... | Nick Khyl | 1 | -30/+53 |
| 2025-07-07 | ipn/ipnlocal: add (*LocalBackend).reconcilePrefsLocked | Nick Khyl | 1 | -1/+1 |
| 2025-07-07 | ipn/ipnlocal,util/syspolicy/source: retain existing exit node when using auto... | Nick Khyl | 1 | -6/+104 |
| 2025-07-07 | ipn/ipnlocal: plumb nodeBackend into suggestExitNode to support delta updates... | Nick Khyl | 1 | -3/+6 |
| 2025-07-03 | cmd/tailscale/cli,ipn,ipn/ipnlocal: add AutoExitNode preference for automatic... | Nick Khyl | 1 | -28/+499 |
| 2025-07-03 | ipn/ipnlocal: update suggestExitNode to skip offline candidates and fix TestS... | Nick Khyl | 1 | -10/+14 |
| 2025-07-03 | ipn/ipnlocal: skip TestUpdateNetmapDeltaAutoExitNode | Nick Khyl | 1 | -8/+12 |
| 2025-07-01 | tailcfg: add CapabilityOwner (#16426) | kari-ts | 1 | -0/+14 |
| 2025-06-26 | ipn/ipnlocal: update PeerByID to return SelfNode and rename it to NodeByID (#... | JerryYan | 1 | -1/+1 |
| 2025-06-24 | ipn/ipnlocal,wgengine/magicsock: wait for magicsock to process pending events... | Nick Khyl | 1 | -0/+6 |
| 2025-06-18 | ipn/ipnlocal,wgengine{/magicsock}: replace SetNetworkMap with eventbus (#16299) | Jordan Whited | 1 | -2/+47 |
| 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 | 1 | -3/+66 |
| 2025-06-04 | ipn: add watch opt to include actions in health messages | James Sanderson | 1 | -1/+105 |
| 2025-06-03 | ipn/ipnlocal: fix deadlock when filtering DisplayMessage URLs | James Sanderson | 1 | -0/+1 |