Is there a timeline for officially ending XP support?

Currently XP is a "tier 3" platform which, if I've understood, means that nobody is going to intentionally break XP support (even if it would be beneficial to do so) but it's not going to be officially tested either. If for example a rustc or Cargo release happens not to work for XP targets then it's no big deal.

Since April of 2019 there is, to my knowledge, no version of XP still being supported by Microsoft.

Are there plans to officially end XP support, even as a tier 3 platform?

What's the motivation for doing so? Some cleanup?...

A relevant issue:

Also it was previously proposed to drop XP support here. Considering that XP support is essentially broken for more than 3 years, I think dropping it is a long overdue. Moreover I believe we need an official policy for dropping OS versions support.

One simplification example: removing XP and Vista support would allow us to use BCryptGenRandom for all Windows targets instead of relying on deprecated RtlGenRandom on non-UWP targets, see this issue.

3 Likes

I asked a while back:

I didn't end up writing an RFC though.

The jump from XP to Vista (and even more so to 7) included some big architectural changes under the hood, which is reflected in a lot of new or enhanced APIs that Rust relies on. Currently Rust has a compatibility layer that's used for some functions that don't exist at all. And there are workarounds for missing features in functions that do exist, e.g. see pipes (which technically introduces a security issue but as it only affects XP nobody was interested in creating and maintaining a fix). I think removing these would be "nice" if nothing else and would signal that official(?) crates like rand can stop worrying about XP as newpavlov mentioned. .

But yeah, all that is somewhat moot as the XP target has been effectively broken for years (although it is still possible to work around or avoid some of the issues).

I think Vista support is "interesting". Windows 7+ is officially supported by Rust and XP support was pushed by people who needed it at the time. I don't think anyone has really made efforts to make Rust compatible with Vista (correct me if I'm wrong) but it's possibly close enough to 7 that Rust has worked regardless (though I haven't tested it).

But Vista was an odd release. It was quickly superseded by 7 and seems to have been skipped over entirely by most large orgs. Its usage share was an order of magnitude below even XP's last I looked.

So I guess a case could be made for "ending" support for Vista whenever XP support ends because it's not entirely clear to me that it was ever supported in the first place.

5 Likes