July 18, 2024
Molybden 1.5.0: custom code-signing on Windows and cross-platform builds on macOS
We are delighted to announce that Molybden 1.5.0 is out! You can now use custom code-sign commands on Windows, build your Molybden app for the different target architectures on macOS, and disable window animation on macOS.
What’s new
Custom code-signing on Windows
In the previous versions of Molybden, to sign your app binaries on Windows, you had to provide a certificate file and a password in the molybden.conf.json
file.
Starting June 1, 2023, industry standards require private keys for Code Signing certificates to be stored on hardware certified to FIPS 140-2 level 2, Common Criteria EAL 4+, or an equivalent standard. This means you cannot simply put a certificate file into your project and use it to sign binaries.
Since Molybden 1.5.0, the certFile
, certPassword
, digestAlgorithm
, and timestampServerURL
properties in molybden.conf.json
are no longer used. Use a new single property instead — signCommand
. You can provide a custom command to sign your app binary files with this property. It can be done like this:
"Windows": {
"icon": "src-cpp/assets/app.ico",
"signCommand": "yourCodesignTool @@BINARY_PATH@@ --option",
"installer": {
"exe": {
"name": "",
"icon": "src-cpp/assets/app.ico",
"loadingGif": ""
}
}
}
Molybden will replace @@BINARY_PATH@@
with an absolute path to the binary that needs to be signed and execute the command multiple times for each binary file.
Builds for an alternative target architecture on macOS
In the previous versions of Molybden, you could only build your app for the current CPU architecture or universal. Starting from Molybden 1.5.0, you can build your app for an alternative target architecture on macOS. For example, you can build your app for the Apple Silicon Mac (ARM4) on an Intel Mac (x64) and vice versa.
To build your app for the Apple Silicon Mac (ARM4), you run the following command:
npm run molybden build -- --arm64
To build your app for the Intel Mac (x64), run the following command:
npm run molybden build -- --x64
To build universal binaries that run on both Apple Silicon Mac (ARM4) and Intel Mac (x64), run the following command:
npm run molybden build -- --universal
Disabling window animation on macOS
By default, window animation is always enabled on macOS. You can disable it with the following API:
browser->setWindowAnimationEnabled(false);
Chromium 126.0.6478.57
We upgraded Chromium to a newer version, which introduces multiple security fixes:
- CVE-2024-5830: Type Confusion in V8
- CVE-2024-5831: Use after free in Dawn
- CVE-2024-5274: Type Confusion in V8
For the complete list of Chromium fixes and improvements in 126.0.6478.57
please visit the product blog posts for the following versions:
Enhancements
- Fixed occasional deadlocks when callbacks were heavily chained.
- Molybden resource patcher no longer triggers anti-malware software on Windows.
- The icon in the title bar of the app window is no longer blurry on Windows.
- The app package size on Windows is now smaller due to removing unnecessary debug symbols.
- Fixed a bug that caused build failure when the app name contained whitespace.
- Reduce the NPM package size on macOS by downloading platform-specific dependencies on demand.
How to upgrade
To install the latest version of Molybden in your project, run the following command:
npm install @molybden-apps/molybden@latest
What’s next
In the next Molybden versions, which will include compatibility with Mac App Store and extend the API with new features. Visit our product roadmap to see what’s coming next.
If you have any questions or feature requests, please feel free to join our Discord or contact us.