<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-windows/manager, branch master</title>
<subtitle>WireGuard client for Windows</subtitle>
<id>https://git.zx2c4.com/wireguard-windows/atom/manager?h=master</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-windows/atom/manager?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-windows/'/>
<updated>2026-05-19T15:37:20Z</updated>
<entry>
<title>manager: tear down the event reader on partial decode failure</title>
<updated>2026-05-19T15:37:20Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-05-18T14:08:27Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-windows/commit/?id=d334cb636c960c510786e98ae41344da1bdc4544'/>
<id>urn:sha1:d334cb636c960c510786e98ae41344da1bdc4544</id>
<content type='text'>
gob is positional; continue on a half-read value leaves the decoder
mid-payload, and the next iteration reads what follows as if it were
a new NotificationType. Return on any Decode error and let the pipe
close take down the reader. The empty-tunnel-name check has to move
below all four field decodes for the same reason, or it desyncs the
stream just like the failure path used to.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>manager: tidy up leak and dead lock-thread defer in session loop</title>
<updated>2026-05-19T15:37:20Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-05-18T14:08:27Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-windows/commit/?id=c4635a5ce57695513448b0e66d51a0e7d228ee29'/>
<id>urn:sha1:c4635a5ce57695513448b0e66d51a0e7d228ee29</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>manager: skip the handle list attribute when no handles are supplied</title>
<updated>2026-05-19T15:37:20Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-05-18T14:08:27Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-windows/commit/?id=c48b61251e5ba92b86fd3cd107f1e4d6729b4523'/>
<id>urn:sha1:c48b61251e5ba92b86fd3cd107f1e4d6729b4523</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>manager: release driver adapter on tunnel stop</title>
<updated>2026-05-19T15:37:20Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-05-18T13:56:27Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-windows/commit/?id=3e2708488fa1a529d90d2d7614ed13140d317c4c'/>
<id>urn:sha1:3e2708488fa1a529d90d2d7614ed13140d317c4c</id>
<content type='text'>
releaseDriverAdapter was only called from the RuntimeConfig error
path, so a cleanly-running tunnel never had its cached *Adapter
dropped from the map. The finalizer attached in OpenAdapter
couldn't reach it, and the kernel handle leaked. A restart of the
same tunnel then kept hitting stale-handle errors against the
surviving cache entry.

Fix this by calling releaseDriverAdapter from tunneltracker on
every TunnelStopped transition, and closing the adapter inside
releaseDriverAdapter under the per-adapter lock.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>driver: remove wintun legacy cleanup</title>
<updated>2026-04-18T22:02:41Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-04-18T21:29:56Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-windows/commit/?id=82735471ff0275bea445fab3d24d61a95bc07a8f'/>
<id>urn:sha1:82735471ff0275bea445fab3d24d61a95bc07a8f</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>manager,conf: protect callback arrays with shared locks</title>
<updated>2026-04-16T13:26:26Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-04-11T18:41:51Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-windows/commit/?id=66468aa39853cc01e3f955af3555d8b31af5fb2e'/>
<id>urn:sha1:66468aa39853cc01e3f955af3555d8b31af5fb2e</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>manager: close previously created pipes on os.Pipe failure</title>
<updated>2026-04-16T13:26:26Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-04-16T01:19:10Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-windows/commit/?id=38f64619aab0cc562db1cce74248a634b888809c'/>
<id>urn:sha1:38f64619aab0cc562db1cce74248a634b888809c</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>manager: keep alive service state object until after unsubscription</title>
<updated>2026-04-16T13:26:26Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-04-11T19:39:47Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-windows/commit/?id=7cc9914f31121878435388cc7c038abc2a796d7e'/>
<id>urn:sha1:7cc9914f31121878435388cc7c038abc2a796d7e</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>manager: improve service stop waiting loops</title>
<updated>2026-04-16T13:26:26Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-04-11T17:16:39Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-windows/commit/?id=ca0a4ac7c1aa644237b49440579289debf9468e0'/>
<id>urn:sha1:ca0a4ac7c1aa644237b49440579289debf9468e0</id>
<content type='text'>
Don't close nil services.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>manager: return right error if os.Executable() fails</title>
<updated>2026-04-16T13:26:26Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-04-11T19:09:09Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-windows/commit/?id=82aa38ad422be21e6509106860d0998e91d2b296'/>
<id>urn:sha1:82aa38ad422be21e6509106860d0998e91d2b296</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
</feed>
