| Age | Commit message (Expand) | Author | Files | Lines |
| 2025-09-17 | net/netmon: make ChangeDelta event not a pointer (#17112) | Claus Lensbøl | 1 | -5/+6 |
| 2025-09-17 | ipn/ipnlocal: disconnect and block when key expires even when using seamless | James Sanderson | 2 | -4/+144 |
| 2025-09-16 | ipn/ipnlocal: fix a case where ts_omit_ssh was still linking in x/crypto/ssh | Brad Fitzpatrick | 3 | -3/+3 |
| 2025-09-16 | feature/featuretags, all: add ts_omit_acme to disable TLS cert support | Brad Fitzpatrick | 5 | -62/+81 |
| 2025-09-16 | feature/portmapper: make the portmapper & its debugging tools modular | Brad Fitzpatrick | 3 | -163/+6 |
| 2025-09-16 | feature,ipn/ipnlocal,wgengine: improve how eventbus shutdown is handled (#17156) | M. J. Fromberger | 2 | -11/+4 |
| 2025-09-16 | ipn: fix the string representation of an empty ipn.Notify | Alex Chan | 2 | -1/+47 |
| 2025-09-16 | health,ipn/ipnlocal: introduce eventbus in heath.Tracker (#17085) | Claus Lensbøl | 13 | -65/+72 |
| 2025-09-16 | all: add ts_omit_serve, start making tailscale serve/funnel be modular | Brad Fitzpatrick | 8 | -405/+516 |
| 2025-09-15 | control/controlclient: introduce eventbus messages instead of callbacks (#16956) | Claus Lensbøl | 8 | -63/+164 |
| 2025-09-12 | all: add ts_omit_tailnetlock as a start of making it build-time modular | Brad Fitzpatrick | 6 | -442/+495 |
| 2025-09-11 | feature/drive: start factoring out Taildrive, add ts_omit_drive build tag | Brad Fitzpatrick | 7 | -369/+432 |
| 2025-09-09 | cmd/tailscale: use tailnet display name on cli (#17079) | nikiUppal-TS | 1 | -0/+8 |
| 2025-09-09 | ipn/ipnlocal, types: plumb tailnet display name cap through to network profil... | Nick O'Neill | 3 | -0/+10 |
| 2025-09-08 | cmd/tailscale, ipn/ipnlocal: add ts_omit_webclient | Brad Fitzpatrick | 2 | -3/+4 |
| 2025-09-05 | ipn/ipnlocal: add state change test for key expiry | James Sanderson | 1 | -0/+15 |
| 2025-09-04 | ipn/ipnlocal, util/syspolicy: convert last RegisterWellKnownSettingsForTest c... | Brad Fitzpatrick | 1 | -5/+9 |
| 2025-09-03 | ipn/local: fix deadlock in initial suggested exit node query (#17025) | Jonathan Nobels | 1 | -1/+1 |
| 2025-09-03 | ipn: warn about self as the exit node if backend is running (#17018) | Alex Chan | 2 | -3/+20 |
| 2025-09-02 | ipn/ipnlocal: convert more tests to use policytest, de-global-ify | Brad Fitzpatrick | 2 | -49/+60 |
| 2025-09-02 | util/syspolicy: finish adding ts_omit_syspolicy build tags, tests | Brad Fitzpatrick | 2 | -50/+68 |
| 2025-09-02 | util/syspolicy/policytest: move policy test helper to its own package | Brad Fitzpatrick | 1 | -59/+3 |
| 2025-09-02 | util/syspolicy: finish plumbing policyclient, add feature/syspolicy, move glo... | Brad Fitzpatrick | 6 | -27/+31 |
| 2025-09-02 | ipn/ipnlocal: revert some locking changes ahead of release branch cut (#17011) | M. J. Fromberger | 3 | -220/+211 |
| 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 | 3 | -44/+80 |
| 2025-09-01 | util/syspolicy/policyclient: add policyclient.Client interface, start plumbing | Brad Fitzpatrick | 2 | -4/+7 |
| 2025-08-31 | util/syspolicy/*: move syspolicy keys to new const leaf "pkey" package | Brad Fitzpatrick | 6 | -89/+95 |
| 2025-08-27 | cmd/viewer: add field comments to generated view methods | Maisem Ali | 1 | -38/+327 |
| 2025-08-27 | ipn/local: add the suggested exit node to the ipn bus (#16748) | Jonathan Nobels | 3 | -9/+75 |
| 2025-08-25 | ipn/ipnlocal: remove UnlockEarly from doSetHostinfoFilterServices | M. J. Fromberger | 1 | -24/+22 |
| 2025-08-25 | ipn/ipnlocal: remove an unnecessary unlock shortcut | M. J. Fromberger | 1 | -3/+1 |
| 2025-08-25 | ipn/ipnlocal: remove unnecessary usees of lockAndGetUnlock | M. J. Fromberger | 1 | -36/+36 |
| 2025-08-23 | ipn,tsnet: update AdvertiseTags documentation (#16931) | M. J. Fromberger | 1 | -5/+4 |
| 2025-08-23 | ipn/ipnlocal: replace the LockedOnEntry pattern with conventional lock/unlock... | M. J. Fromberger | 3 | -159/+172 |
| 2025-08-22 | ipn/localapi: make tailscale debug derp STUNOnly-aware (#16927) | Jordan Whited | 1 | -43/+47 |
| 2025-08-18 | ipn/localapi: plumb an event bus through the localapi.Handler (#16892) | M. J. Fromberger | 2 | -4/+29 |
| 2025-08-15 | types/dnstype, ipn/ipnlocal: allow other DNS resolvers with exit nodes | Michael Ben-Ami | 2 | -36/+164 |
| 2025-08-14 | cmd/viewer, types/views: implement support for json/v2 (#16852) | Joe Tsai | 1 | -15/+171 |
| 2025-07-31 | ipn/ipnlocal, net/dns: use slices.Equal to simplify code (#16641) | jishudashu | 1 | -13/+1 |
| 2025-07-30 | ipn/store/kubestore,kube: fix cert error in admin UI (#16717) | Tom Proctor | 2 | -0/+25 |
| 2025-07-29 | ipn,net,tsnet,wgengine: make an eventbus mandatory where it is used (#16594) | M. J. Fromberger | 5 | -73/+74 |
| 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 | 2 | -43/+66 |
| 2025-07-22 | tailcfg: add Hostinfo.ExitNodeID to report the selected exit node (#16625) | Simon Law | 2 | -15/+61 |
| 2025-07-22 | cmd/tailscale/cli: revert key for web config for services to FQDN (#16627) | KevinLiang10 | 2 | -6/+8 |
| 2025-07-21 | wgengine/magicsock,all: allocate peer relay over disco instead of PeerAPI (#1... | Jordan Whited | 2 | -2/+2 |
| 2025-07-21 | all-kube: create Tailscale Service for HA kube-apiserver ProxyGroup (#16572) | Tom Proctor | 2 | -6/+7 |
| 2025-07-18 | client/local,cmd/tailscale/cli,ipn/localapi: expose eventbus graph (#16597) | Claus Lensbøl | 1 | -0/+50 |
| 2025-07-16 | cmd/tailscale/cli: Add service flag to serve command (#16191) | KevinLiang10 | 3 | -41/+286 |