Skip to content
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 7, Windows Server 2008 in Go 1.21 #57003

Closed
heschi opened this issue Nov 30, 2022 · 14 comments
Closed

all: end support for Windows 7, Windows Server 2008 in Go 1.21 #57003

heschi opened this issue Nov 30, 2022 · 14 comments

Comments

@heschi
Copy link
Contributor

heschi commented Nov 30, 2022

Per discussion in #52188, Microsoft, Chrome, Git and others will stop supporting Windows 7 at the beginning of next year. We should follow suit. Windows Server 2008R2, which I understand we use mostly as a proxy for 7, will fall out of support at the same time.

On behalf of @golang/release, I propose we announce the end of support in the 1.20 release notes, and disable the builder for 1.21.

@gopherbot gopherbot added this to the Proposal milestone Nov 30, 2022
@bcmills
Copy link
Contributor

bcmills commented Nov 30, 2022

(CC @golang/windows)

@rsc
Copy link
Contributor

rsc commented Nov 30, 2022

This proposal has been added to the active column of the proposals project
and will now be reviewed at the weekly proposal review meetings.
— rsc for the proposal review group

@rsc
Copy link
Contributor

rsc commented Dec 7, 2022

Windows 7 is clearly no longer supported by Microsoft or many others, so this seems fine.

@rsc
Copy link
Contributor

rsc commented Dec 7, 2022

Based on the discussion above, this proposal seems like a likely accept.
— rsc for the proposal review group

@rsc
Copy link
Contributor

rsc commented Dec 14, 2022

No change in consensus, so accepted. 🎉
This issue now tracks the work of implementing the proposal.
— rsc for the proposal review group

@rsc rsc changed the title proposal: all: end support for Windows 7, Windows Server 2008 in Go 1.21 all: end support for Windows 7, Windows Server 2008 in Go 1.21 Dec 14, 2022
@rsc rsc modified the milestones: Proposal, Backlog Dec 14, 2022
@gopherbot
Copy link

Change https://go.dev/cl/457695 mentions this issue: doc/go1.20.html: pre-announce dropping Windows 7, 8, and friends

gopherbot pushed a commit that referenced this issue Dec 14, 2022
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>
@gopherbot
Copy link

Change https://go.dev/cl/463842 mentions this issue: runtime: always use LoadLibraryA to load system libraries

gopherbot pushed a commit that referenced this issue Jan 31, 2023
This CL removes a fallback that used LoadLibraryA when the runtime
was loading system DLLs on Windows 7, Windows Server 2008 R2,
or earlier.

We can safely remove that fallback now, as go1.21 will require at least
Windows 8 or Server 2012.

This CL also saves some syscall initialization time and bytes:

new:
    init syscall @2.3 ms, 0 ms clock, 1000 bytes, 18 allocs
old:
    init syscall @3.6 ms, 0.52 ms clock, 1744 bytes, 24 allocs

Updates #57003

Change-Id: I7dcc1173537785b6b580e9f78632c0c74da658d4
Reviewed-on: https://go-review.googlesource.com/c/go/+/463842
Reviewed-by: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Run-TryBot: Quim Muntal <quimmuntal@gmail.com>
Reviewed-by: Damien Neil <dneil@google.com>
@gopherbot
Copy link

Change https://go.dev/cl/467175 mentions this issue: cmd/dist: remove windows-amd64-2008 code path

gopherbot pushed a commit that referenced this issue Feb 10, 2023
`windows-amd64-2008` builder does no longer exist on go1.20,
so it is safe to remove conditions checking for that name.

Updates #57003
Closes #56904

Change-Id: I941ccc64cda0af3b9356996c4b581700afa81987
Reviewed-on: https://go-review.googlesource.com/c/go/+/467175
Run-TryBot: Quim Muntal <quimmuntal@gmail.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Than McIntosh <thanm@google.com>
johanbrandhorst pushed a commit to Pryz/go that referenced this issue Feb 12, 2023
This CL removes a fallback that used LoadLibraryA when the runtime
was loading system DLLs on Windows 7, Windows Server 2008 R2,
or earlier.

We can safely remove that fallback now, as go1.21 will require at least
Windows 8 or Server 2012.

This CL also saves some syscall initialization time and bytes:

new:
    init syscall @2.3 ms, 0 ms clock, 1000 bytes, 18 allocs
old:
    init syscall @3.6 ms, 0.52 ms clock, 1744 bytes, 24 allocs

Updates golang#57003

Change-Id: I7dcc1173537785b6b580e9f78632c0c74da658d4
Reviewed-on: https://go-review.googlesource.com/c/go/+/463842
Reviewed-by: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Run-TryBot: Quim Muntal <quimmuntal@gmail.com>
Reviewed-by: Damien Neil <dneil@google.com>
johanbrandhorst pushed a commit to Pryz/go that referenced this issue Feb 12, 2023
`windows-amd64-2008` builder does no longer exist on go1.20,
so it is safe to remove conditions checking for that name.

Updates golang#57003
Closes golang#56904

Change-Id: I941ccc64cda0af3b9356996c4b581700afa81987
Reviewed-on: https://go-review.googlesource.com/c/go/+/467175
Run-TryBot: Quim Muntal <quimmuntal@gmail.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Than McIntosh <thanm@google.com>
@dmitshur dmitshur removed this from the Backlog milestone May 16, 2023
@dmitshur dmitshur added this to the Go1.21 milestone May 16, 2023
@gopherbot
Copy link

Change https://go.dev/cl/500239 mentions this issue: doc/go1.21: document macOS and Windows requirements

@gopherbot
Copy link

Change https://go.dev/cl/506136 mentions this issue: net: remove sysSocket fallback for Windows 7

gopherbot pushed a commit that referenced this issue Jul 20, 2023
`syscall.ForkLock` is not used in `syscall.StartProcess` since
CL 288297, so using it in `sysSocket` makes no sense. This CL
goes a little bit further and removes the `sysSocket` fallback for
Windows 7, since it is not supported since go 1.21 (#57003).

Updates #60942

Change-Id: If14a0d94742f1b80af994f9f69938701ee41b402
Reviewed-on: https://go-review.googlesource.com/c/go/+/506136
Reviewed-by: Heschi Kreinick <heschi@google.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
Run-TryBot: Quim Muntal <quimmuntal@gmail.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
@gopherbot
Copy link

Change https://go.dev/cl/522195 mentions this issue: os: don't need to prove that GetFinalPathNameByHandle exists

gopherbot pushed a commit that referenced this issue Aug 25, 2023
GetFinalPathNameByHandle exists since Windows Vista, which we no longer
support, so we don't need to prove that it exists before using it.

Updates #57003

Change-Id: Iff2bbe51d3baa3aabcaacf39ea3cbeda0088b9d7
Reviewed-on: https://go-review.googlesource.com/c/go/+/522195
Run-TryBot: Quim Muntal <quimmuntal@gmail.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Bryan Mills <bcmills@google.com>
@myleshorton
Copy link

Just for everyone's general awareness, this issue affects users in poorer countries disproportionately in a dramatic way. In China, for example, 24% of our users are on Windows 7 or below. I would guess the number is even higher elsewhere.

@NERO-Tsui
Copy link

That's hurt

@sebheitzmann
Copy link

Even in France a lot of server are still in Server 2008 R2. I think golang should support these platform

@golang golang locked as resolved and limited conversation to collaborators Jan 10, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
Archived in project
Status: Accepted
Development

No branches or pull requests

8 participants