| Age | Commit message (Expand) | Author | Files | Lines |
| 2026-01-23 | all: remove AUTHORS file and references to it | Will Norris | 1 | -1/+1 |
| 2026-01-21 | net/udprelay: add tailscaled_peer_relay_endpoints gauge (#18265) | Alex Valiushko | 1 | -21/+71 |
| 2026-01-19 | net/udprelay: advertise addresses from cloud metadata service (#18368) | Alex Valiushko | 1 | -4/+24 |
| 2026-01-09 | net/udprelay: apply netns Control func to server socket(s) | Jordan Whited | 1 | -1/+28 |
| 2025-12-19 | net/udprelay: remove tailscaled_peer_relay_endpoints_total (#18254) | Alex Valiushko | 1 | -2/+0 |
| 2025-12-18 | net/udprelay: expose peer relay metrics (#18218) | Alex Valiushko | 1 | -10/+48 |
| 2025-12-15 | net/udprelay: replace map+sync.Mutex with sync.Map for VNI lookup | Jordan Whited | 1 | -69/+81 |
| 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 | 1 | -12/+13 |
| 2025-12-03 | net/udprelay: bind multiple sockets per af on Linux | Jordan Whited | 1 | -58/+111 |
| 2025-11-25 | cmd/tailscale/cli,ipn,all: make peer relay server port a *uint16 | Jordan Whited | 1 | -3/+3 |
| 2025-11-24 | net/udprelay: use blake2s-256 MAC for handshake challenge | Jordan Whited | 1 | -57/+111 |
| 2025-11-14 | net/udprelay: implement Server.SetStaticAddrPorts (#17909) | Jordan Whited | 1 | -34/+41 |
| 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 | 1 | -12/+33 |
| 2025-11-07 | net/udprelay: use GetGlobalAddrs and add local port endpoint (#17797) | Raj Singh | 1 | -6/+21 |
| 2025-10-09 | feature/relayserver: init server at config time instead of request time (#17484) | Jordan Whited | 1 | -0/+1 |
| 2025-09-23 | client, cmd/tailscale/cli, feature/relayserver, net/udprelay: implement tails... | Jordan Whited | 1 | -0/+45 |
| 2025-08-21 | net/udprelay: set ICMP err immunity sock opt (#16918) | Jordan Whited | 1 | -2/+7 |
| 2025-08-21 | net/udprelay: increase socket buffer size (#16910) | Jordan Whited | 1 | -0/+22 |
| 2025-08-19 | net/udprelay: use batching.Conn (#16866) | Jordan Whited | 1 | -55/+146 |
| 2025-08-13 | net/{batching,packet},wgengine/magicsock: export batchingConn (#16848) | Jordan Whited | 1 | -2/+3 |
| 2025-07-29 | ipn,net,tsnet,wgengine: make an eventbus mandatory where it is used (#16594) | M. J. Fromberger | 1 | -0/+3 |
| 2025-07-21 | wgengine/magicsock,all: allocate peer relay over disco instead of PeerAPI (#1... | Jordan Whited | 1 | -29/+16 |
| 2025-07-15 | net/udprelay: log socket read errors (#16573) | Jordan Whited | 1 | -0/+1 |
| 2025-07-11 | net/udprelay: fix peer relay server deadlock (#16542) | Jordan Whited | 1 | -2/+11 |
| 2025-07-07 | net/udprelay: fix relaying between mixed address family sockets (#16485) | Jordan Whited | 1 | -19/+23 |
| 2025-07-02 | feature/relayserver,net/udprelay: add IPv6 support (#16442) | Jordan Whited | 1 | -41/+92 |
| 2025-06-26 | disco,net/udprelay,wgengine/magicsock: support relay re-binding (#16388) | Jordan Whited | 1 | -72/+74 |
| 2025-06-23 | feature/relayserver,net/udprelay,wgengine/magicsock: implement retry (#16347) | Jordan Whited | 1 | -11/+26 |
| 2025-06-12 | feature/relayserver,net/{netcheck,udprelay}: implement addr discovery (#16253) | Jordan Whited | 1 | -36/+151 |
| 2025-05-09 | net/udprelay{/endpoint}, all: move ServerEndpoint to independent pkg (#15934) | Jordan Whited | 1 | -63/+24 |
| 2025-04-25 | net/udprelay: change Server.AllocateEndpoint existing alloc strategy (#15792) | Jordan Whited | 1 | -33/+17 |
| 2025-04-17 | net/udprelay: change ServerEndpoint time.Duration fields to tstime.GoDuration... | Jordan Whited | 1 | -6/+7 |
| 2025-03-31 | net/udprelay: start of UDP relay server implementation (#15480) | Jordan Whited | 1 | -0/+532 |