Sunsetting support for old Windows versions

4 min read Original article ↗
Jason A. Donenfeld Jason at zx2c4.com
Mon Mar 23 17:09:26 UTC 2026
Hey everyone,

The time has finally come. Future releases of WireGuard for Windows
will support Windows ≥10 and Windows Server ≥2016.

With Windows 10 first released to manufacturing on July 15, 2015,
that's supporting an operating system that's 3,904 days old, as
opposed to supporting an operating system that's 6,088 days old.
Nonetheless, supporting an OS that's over 10 years old is still a long
time, even if it's not an OS that's over 16 years old.

I must admit, however, that I am a bit sad about this. After coding up
[1] this dialog box for the installer, I felt a few pangs of sadness
when testing it for the first time on Windows 7 and seeing the tragic
result: https://data.zx2c4.com/bye-bye-wg-win7.png . But it was a
familiar feeling. For, long ago, I'd already watched the beauty of
Windows fall to pieces. To me, Windows 2000 is the most beautiful of
Windows operating systems. Yes, we can all ogle at the engineering
marvel that was NT 3.51. But Windows 2000 really elevated that whole
vision to perfection, and was also the pinnacle of the classic UI
design. I can't think of a classier OS released since. Though, I must
say, it was Windows XP that captured my heart and formed the basis of
my childhood, the new style and all; I would switch between classic
theme and the XP theme frequently, and later flirted a bit with the
MCE themes. It was just a very nice OS, had everything one could want,
a great suite of software, really good stability, ever widening
hardware support, sane and consistent interfaces. It came
pre-installed on my Dell Inspiron 8100 and I loved it. At some point I
switched to running Linux on my laptop, but would still sneak down to
the family computer to fiddle around with Windows development on our
XP machine. I could go on and on. Then Vista was released, and it was
annoying and introduced inconsistencies, which Windows 7 tried to
smooth out and succeeded to some degree, but it was just never the
same to me. And we all remember what happened next with 8, 8.1, 10,
and 11.

So, it's sad to make this change, but it's far less sad than what
already happened in the Windows world post 2000 and post XP.

On the plus side, this has enabled a lot of significant cleanups
throughout the code, and will be yielding more and more as this
process continues. Windows programming is as fun as ever -- arguably
more fun, as the archaeological dumpster heap of historic Microsoft
APIs, each one filled with a unique history and competing corporate
and technical vision of operating system futurism, only ever gets
deeper to dive in. So I'm relatively happy to make this change, even
if somewhat wistful about it.

I had first asked the mailing list whether this was acceptable in 2020
and then again in 2021. Fast forward 5 years and the ecosystem has
changed a lot, and our upstream dependencies have similarly dropped
support. I realize this leaves the still-technically-supported Server
2012 and 2012R2 out in the cold, but 8 and 8.1 haven't been supported
in two years, and I think most realistic users have similarly dropped
the corresponding server editions. In other words, I don't anticipate
any real fallout. However, I know that Windows 7 and Server 2008 and
2008R2 users are usually pretty committed to their ways and can be
vocal. So, by all means pipe up to sing an elegy if you'd like. But
we're moving forward with the sunsetting.

I hope this all seems reasonable enough. Let's pour one out for
Blackcomb/Vienna, and while we're at it, for Whistler long before
that.

Jason

[1] https://git.zx2c4.com/wireguard-windows/tree/installer/customactions.c#n101


More information about the WireGuard mailing list