| Age | Commit message (Expand) | Author | Files | Lines |
| 2026-01-19 | net/udprelay: advertise addresses from cloud metadata service (#18368) | Alex Valiushko | 1 | -4/+24 |
| 2026-01-19 | net/portmapper: Stop replacing the internal port with the upnp external port ... | Eduardo Sorribas | 1 | -1/+1 |
| 2026-01-16 | net/netmon: move TailscaleInterfaceIndex out of netmon.State (#18428) | Jonathan Nobels | 5 | -53/+149 |
| 2026-01-13 | metrics: add a NewSet and Set.NewLabelMap helpers | Anton Tolchanov | 1 | -10/+3 |
| 2026-01-09 | net/udprelay: apply netns Control func to server socket(s) | Jordan Whited | 3 | -6/+30 |
| 2026-01-08 | net/portmapper, go.mod: unfork our goupnp dependency | Andrew Dunham | 3 | -51/+85 |
| 2025-12-19 | net/udprelay: remove tailscaled_peer_relay_endpoints_total (#18254) | Alex Valiushko | 3 | -36/+0 |
| 2025-12-18 | net/udprelay: expose peer relay metrics (#18218) | Alex Valiushko | 4 | -11/+268 |
| 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 | 12 | -228/+693 |
| 2025-12-15 | net/udprelay: replace map+sync.Mutex with sync.Map for VNI lookup | Jordan Whited | 2 | -82/+93 |
| 2025-12-10 | net/{packet,tstun},wgengine: update disco key when receiving via TSMP (#18158) | Claus Lensbøl | 3 | -4/+7 |
| 2025-12-09 | net/dns: retrample resolve.conf when another process has trampled it (#18069) | Claus Lensbøl | 15 | -42/+258 |
| 2025-12-09 | net/udprelay: re-use mono.Time in control packet handling | Jordan Whited | 1 | -5/+5 |
| 2025-12-09 | net/udprelay: use `mono.Time` instead of `time.Time` | Simar | 2 | -13/+15 |
| 2025-12-03 | net/udprelay: bind multiple sockets per af on Linux | Jordan Whited | 3 | -58/+165 |
| 2025-11-25 | cmd/tailscale/cli,ipn,all: make peer relay server port a *uint16 | Jordan Whited | 2 | -5/+6 |
| 2025-11-25 | net/tstun: add TSMPDiscoAdvertisement to TSMPPing (#17995) | Claus Lensbøl | 4 | -19/+192 |
| 2025-11-24 | net/udprelay: use blake2s-256 MAC for handshake challenge | Jordan Whited | 2 | -57/+227 |
| 2025-11-19 | net/netns: remove spammy logs for interface binding caps | Jonathan Nobels | 1 | -6/+10 |
| 2025-11-19 | net/batching: fix import formatting | Brad Fitzpatrick | 1 | -1/+0 |
| 2025-11-19 | cmd/tailscale/cli: allow remote target as service destination (#17607) | KevinLiang10 | 2 | -0/+8 |
| 2025-11-18 | types/netmap,*: remove some redundant fields from NetMap | Brad Fitzpatrick | 2 | -7/+7 |
| 2025-11-18 | all: rename variables with lowercase-l/uppercase-I | Alex Chan | 12 | -52/+52 |
| 2025-11-17 | go.mod: bump golang.org/x/crypto (#17907) | Andrew Lytvynov | 4 | -9/+11 |
| 2025-11-16 | syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging | Brad Fitzpatrick | 16 | -26/+32 |
| 2025-11-14 | net/udprelay: implement Server.SetStaticAddrPorts (#17909) | Jordan Whited | 2 | -41/+58 |
| 2025-11-14 | net/netmon: do not abandon a subscriber when exiting early (#17899) | M. J. Fromberger | 1 | -19/+3 |
| 2025-11-13 | feature/relayserver,ipn/ipnlocal,net/udprelay: plumb DERPMap (#17881) | Jordan Whited | 1 | -11/+27 |
| 2025-11-12 | net/udprelay: replace VNI pool with selection algorithm (#17868) | Jordan Whited | 2 | -12/+56 |
| 2025-11-12 | ipn/ipnlocal, net/netns: add node cap to disable netns interface binding on n... | Jonathan Nobels | 2 | -8/+22 |
| 2025-11-12 | net/batching: fix gro size handling for misordered UDP_GRO messages (#17842) | Sachin Iyer | 2 | -1/+37 |
| 2025-11-07 | net/udprelay: use GetGlobalAddrs and add local port endpoint (#17797) | Raj Singh | 1 | -6/+21 |
| 2025-10-28 | wgengine/netlog: embed node information in network flow logs (#17668) | Joe Tsai | 1 | -5/+5 |
| 2025-10-24 | net/tsdial: do not panic if setting the same eventbus twice (#17640) | Claus Lensbøl | 1 | -2/+6 |
| 2025-10-16 | wgengine/netlog: merge connstats into package (#17557) | Joe Tsai | 5 | -488/+5 |
| 2025-10-15 | net/connstats: prepare to remove package (#17554) | Joe Tsai | 3 | -39/+48 |
| 2025-10-10 | util/eventbus/eventbustest: add support for synctest instead of timers (#17522) | Claus Lensbøl | 1 | -1/+1 |
| 2025-10-10 | all: specify explicit JSON format for time.Duration (#17307) | Joe Tsai | 1 | -1/+1 |
| 2025-10-10 | net/netmon: handle net.IPAddr types during interface address parsing (#17523) | Jonathan Nobels | 2 | -0/+48 |
| 2025-10-09 | feature/relayserver: init server at config time instead of request time (#17484) | Jordan Whited | 1 | -0/+1 |
| 2025-10-08 | net/dns, wgengine: use viewer/cloner for Config | Brad Fitzpatrick | 4 | -86/+214 |
| 2025-10-08 | net/dns, ipn/ipnlocal: fix regressions from change moving away from deephash | Brad Fitzpatrick | 2 | -2/+75 |
| 2025-10-07 | feature/linkspeed: move cosmetic tstun netlink code out to modular feature | Brad Fitzpatrick | 3 | -80/+11 |
| 2025-10-06 | util/checkchange: stop using deephash everywhere | Brad Fitzpatrick | 1 | -0/+21 |
| 2025-10-06 | feature/featuretags: make usermetrics modular | Brad Fitzpatrick | 1 | -3/+2 |
| 2025-10-06 | feature/featuretags: add LazyWG modular feature | Brad Fitzpatrick | 1 | -8/+14 |
| 2025-10-04 | net/wsconn: clarify package comment | kscooo | 1 | -3/+1 |
| 2025-10-04 | wgengine: stop importing flowtrack when unused | Brad Fitzpatrick | 1 | -5/+0 |
| 2025-10-04 | net/connstats: make it modular (omittable) | Brad Fitzpatrick | 3 | -9/+43 |