Skip to content

feat!: bump @electron/windows-sign to 2.1.0 - #615

Merged
dsanders11 merged 2 commits into
mainfrom
bump-windows-sign-2.1
Sep 10, 2026
Merged

dsanders11 merged 2 commits into
mainfrom
bump-windows-sign-2.1

Conversation

@felixrieseberg

@felixrieseberg felixrieseberg commented Sep 10, 2026

Copy link
Copy Markdown
Member

Summary

Bumps @electron/windows-sign to 2.1.0. Since electron/windows-sign#123, its vendored signtool.exe supports Azure Trusted Signing (/dlib), so windowsSign users no longer need to point signToolPath at a Windows SDK copy (as electron/fiddle#2004 does today).

windows-sign 2.x is ESM-only and requires Node.js 22.12+, so this is a major release:

  • engines is now >=22.12.0, and windows-sign becomes a regular dependency. It was only optional to spare older Node.js versions, so the fallback loader and semver go away.
  • Compiles with module: "node16" on TypeScript 5.4, so windows-sign's exports-only types resolve and import() stays a real dynamic import.
  • CI tests Node.js 22.12 and 24.

Breaking changes

  • Requires Node.js 22.12+.
  • Published .d.ts files need TypeScript 5.3+ (they use the resolution-mode import attribute).
  • Inherited from windows-sign 2.x: hook modules load with import(), so TypeScript export default hooks compiled to CommonJS and extensionless hookModulePath values no longer resolve. Errors thrown by a hook now fail signing instead of being logged.
  • Also inherited: quotes in a signWithParams string are now stripped.

Please keep the BREAKING CHANGE footer when squash-merging so semantic-release cuts 6.0.0.

Test plan

On Linux with Node.js 22: yarn build and yarn lint pass, and lib/sign.js emits import('@electron/windows-sign'). The platform-independent specs pass; the Windows signing spec only runs in CI. The hook-loading difference was reproduced with a Node 22 script comparing require() and import().

@electron/windows-sign 2.1.0 ships a signtool.exe that supports Azure
Trusted Signing (/dlib), so windowsSign users no longer need to point
signToolPath at a Windows SDK copy.

- windows-sign 2.x is ESM-only and requires Node.js 22.12+. It stays an
  optional dependency, and the error and spec gate now name 22.12.
- Compile with module "node16" (TypeScript 5.4) so the dynamic import
  stays a real import() and the package's exports-only types resolve.
- Add Node.js 22.12 to CI so the signing spec runs, and install with
  --ignore-engines on older versions so the types are present to build.
@felixrieseberg
felixrieseberg requested a review from a team as a code owner September 10, 2026 15:15
@socket-security

socket-security Bot commented Sep 10, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updated@​electron/​windows-sign@​1.1.2 ⏵ 2.1.0100 +510010088 +4100
Updatedtypescript@​4.9.5 ⏵ 5.4.5100 +11009010090

View full report

@socket-security

socket-security Bot commented Sep 10, 2026

Copy link
Copy Markdown

All alerts resolved. Learn more about Socket for GitHub.

This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored.

Ignoring alerts on:

  • @electron/windows-sign@2.1.0

View full report

…ency

@electron/windows-sign 2.x requires Node.js 22.12 or later. It was only
an optional dependency so that older Node.js versions could still
install this package, so it is now a regular dependency and is loaded
without a fallback. CI now tests Node.js 22.12 and 24.

BREAKING CHANGE: Requires Node.js 22.12 or later. windowsSign inherits
@electron/windows-sign 2.x behavior: hook modules are loaded with
import(), so TypeScript `export default` hooks compiled to CommonJS and
extensionless hookModulePath values no longer resolve, and errors thrown
by a hook now fail signing. The published type declarations need
TypeScript 5.3 or later.
@felixrieseberg felixrieseberg changed the title feat: bump @electron/windows-sign to 2.1.0 feat!: bump @electron/windows-sign to 2.1.0 Sep 10, 2026
@felixrieseberg

Copy link
Copy Markdown
Member Author

@SocketSecurity ignore npm/@electron/windows-sign@2.1.0

@dsanders11 dsanders11 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.

If we're doing the v6.0.0 bump, I think we should:

  • Do the ESM conversion to align with the rest of our Ecosystem WG packages
  • Finally promote this package to @electron/windows-installer since it's the only package still not in the @electron/* namespace

@dsanders11 dsanders11 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.

Merging this with the release workflow disabled so we can batch a few other breaking changes.

@dsanders11
dsanders11 merged commit ee08149 into main Sep 10, 2026
10 checks passed
@dsanders11
dsanders11 deleted the bump-windows-sign-2.1 branch September 10, 2026 20:53
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.

2 participants