<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-windows, branch master</title>
<subtitle>WireGuard client for Windows</subtitle>
<id>https://git.zx2c4.com/wireguard-windows/atom/?h=master</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-windows/atom/?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-windows/'/>
<updated>2026-07-14T14:43:06Z</updated>
<entry>
<title>locales: update translations from crowdin</title>
<updated>2026-07-14T14:43:06Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-05-19T16:38:45Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-windows/commit/?id=4e6726c23ae9c5cb58e0c9910f3b7515621d133d'/>
<id>urn:sha1:4e6726c23ae9c5cb58e0c9910f3b7515621d133d</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>conf: fail write if flushing file buffers fails</title>
<updated>2026-07-14T14:43:06Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-07-13T21:53:10Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-windows/commit/?id=68b3680f8130cbf31fc9b596128550d075692434'/>
<id>urn:sha1:68b3680f8130cbf31fc9b596128550d075692434</id>
<content type='text'>
If the flush fails, the data is not durably on disk, so the rename
must not be published. Delete it in this case.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>conf: preserve comments across serialization</title>
<updated>2026-07-14T14:11:51Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-07-13T16:45:01Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-windows/commit/?id=29de783cf48c938866a53299f9173c518ec9f7cb'/>
<id>urn:sha1:29de783cf48c938866a53299f9173c518ec9f7cb</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>conf: deal with ::0 endpoints properly</title>
<updated>2026-07-14T14:11:51Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-07-13T16:43:33Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-windows/commit/?id=78346e0e18202e5271c14d8cbea583c685054b20'/>
<id>urn:sha1:78346e0e18202e5271c14d8cbea583c685054b20</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>l18n: promote out.gotext.json to messages.gotext.json</title>
<updated>2026-07-14T14:11:51Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-05-29T21:25:21Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-windows/commit/?id=ca2aa9b3ae9c9c9adb9f1f6ad6d7c138aff9864a'/>
<id>urn:sha1:ca2aa9b3ae9c9c9adb9f1f6ad6d7c138aff9864a</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>l18n: configuration separator fallbacks</title>
<updated>2026-07-14T14:11:51Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-05-19T16:20:20Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-windows/commit/?id=bb3df7f199f12399d1d43e539cb3b1dad82c201a'/>
<id>urn:sha1:bb3df7f199f12399d1d43e539cb3b1dad82c201a</id>
<content type='text'>
For languages that don't translate these, explicitly fall back to ", "
and " " rather than emitting the placeholder.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>manager: tear down the event reader on partial decode failure</title>
<updated>2026-07-14T14:11:51Z</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=b807d56894c9fce8ea05365dfc842d096865cb7d'/>
<id>urn:sha1:b807d56894c9fce8ea05365dfc842d096865cb7d</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-07-14T14:11:51Z</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=047c73ff9647877261ed96c2958cd074b274b7ce'/>
<id>urn:sha1:047c73ff9647877261ed96c2958cd074b274b7ce</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-07-14T14:11:51Z</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=5c74b80cefd33dc0321ec4e5d334f19982b9b178'/>
<id>urn:sha1:5c74b80cefd33dc0321ec4e5d334f19982b9b178</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-06-13T11:09:35Z</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=e7378887724ae539702985270b64af63325c4717'/>
<id>urn:sha1:e7378887724ae539702985270b64af63325c4717</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>
</feed>
