Skip to content

fix: add Electron 44 version gates for win32/ia32 and linux/armv7l - #1935

Merged
dsanders11 merged 3 commits into
mainfrom
ia32-armv7l-version-gates
Jul 22, 2026
Merged

fix: add Electron 44 version gates for win32/ia32 and linux/armv7l#1935
dsanders11 merged 3 commits into
mainfrom
ia32-armv7l-version-gates

Conversation

@claude

@claude claude Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Requested by Samuel Attard, David Sanders · Slack thread

  • I have read the contribution documentation for this project.
  • I agree to follow the code of conduct that this project follows, as appropriate.
  • The changes are appropriately documented (if applicable).
  • The changes have sufficient test coverage (if applicable).
  • The testsuite passes successfully on my local machine (if applicable). (yarn lint and the targets spec pass; the full suite needs Electron binary downloads, which are unavailable in this environment)

Summarize your changes:

Before: running electron-packager --arch=ia32 --platform=win32 (or --arch=armv7l --platform=linux) against Electron ≥ 44.0.0-alpha.4 fails with a confusing download 404, because Electron stopped publishing win32/ia32 and linux/armv7l builds in that release (electron/electron#51816). --arch=all also tried (and failed) to package those architectures.

After: --arch=all simply skips ia32/armv7l for Electron ≥ 44.0.0-alpha.4, and an explicit ia32/armv7l target prints the friendly Official win32/ia32 support only exists in Electron <44.0.0-alpha.4 warning (same as the existing linux/ia32 and mips64el gates) instead of a 404.

How: adds ia32: '<44.0.0-alpha.4' (win32) and armv7l: '<44.0.0-alpha.4' (linux) to the buildVersions map in src/targets.ts, mirroring the existing linux/ia32 entry, plus tests and a README footnote. Behavior for Electron ≤ 43 is unchanged — those lines keep shipping 32-bit builds until v43 EOL. The upper bound is anchored at 44.0.0-alpha.4 rather than 44.0.0 because officialBuildExists calls semver.satisfies with includePrerelease: true, so <44.0.0 would still match 44.0.0-alpha.4+ prereleases, which no longer have these builds (44.0.0-alpha.1–3 and nightlies ≤ 20260706 still do).


Generated by Claude Code

claude added 2 commits July 22, 2026 00:55
Electron removed win32/ia32 and linux/armv7l builds starting with
v44.0.0-alpha.4 (electron/electron#51816). Add upper bounds to the
buildVersions map so that:

- arch=all no longer expands to ia32/armv7l for Electron >= 44.0.0-alpha.4
- an explicit ia32/armv7l target produces the friendly "official
  support only exists" warning instead of a download 404

The bound is anchored at 44.0.0-alpha.4 (not 44.0.0) because
officialBuildExists uses semver.satisfies with includePrerelease: true,
so '<44.0.0' would still match the 44.0.0 prereleases that no longer
ship these builds. Electron <= 43 behavior is unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KEEZg64JKFrSDAc7u4V4Na
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KEEZg64JKFrSDAc7u4V4Na
@dsanders11
dsanders11 marked this pull request as ready for review July 22, 2026 01:18
@dsanders11
dsanders11 requested a review from a team as a code owner July 22, 2026 01:18
Comment thread README.md Outdated
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KEEZg64JKFrSDAc7u4V4Na

@malept malept left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The other faux footnote (about macOS signing) should also be converted but that can happen in a follow up PR

@dsanders11
dsanders11 merged commit e0ff98f into main Jul 22, 2026
9 checks passed
@dsanders11
dsanders11 deleted the ia32-armv7l-version-gates branch July 22, 2026 17:22
@electron-npm-package-publisher

Copy link
Copy Markdown

🎉 This PR is included in version 20.0.4 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants