Skip to content

Commit 35e1b9e

Browse files
Update compatibility notes in README
1 parent dd5e502 commit 35e1b9e

File tree

3 files changed

+37
-15
lines changed

3 files changed

+37
-15
lines changed

README-eng.md

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,27 @@ Currently found these changes in Go SDK will stop running Windows 7:
2323
All running tests are under manual operation due to there are no runners based on Windows 7 and Windows 8 in Github Actions.
2424

2525
Testing environment:
26-
- Windows 7 SP1 (with no other update installed)
27-
- Windows 8.1 Update 3 (with no other update installed)
26+
- Windows 7 SP1 / Windows Server 2008 R2 SP1 (Build 7601.17514) (with no other updates installed)
27+
- Windows 8.1 Update 3 / Windows Server 2012 R2 SP1 (Build 9600.17514) (with no other updates installed)
2828

29-
### Go 1.21
29+
### Compatibilities
30+
31+
- **The binary executables compiled by this SDK can run normally on Windows 7 (and Windows 8.1). This is guaranteed during the maintenance of the project.** Contact us if there are issues when running these executables on Windows 7 & 8.1.
32+
- **Race Detector does not work on Windows 7 since Go 1.21.** This is a widespread problem which needs fixing for all Go 1.N (N>20). Due to the late report, and side-effects may occur after the fixing, this issue will not be fixed during the maintenance. Whether there are SDK releases with fixing on this issue after the sunsetting on the project needs discussions.
33+
- Whether the SDK runs compiling jobs on Windows 7: **Theoretically yes, actually it depends on the installed OS environment running on**
34+
- Microsoft made functional changes to Windows throught Windows updates before Windows 10. This also changed the software compatibility of the OSes. For Windows 7, major updates that came with compatibility changes includes: *Service Pack 1* , *Platform Update for Windows 7 (KB2670838)* , *Windows Management Framework 5.0* and *SHA-2 Code Signing Support Update (KB4474419)* .
35+
- The Windows 7 testing environment only has Service Pack 1 installed to prevent inconsistant results of compatibility tests. The bootstrapping compiling of the SDK was never success in the testing environment (Windows 7), and it cannot compile a project with libraries imported outside of standard libraries due to no network connection for security concerns. So whether the SDK can run the compiling job on Windows 7 is unclear.
36+
- Currently the boostrapping compiling test and project compiling test run on Windows 8.1 Update 3 / Windows Server 2012 R2 SP1. Theoretically the SDK can run compile jobs smoothly on Windows 7 which had installed most of the updates (at least PowerShell needs to be updated).
37+
- If issues occur during compiling, which compiling jobs running on Windows 7, you may consider: compile the executables on newer OSes (Windows, macOS, Linux, etc.) then copy the executables to Windows 7 running machines through networks or storage devices.
38+
39+
## Go 1.21
3040

3141
- Windows 8.1 Update 3 / Windows Server 2012 R2: Can run official distributed Go SDK and binaries built from official SDK.
3242
- Windows 7 SP1 / Windows Server 2008 R2 SP1:
3343
- Go 1.21rc1 ~ Go 1.21.4: Require update KB4474419 (SHA-2 code signing support update) installed. For computers that have Internet access, it is recommended to install KB4490628 (Servicing stack update) to install subsequent security update.
3444
- Go 1.21.5 and onward: Cannot run official distributed SDK or binaries built from official SDK, because of a change of crypto API in SDK.
3545

36-
### Go 1.22
46+
## Go 1.22
3747

3848
- Windows 8.1 Update 3 / Windows Server 2012 R2: Can run official distributed Go SDK and binaries built from official SDK.
3949
- Windows 7 SP1 / Windows Server 2008 R2: Require patches in SDK, and binaries must be built with patched SDK.
@@ -47,7 +57,7 @@ These patches must be applied from up to down:
4757
1. https://github.com/XTLS/go-win7/commit/481cebf65c4052379cf3cda5db5588c48f2446f6 / [Git diff](https://github.com/XTLS/go-win7/commit/481cebf65c4052379cf3cda5db5588c48f2446f6.diff)
4858
1. https://github.com/XTLS/go-win7/commit/21d5caecf644a12d938c45f18e2b55f04b47f0b0 / [Git diff](https://github.com/XTLS/go-win7/commit/21d5caecf644a12d938c45f18e2b55f04b47f0b0.diff)
4959

50-
### Go 1.23
60+
## Go 1.23
5161

5262
- Windows 8.1 Update 3 / Windows Server 2012 R2: Can run official distributed Go SDK and binaries built from official SDK.
5363
- Windows 7 SP1 / Windows Server 2008 R2: Require patches in SDK, and binaries must be built with patched SDK.
@@ -61,7 +71,7 @@ These patches must be applied from up to down:
6171
1. https://github.com/XTLS/go-win7/commit/719ab22f14443a88dd274f7a41afb86dd41628b1 / [Git diff](https://github.com/XTLS/go-win7/commit/719ab22f14443a88dd274f7a41afb86dd41628b1.diff)
6272
1. https://github.com/XTLS/go-win7/commit/ac17c301268dd7835236e61c9bfefdf2b8e633d5 / [Git diff](https://github.com/XTLS/go-win7/commit/ac17c301268dd7835236e61c9bfefdf2b8e633d5.diff)
6373

64-
### Go 1.24
74+
## Go 1.24
6575

6676
- Windows 8.1 Update 3 / Windows Server 2012 R2: Can run official distributed Go SDK and binaries built from official SDK.
6777
- Windows 7 SP1 / Windows Server 2008 R2: Require patches in SDK, and binaries must be built with patched SDK.
@@ -76,7 +86,7 @@ These patches must be applied from up to down:
7686
1. https://github.com/XTLS/go-win7/commit/36d7775e030192d3bf2dc111d1f6cfa89eae5f0c / [Git diff](https://github.com/XTLS/go-win7/commit/36d7775e030192d3bf2dc111d1f6cfa89eae5f0c.diff)
7787
1. https://github.com/XTLS/go-win7/commit/a3e4d4735a5d89f60b907308b556c5a53614914d / [Git diff](https://github.com/XTLS/go-win7/commit/a3e4d4735a5d89f60b907308b556c5a53614914d.diff)
7888

79-
### Go 1.25
89+
## Go 1.25
8090

8191
- Windows 8.1 Update 3 / Windows Server 2012 R2: Can run official distributed Go SDK and binaries built from official SDK, but a problem may occur when removing files, so now it is also in the range of this repository.
8292
- Windows 7 SP1 / Windows Server 2008 R2: Require patches in SDK, and binaries must be built with patched SDK.

README-zho-hans.md

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,27 @@
2323
由于 Github Actions 目前没有 Windows 7 及 Windows 8 的 runner,因此所有可运行性测试均使用人工测试。
2424

2525
测试环境:
26-
- Windows 7 SP1 (未进行更新)
27-
- Windows 8.1 Update 3(未进行更新)
26+
- Windows 7 SP1 / Windows Server 2008 R2 SP1 (Build 7601.17514) (未进行更新)
27+
- Windows 8.1 Update 3 / Windows Server 2012 R2 SP1 (Build 9600.17514) (未进行更新)
2828

29-
### Go 1.21
29+
### 兼容性说明
30+
31+
- **目前该 SDK 编译出的二进制可执行文件能正常在 Windows 7 (以及 Windows 8.1)中运行,这一点在项目维护期内可保证。** 如有运行上的问题还请联系。
32+
- **Race Detector 自 Go 1.21 开始无法在 Windows 7 上正常使用。** 该问题覆盖面较广需要对所有 1.N (N>20) 版本进行修复,由于该问题报告较晚并且修复方案可能会出现预期外的问题,因此项目维护期内不会进行修复。维护期结束后是否释出针对 Race Detector 的修复版本仍有待商榷。
33+
- 该 SDK 能否在 Windows 7 上进行编译作业: **理论上可行,实际上取决于运行编译时的系统环境**
34+
- 微软在 Windows 10 以前的系统中在支持周期内会通过 Windows Update 更新对系统进行更改,操作系统的软件兼容性也会因此发生变化。对 Windows 7 来说这些影响兼容性的主要更新分别为 *Service Pack 1**平台更新(KB2670838)**Windows Management Framework 5.0* 以及 *SHA-2 代码签名支持更新(KB4474419)*
35+
- 目前使用的测试环境中为了避免兼容性上的不一致表现, Windows 7 仅包含 SP1 而未安装其余更新,但该 SDK 在其中的自举编译并未成功,且由于安全性问题该测试环境并未连接到任何网络,在其中编译带有非标准库的 Go 程序并未可行,因此对于该 SDK 能否在 Windows 7 下顺利进行编译作业不甚明确。
36+
- 目前在 Windows 下的自举编译测试及一般 Go 程序编译测试均在 Windows 8.1 Update 3 / Windows Server 2012 R2 SP1 中进行,而我们目前可以认为对于安装了绝大部分更新的 Windows 7 系统来说,该 SDK 理论上可以在这样的环境下顺利进行编译作业(至少 Powershell 需要更新)。
37+
- 如果在 Windows 7 下进行编译作业时出现问题,可以考虑在更新的系统中进行编译后将编译产生的二进制通过网络或其它存储介质复制到运行 Windows 7 的系统上。
38+
39+
## Go 1.21
3040

3141
- Windows 8.1 Update 3 / Windows Server 2012 R2: 可直接运行官方 Go SDK 及其构建的二进制文件。
3242
- Windows 7 SP1 / Windows Server 2008 R2 SP1:
3343
- Go 1.21rc1 ~ Go 1.21.4:需要系统安装编号为 KB4474419(SHA-2 代码签名支持更新)的更新。对有互联网连接的机器,推荐同时安装编号为 KB4490628(服务堆栈更新)的更新来获取后续安全更新。
3444
- Go 1.21.5 及以上版本:因为 crypto 包中对系统 API 调用的调整,无法运行官方 SDK 及用官方 SDK 构建的二进制。
3545

36-
### Go 1.22
46+
## Go 1.22
3747

3848
- Windows 8.1 Update 3 / Windows Server 2012 R2: 可直接运行官方 Go SDK 及其构建的二进制文件。
3949
- Windows 7 SP1 / Windows Server 2008 R2:需要在 SDK 中植入补丁,并且只能运行用修补后的 SDK 构建的二进制。
@@ -47,7 +57,7 @@
4757
1. https://github.com/XTLS/go-win7/commit/481cebf65c4052379cf3cda5db5588c48f2446f6 / [Git diff](https://github.com/XTLS/go-win7/commit/481cebf65c4052379cf3cda5db5588c48f2446f6.diff)
4858
1. https://github.com/XTLS/go-win7/commit/21d5caecf644a12d938c45f18e2b55f04b47f0b0 / [Git diff](https://github.com/XTLS/go-win7/commit/21d5caecf644a12d938c45f18e2b55f04b47f0b0.diff)
4959

50-
### Go 1.23
60+
## Go 1.23
5161

5262
- Windows 8.1 Update 3 / Windows Server 2012 R2: 可直接运行官方 Go SDK 及其构建的二进制文件。
5363
- Windows 7 SP1 / Windows Server 2008 R2:需要在 SDK 中植入补丁,并且只能运行用修补后的 SDK 构建的二进制。
@@ -61,7 +71,7 @@
6171
1. https://github.com/XTLS/go-win7/commit/719ab22f14443a88dd274f7a41afb86dd41628b1 / [Git diff](https://github.com/XTLS/go-win7/commit/719ab22f14443a88dd274f7a41afb86dd41628b1.diff)
6272
1. https://github.com/XTLS/go-win7/commit/ac17c301268dd7835236e61c9bfefdf2b8e633d5 / [Git diff](https://github.com/XTLS/go-win7/commit/ac17c301268dd7835236e61c9bfefdf2b8e633d5.diff)
6373

64-
### Go 1.24
74+
## Go 1.24
6575

6676
- Windows 8.1 Update 3 / Windows Server 2012 R2: 可直接运行官方 Go SDK 及其构建的二进制文件。
6777
- Windows 7 SP1 / Windows Server 2008 R2:需要在 SDK 中植入补丁,并且只能运行用修补后的 SDK 构建的二进制。
@@ -76,7 +86,7 @@
7686
1. https://github.com/XTLS/go-win7/commit/36d7775e030192d3bf2dc111d1f6cfa89eae5f0c / [Git diff](https://github.com/XTLS/go-win7/commit/36d7775e030192d3bf2dc111d1f6cfa89eae5f0c.diff)
7787
1. https://github.com/XTLS/go-win7/commit/a3e4d4735a5d89f60b907308b556c5a53614914d / [Git diff](https://github.com/XTLS/go-win7/commit/a3e4d4735a5d89f60b907308b556c5a53614914d.diff)
7888

79-
### Go 1.25
89+
## Go 1.25
8090

8191
- Windows 8.1 Update 3 / Windows Server 2012 R2: 可直接运行官方 Go SDK 及其构建的二进制文件,但是可能会在文件删除操作上出现问题,因此纳入本仓库管理范围。
8292
- Windows 7 SP1 / Windows Server 2008 R2:需要在 SDK 中植入补丁,并且只能运行用修补后的 SDK 构建的二进制。

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
The Go SDK with patches that can run on Windows 7. Only reverted some modifications from [Go](https://github.com/golang/go).
44

5-
If you need other pre-built binaries that does not found in Release, you can fork and build it.
5+
If you need other pre-built binaries that does not found in Release, you can fork and build it freely.
6+
7+
For detailed compatibility notes, you can find in the detailed ReadMe.
68

79
Detailed ReadMe / 详细说明文件:
810

0 commit comments

Comments
 (0)