-
Notifications
You must be signed in to change notification settings - Fork 17.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
all: end support for Windows 8, Windows Server 2012 in Go 1.21 or 1.22 #57004
Comments
This proposal has been added to the active column of the proposals project |
Despite the possibility of extended support for customers paying Microsoft, it seems clear that nearly everyone is dropping support for Windows 8, including .NET. We would need to announce in the Go 1.20 release notes and then Go 1.21 would be the first release without support, and then Go 1.22 would mark the end of Go 1.20 being supported, which would be the real end. That Go 1.22 release would be in Feb 2024. |
Based on the discussion above, this proposal seems like a likely accept. |
I'm confused by this wording. Is this saying that Windows 7 (aka Windows Server 2008) will continue to be supported but Windows 8 (aka Windows Server 2012) will not? Only 7 and 10+? Or is this about unsupporting both 7 and 8? Or is 7 already unsupported? But https://github.com/golang/go/wiki/MinimumRequirements says:
As a data point (not even in support of any particular argument), our Go application has Windows user distribution as follows:
Pre-Win10 is low percent, for sure, but in absolute numbers it's still a good number of users. But I agree the Go project can't run builders & support everything forever, especially when upstream doesn't. In any case, I'll note that https://tip.golang.org/doc/go1.20#ports hasn't been updated yet to say anything about upcoming Windows deprecations. Is that going to happen before rc2/final? |
Ah, gotcha. Thanks! |
No change in consensus, so accepted. 🎉 |
Yeah, I mentioned that in the original comment. Like I said there, the question is how much we're concerned about those users. And as Russ pointed out, it'll continue to get Go security fixes until 1.20 falls out of support in early |
Saw that, after posting and immediately Xd my comment. This is somewhat concerning, but following .NET seems fine to me ultimately so no objection. |
Change https://go.dev/cl/457695 mentions this issue: |
I'm updating the release notes to announce end of support after 1.20. If there's a good reason to delay to 1.21 we can consider it. |
For #57003, #57004. Change-Id: Ic1386a0ce83897411fbc68c83a9125af1cc11b54 Reviewed-on: https://go-review.googlesource.com/c/go/+/457695 Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Auto-Submit: Heschi Kreinick <heschi@google.com> Run-TryBot: Heschi Kreinick <heschi@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
As a data point, I work on the Go datadog-agent and 20% of its Windows install base is still on Windows Server 2012/R2. As a point of comparison, less than 2% is on Windows Server 2008R2. I can't tell how representative of the Go Windows install base these numbers are, but 20% is a fairly high number. For what it's worth, the .NET project will continue to support Windows Server 2012/R2 for Windows users who purchase Extended Security Updates. It's likely that a significant number of enterprise Windows users will remain on Windows Server 2012/R2 until closer to the end of the Extended Security Updates in 2026. I don't know how much of a burden supporting Windows Server 2012/R2 is for the Go project, but is a slightly longer support period still on the table? |
Thanks for the information. Do you have a sense of whether those users are likely to pay for the extended security updates? Would 6 months more Go support make a material difference? In general, we're not going to be able to match Microsoft's paid support timelines, so we have to draw the line somewhere. The end of "extended support" seems like a reasonable place to me. Hopefully that 20% will decline over the next year. |
@heschi thanks for the response
We're not seeing a steep downwards trend on the usage of Windows Server 2012 yet, so given the timeline of the end of "extended support" we would expect that quite a few of these users will rely on Microsoft's paid support while they migrate to later Windows versions. But we don't know about the support arrangements they have/plan to have with Microsoft.
I think it would to these users, but for sure Go can't match Microsoft's paid support timelines. Unfortunately I don't have more hard data than this number of 20%. It'd be interesting to see if the announcement in the Go 1.20 release notes of the end of support of Windows 2012 in Go 1.21 will lead to more reactions from the community. |
Change https://go.dev/cl/500239 mentions this issue: |
Change https://go.dev/cl/509335 mentions this issue: |
The 5ms sleep in (*Process).Wait was added to mitigate errors while removing executable files using os.RemoveAll. Windows 10 1903 implements POSIX semantics for DeleteFile, making the implementation of os.RemoveAll on Windows much more robust. Older Windows 10 versions also made internal improvements to avoid errors when removing files, making it less likely that the 5ms sleep is necessary. Windows 10 is the oldest version that Go supports (see #57004), so it makes sense to unconditionally remove the 5ms sleep now. We have all the Go 1.22 development cycle to see if this causes any regression. Fixes #25965 Change-Id: Ie0bbe6dc3e8389fd51a32484d5d20cf59b019451 Reviewed-on: https://go-review.googlesource.com/c/go/+/509335 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Alex Brainman <alex.brainman@gmail.com> Reviewed-by: Bryan Mills <bcmills@google.com> Run-TryBot: Quim Muntal <quimmuntal@gmail.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
Per discussion in #52188, Microsoft, Chrome, Git and others will stop supporting Windows 8 and 8.1 at the beginning of next year.
In contrast to Windows 7, 8's corresponding Windows Server releases, Server 2012 and 2012R2, will not fall out of support for some time. Extended support ends later this year, but "extended security updates" don't end until 2026. I don't have a sense of how important that install base is to us.
On behalf of @golang/release, I propose we announce the end of support either in the Go 1.20 or 1.21 release notes and shut down the builder in the subsequent release. I don't feel strongly about which, and I think it'd be interesting to have community input on the timing on this one.
cc @golang/windows
The text was updated successfully, but these errors were encountered: