| Age | Commit message (Expand) | Author | Files | Lines |
| 2026-03-07 | all: add some experimental hooksdctp1dctp-1 | Brad Fitzpatrick | 3 | -23/+83 |
| 2026-03-06 | all: use Go 1.26 things, run most gofix modernizers | Brad Fitzpatrick | 8 | -29/+19 |
| 2026-03-05 | types/ptr: deprecate ptr.To, use Go 1.26 new | Brad Fitzpatrick | 2 | -5/+3 |
| 2026-03-05 | all: fix typos in comments | Brad Fitzpatrick | 1 | -1/+1 |
| 2026-03-05 | tstest/natlab: add test for no control and rotated disco key (#18261) | Claus Lensbøl | 1 | -0/+1 |
| 2026-03-04 | util/linuxfw,wgengine/router: add connmark rules for rp_filter workaround (#1... | Mike O'Driscoll | 2 | -12/+226 |
| 2026-03-03 | wgengine/magicsoc,net/tstun: put disco key advertisement behind a nob (#18857) | Claus Lensbøl | 1 | -0/+4 |
| 2026-03-03 | wgengine/magicsock: improve error message for moving Mullvad node keys | Alex Chan | 1 | -2/+12 |
| 2026-02-27 | wgengine/netstack: deliver self-addressed packets via loopback | James Tucker | 3 | -0/+355 |
| 2026-02-26 | go.mod: bump gvisor | Brad Fitzpatrick | 1 | -1/+14 |
| 2026-02-26 | wgengine/magicsock: only run derpActiveFunc after connecting to DERP (#18814) | Fernando Serboncini | 2 | -1/+59 |
| 2026-02-25 | netns,wgengine: add OpenBSD support to netns via an rtable | joshua stein | 1 | -8/+41 |
| 2026-02-24 | ipnext,ipnlocal,wgengine/filter: add extension hooks for custom filter matchers | Michael Ben-Ami | 2 | -17/+257 |
| 2026-02-13 | util/clientmetric, wgengine/watchdog: report watchdog errors in user/client m... | Jonathan Nobels | 2 | -18/+176 |
| 2026-02-10 | magicsock, ipnlocal: revert eventbus-based node/filter updates, remove Synchr... | Brad Fitzpatrick | 2 | -172/+81 |
| 2026-02-09 | tstun,wgengine: add new datapath hooks for intercepting Connectors 2025 | Michael Ben-Ami | 1 | -15/+44 |
| 2026-01-30 | wgengine/netstack: add local tailscale service IPs to route and terminate loc... | KevinLiang10 | 2 | -6/+133 |
| 2026-01-30 | wgengine/magicsock: make debugNeverDirectUDP influence remote peer decisions | Jordan Whited | 2 | -1/+6 |
| 2026-01-26 | ipn/localapi: stop logging "broken pipe" errors (#18487) | Amal Bansode | 1 | -1/+3 |
| 2026-01-23 | all: remove AUTHORS file and references to it | Will Norris | 104 | -104/+104 |
| 2026-01-22 | tsnet: add support for a user-supplied tun.Device | James Tucker | 1 | -1/+85 |
| 2026-01-22 | wgengine: send disco key via TSMP on first contact (#18215) | Claus Lensbøl | 3 | -4/+67 |
| 2026-01-14 | ipn,ipn/local: always accept routes for Tailscale Services (cgnat range) (#18... | Tom Meadows | 1 | -0/+4 |
| 2026-01-09 | wgengine/magicsock: add home DERP region usermetric (#18062) | Raj Singh | 2 | -0/+19 |
| 2026-01-06 | wgengine/magicsock: extract IMDS utilities into a standalone package (#18334) | Alex Valiushko | 4 | -337/+3 |
| 2025-12-17 | net/netmon, wgengine/userspace: purge ChangeDelta.Major and address TODOs (#1... | Jonathan Nobels | 1 | -14/+31 |
| 2025-12-10 | net/{packet,tstun},wgengine: update disco key when receiving via TSMP (#18158) | Claus Lensbøl | 3 | -0/+104 |
| 2025-12-09 | net/dns: retrample resolve.conf when another process has trampled it (#18069) | Claus Lensbøl | 1 | -1/+1 |
| 2025-12-02 | wgengine: fix TSMP/ICMP callback leak | Brad Fitzpatrick | 1 | -0/+2 |
| 2025-11-25 | net/tstun: add TSMPDiscoAdvertisement to TSMPPing (#17995) | Claus Lensbøl | 3 | -6/+88 |
| 2025-11-21 | wgengine/userspace: run link change subscribers in eventqueue (#18024) | Claus Lensbøl | 1 | -1/+7 |
| 2025-11-18 | types/key,wgengine/magicsock,control/controlclient,ipn: add debug disco key r... | James Tucker | 8 | -34/+268 |
| 2025-11-18 | types/netmap,*: remove some redundant fields from NetMap | Brad Fitzpatrick | 1 | -3/+3 |
| 2025-11-18 | all: rename variables with lowercase-l/uppercase-I | Alex Chan | 3 | -74/+74 |
| 2025-11-17 | wgengine/netlog: strip dot suffix from node name (#17954) | Joe Tsai | 2 | -5/+9 |
| 2025-11-17 | go.mod: bump golang.org/x/crypto (#17907) | Andrew Lytvynov | 1 | -2/+3 |
| 2025-11-17 | various: add more missing apostrophes in comments | Alex Chan | 2 | -2/+2 |
| 2025-11-16 | syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging | Brad Fitzpatrick | 7 | -11/+14 |
| 2025-11-16 | types/netmap: remove PrivateKey from NetworkMap | Brad Fitzpatrick | 3 | -23/+18 |
| 2025-11-15 | wgengine/netlog: fix send to closed channel in test | Brad Fitzpatrick | 1 | -0/+1 |
| 2025-11-14 | wgengine/wgcfg/nmcfg: reduce wireguard reconfig log spam | Brad Fitzpatrick | 1 | -44/+31 |
| 2025-11-13 | ipn/ipnlocal: remove all the weird locking (LockedOnEntry, UnlockEarly, etc) | Brad Fitzpatrick | 3 | -0/+40 |
| 2025-11-12 | wgengine/wgcfg: remove two unused Config fields | Brad Fitzpatrick | 5 | -15/+1 |
| 2025-11-11 | wgengine/router/osrouter: fix linux magicsock port changing | Sachin Iyer | 2 | -1/+41 |
| 2025-11-11 | wgengine/magicsock: unblock Conn.Synchronize on Conn.Close | Brad Fitzpatrick | 1 | -1/+4 |
| 2025-11-10 | wgengine/magicsock: fix UDPRelayAllocReq/Resp deadlock (#17831) | Jordan Whited | 1 | -1/+4 |
| 2025-11-10 | wgengine/magicsock: validate endpoint.derpAddr in Conn.onUDPRelayAllocResp (#... | Jordan Whited | 1 | -1/+3 |
| 2025-11-10 | wgengine/magicsock: clean up determineEndpoints docs (#17822) | Jordan Whited | 1 | -2/+2 |
| 2025-11-10 | wgengine: make getStatus a bit cheaper (less alloc-y) | Brad Fitzpatrick | 1 | -6/+9 |
| 2025-11-04 | wgengine/netlog: include node OS in logged attributes (#17755) | Joe Tsai | 2 | -4/+24 |