Skip to content

build: add Windows 8.1 runtime toolchain - #1007

Closed
asdf80730 wants to merge 4 commits into
EasyIME:masterfrom
asdf80730:pr/win8-toolchain
Closed

asdf80730 wants to merge 4 commits into
EasyIME:masterfrom
asdf80730:pr/win8-toolchain

Conversation

@asdf80730

@asdf80730 asdf80730 commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Bundle Python 3.12.9 (win32 embeddable) instead of 3.15.1. Python 3.12 supports Windows 8.1; 3.15 requires Windows
  • Set go-backend/go.mod to Go 1.20, the last Go release supporting Windows 8/8.1.
  • Pin Rust to 1.77.0 in Cargo.toml, GitHub Actions and AppVeyor; regenerate Cargo.lock in v3 format with uuid 1.20.0 and tempfile 3.20.0.
  • Apply the Rust 1.77 rustfmt and clippy fixes.
  • Emit release PDBs so the CMake artifact copy succeeds with Rust 1.77.
  • Update HACKING.txt to the bundled Python 3.12.

Scope

This is the Windows 8.1 runtime toolchain slice. Node 22 remains experimental on 8.1. UCRT/VC++ deployment is handled
by the installer PR as an explicit KB2999226 prerequisite; this PR does not bundle app-local UCRT. A real Windows 8.1
VM is still required before claiming full support.

Verification

  • Bundled interpreter reports Python 3.12.9 under Wine.
  • Rust 1.77.0: cargo fmt --check, cargo clippy --locked --all-targets --target i686-pc-windows-msvc -- -D warnings, and cargo check --locked --tests --target i686-pc-windows-msvc pass.
  • Go 1.20 module directive is set; no Go test was run on this clean base because upstream's generated input-method
    packages are absent.
  • No real Windows 8.1 VM validation.

Fully generated by omp (DeepSeek V4.1 Flash) without human intervention.

@asdf80730

Copy link
Copy Markdown
Contributor Author

Closing this: the support floor stays at Windows 10.

v2.0.0-beta4 (2026-10-23) shipped as an emergency CVE release on Python 3.15.1 and Node 22.23.4. An 8.1 artifact needs Python 3.12, whose last Windows binary is 3.12.10 (2025-04-08) and which pins OpenSSL 3.0 — end of life since 2026-09-07. Go 1.20 and Rust 1.77 freeze the same way, and Rust 1.77 would make the launcher a permanent fork of upstream as it is refactored.

The installer side is retargeted in #1005 to refuse Windows 8.1 and older.

(Comment generated with assistance from omp / DeepSeek V4.1 Flash.)

@asdf80730 asdf80730 closed this Oct 26, 2026
asdf80730 added a commit to asdf80730/PIME that referenced this pull request Oct 26, 2026
- AGENTS.md: the minimum supported OS is Windows 8.1, with the note that
  master's bundled runtime and installer still target Windows 10 until the open
  installer and runtime PRs land.
- verification.md: read the bundled Python version from the ._pth file instead of
  hardcoding it, and record the Rust 1.77 release-profile PDB requirement.
- wine.md: describe the bundled Python's init_sys_streams abort without binding
  it to one version.
- Mark both research notes that discuss the floor where they are now stale.

PR EasyIME#1005 now accepts 8.1 and PR EasyIME#1007 lowers the runtime toolchain, so the
'keep Windows 10' floor and the version-pinned Wine notes described a plan that
no longer holds. What master still ships is stated rather than silently dropped.

Fully generated by omp (DeepSeek V4.1 Flash) without human intervention.
@asdf80730
asdf80730 deleted the pr/win8-toolchain branch October 27, 2026 03:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant