<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-windows/conf, branch master</title>
<subtitle>WireGuard client for Windows</subtitle>
<id>https://git.zx2c4.com/wireguard-windows/atom/conf?h=master</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-windows/atom/conf?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-windows/'/>
<updated>2026-09-22T19:48:03Z</updated>
<entry>
<title>global: use crypto/ecdh for X25519</title>
<updated>2026-09-22T19:48:03Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-09-22T19:36:51Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-windows/commit/?id=7b2f7adcaa4346d10d340f93c840bda82fbc204b'/>
<id>urn:sha1:7b2f7adcaa4346d10d340f93c840bda82fbc204b</id>
<content type='text'>
Use crypto/ecdh directly, because the old x/crypto 25519 library was
wrapping it.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>global: rand.Read never errors</title>
<updated>2026-09-22T10:48:23Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-09-22T10:48:21Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-windows/commit/?id=4a47e2142ffd031b44055f1a2b683cf7ebd3446d'/>
<id>urn:sha1:4a47e2142ffd031b44055f1a2b683cf7ebd3446d</id>
<content type='text'>
Part of the API contract, apparently.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>conf: clear the pending peer when entering an interface section</title>
<updated>2026-09-20T11:34:53Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-09-19T14:29:46Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-windows/commit/?id=a087f25aaa1de9f5312ebcc7d13170cef9c196a1'/>
<id>urn:sha1:a087f25aaa1de9f5312ebcc7d13170cef9c196a1</id>
<content type='text'>
Otherwise it gets appended again at the next peer section or EOF. This
also prevents the single-peer kill switch from being enabled.

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>conf: flush file buffers before atomically renaming into place</title>
<updated>2026-06-13T11:09:35Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-05-18T14:00:16Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-windows/commit/?id=878ae6219cd7de9f50269f932cc2720c2b4ec289'/>
<id>urn:sha1:878ae6219cd7de9f50269f932cc2720c2b4ec289</id>
<content type='text'>
NTFS journals the rename's metadata change but does not journal user
data. Without an explicit flush a power loss between the cache
manager publishing the rename and writing back the file's pages can
leave the destination at its final name with zero or partial
contents, while the prior file is gone.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>conf: keep retrying when the config-directory watcher fails to start</title>
<updated>2026-06-13T11:09:35Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-05-14T07:49:09Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-windows/commit/?id=2b143c5025f41d703f492a4fffe4136d9df2c89d'/>
<id>urn:sha1:2b143c5025f41d703f492a4fffe4136d9df2c89d</id>
<content type='text'>
The watcher's setup is guarded by sync.Once, which is consumed the
moment the goroutine is spawned. If tunnelConfigurationsDirectory or
FindFirstChangeNotification fails on the first attempt the goroutine
exits, but every subsequent RegisterStoreChangeCallback sees the Once
already done and skips the spawn, so changes are silently never
reported again. Retry these initial failures on the existing
startover loop instead of bailing out.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>conf: don't strip '#' from PreUp/PreDown/PostUp/PostDown values</title>
<updated>2026-06-13T11:09:35Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-05-18T07:33:05Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-windows/commit/?id=743c2f2286efd40c1e5de3f6d0b97012861e5cde'/>
<id>urn:sha1:743c2f2286efd40c1e5de3f6d0b97012861e5cde</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>conf: reject reserved names with any extension</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:17Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-windows/commit/?id=706da65f4c94d485c8676cf55983fd03ccc41e1e'/>
<id>urn:sha1:706da65f4c94d485c8676cf55983fd03ccc41e1e</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
</feed>
