Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Go 1.20 is the last release that will run on any release of Windows 7, 8, Server 2008 and Server 2012. Go 1.21 will require at least Windows 10 or Server 2016.

This is interesting. I wonder what Go 1.21 will depend on that requires at least Windows 10?



Nothing specifically AFAIK; it's just fewer platforms to test and support, making development overall easier. Microsoft ended extended support for Windows 7 in 2020, and special enterprise security updates this month. Windows 8 will end extended support July this year (before Go 1.21 is released); I can't find anything about any volume security updates; I think few people care, as Windows 8 is used less than Windows 7 today.

https://github.com/golang/go/issues/57003

https://github.com/golang/go/issues/57004


I used to work at an organization that shipped a Go binary that supported Linux 2.4 kernels, which afaik Golang never supported. There was nothing in the toolchain stopping us from building on an old kernel, but we were on our own for testing and worked around some libc issues in the runtime and stdlib if I recall correctly.

I imagine there's some enterprise customer somewhere on an old version of Windows that will throw money at vendors to make a similar effort.


I wouldn't be surprised if it's more a "we're not going to bother to keep hooking up new things or doing fixes in a way that works and is tested on old operating systems" than "there isn't a way to..." type thing. Some security stuff may break the mold on that though.


https://github.com/golang/go/issues/57004

Nothing concrete as it seems. It means that new releases are no longer tested with the old versions of Windows on their builders, and if you open a bug report about a problem with an unsupported version of Windows, nobody will care.


If they wanted to, they can now use the `LOAD_LIBRARY_REQUIRE_SIGNED_TARGET` flag in LoadLibraryEx.

Aside from that, there are a broad swath of flags to LoadLibraryEx that are only supported on earlier platforms with a KB [1] from over a decade ago installed. My suspicion is that Go has decided that requiring a security KB (while good hygiene) isn't a supportable situation.

[1] https://support.microsoft.com/en-us/topic/microsoft-security...


I would assume it's problems with Microsoft not maintaining those older windows sdk's in favor of their current monolithic windows sdk which only seems to target 10 and 11.


The Go toolchain doesn't use any Microsoft SDK.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: