-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Apple Silicon Universal Support #5481
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With the introduction of --universal
as an arch, I think this will break as node-gyp won't understand universal
.
await this.installAppDependencies(platform, arch)
It can process --arch=all
, however, that doesn't work for me on Mac and it just produces the system's process.arch
.
$ electron-builder node-gyp-rebuild --arch universal
Rebuild own native code
Options:
--version Show version number [boolean]
--help Show help [boolean]
--platform The target platform
[choices: "linux", "darwin", "win32"] [default: "darwin"]
--arch The target arch
[choices: "ia32", "x64", "armv7l", "arm64", "all"] [default: "x64"]
Invalid values:
Argument: arch, Given: "universal", Choices: "ia32", "x64", "armv7l", "arm64", "all"
error Command failed with exit code 1.
[UPDATE]
I'm starting to think we should just add a property specific to the builder config, like below. Partly because the packager logic is too tied to a specific architecture, and "universal" is technically not an architecture, but rather just combining/stitching assets into a fat binary.
mac: {
identity: <non-null>,
universal: true,
target: {
target: 'dir',
arch: [
'arm64',
'x64',
]
},
In taking this approach, the target
field corresponds directly to an arch AND signs it. universal
just validates that both arm64 and x64 are built, but doesn't force each individually to get signed, only the final fat app.
I have a better idea for this. Why don’t we introduce an option in build config. Something like I also agree with @mmaietta that universal binaries are only useful for initial downloads. For updates, If you go with this design, it will be much simpler as only need to add a hook to run after arch-specific builds are ready. |
Perhaps a hook over here? https://github.com/electron-userland/electron-builder/blob/master/packages/app-builder-lib/src/packager.ts#L442 |
@quanglam2807 @mmaietta to get on the same page on this, there aren't apps out there shipping universal bits and then upgrading to a platform specific version. Download and update any universal app, run an update and the result will be universal. With the approach you describe the platform specific targets would need to be signed, notarized and published (on GitHub Releases) which would make CI pipelines more fragile and add complexity (now there are three targets for users to choose from instead of two, users at different stages might rund a different variants of the app). I'm not trying to argue which sets of pros and cons are preferable, more "only ever ship universal" is how it seems to be done by pretty much all app vendors so the goal is to optimize for this model. |
What would this hook do? Create another MacPackager that doesn't run |
Thanks so much for tackling this @lutzroeder! The work is fantastic and covers almost all the use cases. The main issue lies with native modules as electron-builder/packages/app-builder-lib/src/platformPackager.ts Lines 161 to 162 in 70708a4
Would you mind giving that a try? Installing sqlite3 or leveldown on electron-quick-start should create a simple env to test in. I think long-term, it could be useful for each already-instantiated |
@mmaietta updated to call
|
Nice! Those logs look perfect. For the interim, I think this is a good way to approach it without very large changes for a single hook. A larger refactor without an explicit need for a post-all-packed hook is just asking for bugs to be created. I'm still wary of the "universal" as its own arch as anyone building all 3 archs (x64, arm64, universal) with native addons rebuilding may take a very long time. Oh well 😅 I gave it a whirl locally and it works perfect on the first run. lipo results:
It does throw an error on subsequent builds that is an easy fix:
Just need to add The only remaining step AFAICT is to get this working with the electron-builder config so that this works:
|
This config gives |
Yep! You'll need to update the scheme.json. Just gotta add Now, how can we fix that test? |
That should probably be a separate PR as it happens for blank PRs like #5488 as well. We should fix the test first and merge vs. including it in this PR which has higher risk to be reverted. Can you have a look? |
Your tests pass here!
I feel like something is wrong with the build node as these results are way too inconsistent. [UPDATE] |
Thank you so much, @lutzroeder. I'm so excited for this. I just realize Mac App Store only accepts a single |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fantastic work @lutzroeder! 🎉
I think we should also merge these for the prerelease cut: @lutzroeder I, unfortunately, don't have merge permissions for this project. It'd be awesome if I did though! |
Quick follow up, can you please update this PR's Also, @lutzroeder I've pushed a "PreRelease" branch to my fork containing multiple fixes from open PRs we've worked on (dmg, universal, signing, unit tests). Feel free to generate patch files from it to use for the interim. Just compile, link, and use rsync to migrate all the files so you can run |
Thanks for your work, you are awesome :) I cannot merge #5488 since not clear for me, is it safe just revert or it is possible just add required patterns to auto sign (#5488 (comment)). |
@mmaietta ran |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
I have no idea in terms of a release 😅 In terms of patch package for tracking latest master, here's how I've done it:
Step 2 in your project:
If you hit a permission issue during A doc page for that above would probably be best in the |
|
@lutzroeder EB provides an For building universal, we need to provide 2 different paths, one for each arch. However, |
@quanglam2807 what is causing them to be different? |
We generate app.asar for each arch-specific build separately so they're different files with different SHAs. |
@quanglam2807 do the |
Follow-up #5495 |
We generate x64 & arm64 builds separately before merging them together. So for each arch, we generate different app.asar file. These files are identical in contents, but could have different SHA because they differ in metadata (eg date created). So in this case, we can opt to remove AsarIntegrity from Info.plist. Or we can unify the app.asar process for universal build. |
@quanglam2807 do you have a repro project or is there some extra logging that needs to be enabled? I've been running with 20.10.4, pushed a release and haven't seen this error. |
@lutzroeder You can clone this repo: https://github.com/webcatalog/translatium Then remove the patch: |
protected async doPack(outDir: string, appOutDir: string, platformName: ElectronPlatformName, arch: Arch, platformSpecificBuildOptions: MacConfiguration, targets: Array<Target>): Promise<any> { | ||
switch (arch) { | ||
default: { | ||
return super.doPack(outDir, appOutDir, this.platform.nodeName as ElectronPlatformName, arch, this.platformSpecificBuildOptions, targets); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @lutzroeder,
Thank you for the universal support.
Why do you overwrite platformName
and platformSpecificBuildOptions
instead of passing arguments directly? It breaks mas builds.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch. Can you create an issue for tracking, link #5511 and review the change?
Does this PR take into account Because when I switch from the
I'm under Mojave. |
@fabiospampinato see #5504 which is not included in a preview build yet and #5495. |
@lutzroeder Would that probably address my issue? 🤔 I can get a universal build of the app, but I can't get the dmg and accessory files. Seeing as an error, possibly related to packing the app, got thrown at build time I'm not sure #5504 would address my issue. |
Summary: allow-large-files Bumps [app-builder-lib](https://github.com/electron-userland/electron-builder) from 22.9.1 to 22.10.5. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/electron-userland/electron-builder/releases">app-builder-lib's releases</a>.</em></p> <blockquote> <h2>22.10.5</h2> <p>We have a new maintainer — welcome Mike Maietta (<a href="https://github.com/mmaietta"><code>@mmaietta</code></a>)!</p> <p><strong>electron-updater</strong> 4.3.8 contains fix for <a href="https://github.com/electron-userland/electron-builder/issues/5595">#5595</a>. This version is a pre-release.</p> <h3>Bug Fixes</h3> <ul> <li>Look for the Amazon cred header to remove auth header (<a href="https://github.com/electron-userland/electron-builder/issues/5594">#5594</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/46a8840bb4b3ed9b81ac65d3351debc4e34f30ce">46a8840</a>)</li> <li><strong>mac:</strong> fix "Contents/Info.plist" don't have identical SHAs when creating a universal build (<a href="https://github.com/electron-userland/electron-builder/issues/5550">#5550</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/0ba839b72b6a13178ad5bc4b03a47f9aca980650">0ba839b</a>)</li> <li>updating nsis script to properly identify arm64 vs x64 vs ia32 package files within universal installers. (<a href="https://github.com/electron-userland/electron-builder/issues/5558">#5558</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/60f7fe367c54f7c1274e2628534f43cb9a93fcf6">60f7fe3</a>)</li> <li><strong>mac:</strong> Allow arm64 macs to update to x64 version if no arm64 version available (<a href="https://github.com/electron-userland/electron-builder/issues/5524">#5524</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/dc5c2f8e772da4a9e6f1cf9578c70f60ddc36b37">dc5c2f8</a>)</li> <li><strong>mac:</strong> Pass platformName and options in doPack (<a href="https://github.com/electron-userland/electron-builder/issues/5511">#5511</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/f78e3f48d7cde71fd52fe1024c114bbe23f83562">f78e3f4</a>)</li> <li><strong>mac:</strong> Workaround for hdiutil randomly failing (<a href="https://github.com/electron-userland/electron-builder/issues/5431">#5431</a>) (<a href="https://github.com/electron-userland/electron-builder/issues/5464">#5464</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/53270cfe4eb2de1ac55e4b281c2c53483d4d1f2e">53270cf</a>)</li> <li>binary detection signing (<a href="https://github.com/electron-userland/electron-builder/issues/5493">#5493</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/a6e86b593048b4eb3047b7c3a54d02d0521b02d2">a6e86b5</a>), closes <a href="https://github.com/electron-userland/electron-builder/issues/5465">#5465</a></li> <li>ci-tests (<a href="https://github.com/electron-userland/electron-builder/issues/5523">#5523</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/ced6e50b93c621de5de07838205d739010e2526b">ced6e50</a>)</li> </ul> <h3>Features</h3> <ul> <li><strong>electron-updater:</strong> follow <code>autoInstallOnAppQuit = false</code> on macOS (<a href="https://github.com/electron-userland/electron-builder/issues/5271">#5271</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/1643d569600a197858585e895e3176948d3eec85">1643d56</a>)</li> <li>add support for executableName to non-Linux Platforms (<a href="https://github.com/electron-userland/electron-builder/issues/5409">#5409</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/106b68010f2daa0fb7d370c889b4a5494fa2887f">106b680</a>)</li> <li>Custom electronDist callback (<a href="https://github.com/electron-userland/electron-builder/issues/5527">#5527</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/4f4e0187715a57a358ab8ccfefef3fd0f8186584">4f4e018</a>)</li> <li>macOS default architecture (<a href="https://github.com/electron-userland/electron-builder/issues/5495">#5495</a>) (<a href="https://github.com/electron-userland/electron-builder/issues/5504">#5504</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/5203d7eb15726605e8987aeed7a5ccedc8152e04">5203d7e</a>)</li> </ul> <h2>22.10.4</h2> <h3>Bug Fixes</h3> <ul> <li>CI unit tests (<a href="https://github.com/electron-userland/electron-builder/issues/5489">#5489</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/637334ddbadebf503a45f79adf0b481fcba98679">637334d</a>)</li> </ul> <h3>Features</h3> <ul> <li>Apple Silicon Universal Support (<a href="https://github.com/electron-userland/electron-builder/issues/5481">#5481</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/ca20151c3416324d2413f451dea0c9e3853bab79">ca20151</a>)</li> <li><strong>mas:</strong> Apple Silicon support (<a href="https://github.com/electron-userland/electron-builder/issues/5484">#5484</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/6b7d30555d8f88a3a908a25adb3e8836ccdf5bc8">6b7d305</a>)</li> </ul> <h3>Reverts</h3> <ul> <li>Revert "fix: codesign all binary-like files (<a href="https://github.com/electron-userland/electron-builder/issues/5322">#5322</a>)" (<a href="https://github.com/electron-userland/electron-builder/issues/5488">#5488</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/026227888f8c537855abf6d6aa2141a692a6bc8e">0262278</a>), closes <a href="https://github.com/electron-userland/electron-builder/issues/5322">#5322</a> <a href="https://github.com/electron-userland/electron-builder/issues/5488">#5488</a></li> </ul> <h2>22.10.3</h2> <h3>Bug Fixes</h3> <ul> <li>signing of playwright (<a href="https://github.com/electron-userland/electron-builder/issues/5451">#5451</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/50750683b11d5670a182bd72f7cab14023e2b030">5075068</a>)</li> <li><strong>dmg:</strong> new version of mac_alias (<a href="https://github.com/electron-userland/electron-builder/issues/5460">#5460</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/a8acb583bc3c6fb1ff0dca2f07d1eefa26b1780a">a8acb58</a>)</li> <li>compiler error and test updates (<a href="https://github.com/electron-userland/electron-builder/issues/5449">#5449</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/0dec1b8c198f1f9ca0124649883945ba561d11d3">0dec1b8</a>)</li> <li><strong>AppImage:</strong> Add default argument --no-sandbox (<a href="https://github.com/electron-userland/electron-builder/issues/4496">#4496</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/ede6d50ddb6c23fe6bbb056bd80509c8f2ea0116">ede6d50</a>)</li> <li><strong>linux:</strong> Linux icon is not set if path is not explicitly defined in config (<a href="https://github.com/electron-userland/electron-builder/issues/5385">#5385</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/9fd950bc046ca1748950f63894993947da8185c5">9fd950b</a>)</li> <li><strong>nsis:</strong> cs locale typos in messages (<a href="https://github.com/electron-userland/electron-builder/issues/5358">#5358</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/0fb69b5d11e5c8aa707b7af709a0ab52f5019a9f">0fb69b5</a>)</li> <li>codesign all binary-like files (<a href="https://github.com/electron-userland/electron-builder/issues/5322">#5322</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/27ea1b2b9ce47a234e82772e09adf0bc7931e0df">27ea1b2</a>)</li> </ul> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/electron-userland/electron-builder/commit/79940292bdd1a5de45b33453be492ea67529434b"><code>7994029</code></a> Cannot read property 'log' of undefined (<a href="https://github.com/electron-userland/electron-builder/issues/5622">#5622</a>)</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/1643d569600a197858585e895e3176948d3eec85"><code>1643d56</code></a> feat(electron-updater): follow <code>autoInstallOnAppQuit = false</code> on macOS (<a href="https://github.com/electron-userland/electron-builder/issues/5271">#5271</a>)</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/0360cd1705c7deab2e07f2a9abf8cdb652f945ff"><code>0360cd1</code></a> chore(build-utils): remove unreachable useless statement in createMessage (<a href="https://github.com/electron-userland/electron-builder/issues/5">https://github.com/facebook/flipper/issues/5</a>...</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/c348e318ce6e9a1d67febe40003aeb6badedea8f"><code>c348e31</code></a> Add "open" guard for AsarUtil to fix concurrent builds (<a href="https://github.com/electron-userland/electron-builder/issues/5567">#5567</a>)</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/11aa06c701a2ff091139a8bf8277151f7172efbb"><code>11aa06c</code></a> Detect CI tag for Bitbucket pipelines</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/8decc1867428ef532e81466e239a8b3ad04e4d9c"><code>8decc18</code></a> (fix) master branch depCheck + tests (<a href="https://github.com/electron-userland/electron-builder/issues/5630">#5630</a>)</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/46a8840bb4b3ed9b81ac65d3351debc4e34f30ce"><code>46a8840</code></a> fix: Look for the Amazon cred header to remove auth header (<a href="https://github.com/electron-userland/electron-builder/issues/5594">#5594</a>)</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/0ba839b72b6a13178ad5bc4b03a47f9aca980650"><code>0ba839b</code></a> fix(mac): fix "Contents/Info.plist" don't have identical SHAs when creating a...</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/60f7fe367c54f7c1274e2628534f43cb9a93fcf6"><code>60f7fe3</code></a> fix: updating nsis script to properly identify arm64 vs x64 vs ia32 package f...</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/5de0db981d069584933e88781a41a411e87ff1cd"><code>5de0db9</code></a> chore: lint</li> <li>Additional commits viewable in <a href="https://github.com/electron-userland/electron-builder/compare/v22.9.1...v22.10.5">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=app-builder-lib&package-manager=npm_and_yarn&previous-version=22.9.1&new-version=22.10.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `dependabot rebase` will rebase this PR - `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `dependabot merge` will merge this PR after your CI passes on it - `dependabot squash and merge` will squash and merge this PR after your CI passes on it - `dependabot cancel merge` will cancel a previously requested merge and block automerging - `dependabot reopen` will reopen this PR if it is closed - `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Pull Request resolved: #2072 Reviewed By: passy Differential Revision: D27230105 Pulled By: priteshrnandgaonkar fbshipit-source-id: e53e942319a15d982797f7ce3af128a8b25b357f
Summary: Bumps [electron-builder](https://github.com/electron-userland/electron-builder) from 22.9.1 to 22.10.5. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/electron-userland/electron-builder/releases">electron-builder's releases</a>.</em></p> <blockquote> <h2>22.10.5</h2> <p>We have a new maintainer — welcome Mike Maietta (<a href="https://github.com/mmaietta"><code>@mmaietta</code></a>)!</p> <p><strong>electron-updater</strong> 4.3.8 contains fix for <a href="https://github.com/electron-userland/electron-builder/issues/5595">#5595</a>. This version is a pre-release.</p> <h3>Bug Fixes</h3> <ul> <li>Look for the Amazon cred header to remove auth header (<a href="https://github.com/electron-userland/electron-builder/issues/5594">#5594</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/46a8840bb4b3ed9b81ac65d3351debc4e34f30ce">46a8840</a>)</li> <li><strong>mac:</strong> fix "Contents/Info.plist" don't have identical SHAs when creating a universal build (<a href="https://github.com/electron-userland/electron-builder/issues/5550">#5550</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/0ba839b72b6a13178ad5bc4b03a47f9aca980650">0ba839b</a>)</li> <li>updating nsis script to properly identify arm64 vs x64 vs ia32 package files within universal installers. (<a href="https://github.com/electron-userland/electron-builder/issues/5558">#5558</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/60f7fe367c54f7c1274e2628534f43cb9a93fcf6">60f7fe3</a>)</li> <li><strong>mac:</strong> Allow arm64 macs to update to x64 version if no arm64 version available (<a href="https://github.com/electron-userland/electron-builder/issues/5524">#5524</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/dc5c2f8e772da4a9e6f1cf9578c70f60ddc36b37">dc5c2f8</a>)</li> <li><strong>mac:</strong> Pass platformName and options in doPack (<a href="https://github.com/electron-userland/electron-builder/issues/5511">#5511</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/f78e3f48d7cde71fd52fe1024c114bbe23f83562">f78e3f4</a>)</li> <li><strong>mac:</strong> Workaround for hdiutil randomly failing (<a href="https://github.com/electron-userland/electron-builder/issues/5431">#5431</a>) (<a href="https://github.com/electron-userland/electron-builder/issues/5464">#5464</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/53270cfe4eb2de1ac55e4b281c2c53483d4d1f2e">53270cf</a>)</li> <li>binary detection signing (<a href="https://github.com/electron-userland/electron-builder/issues/5493">#5493</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/a6e86b593048b4eb3047b7c3a54d02d0521b02d2">a6e86b5</a>), closes <a href="https://github.com/electron-userland/electron-builder/issues/5465">#5465</a></li> <li>ci-tests (<a href="https://github.com/electron-userland/electron-builder/issues/5523">#5523</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/ced6e50b93c621de5de07838205d739010e2526b">ced6e50</a>)</li> </ul> <h3>Features</h3> <ul> <li><strong>electron-updater:</strong> follow <code>autoInstallOnAppQuit = false</code> on macOS (<a href="https://github.com/electron-userland/electron-builder/issues/5271">#5271</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/1643d569600a197858585e895e3176948d3eec85">1643d56</a>)</li> <li>add support for executableName to non-Linux Platforms (<a href="https://github.com/electron-userland/electron-builder/issues/5409">#5409</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/106b68010f2daa0fb7d370c889b4a5494fa2887f">106b680</a>)</li> <li>Custom electronDist callback (<a href="https://github.com/electron-userland/electron-builder/issues/5527">#5527</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/4f4e0187715a57a358ab8ccfefef3fd0f8186584">4f4e018</a>)</li> <li>macOS default architecture (<a href="https://github.com/electron-userland/electron-builder/issues/5495">#5495</a>) (<a href="https://github.com/electron-userland/electron-builder/issues/5504">#5504</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/5203d7eb15726605e8987aeed7a5ccedc8152e04">5203d7e</a>)</li> </ul> <h2>22.10.4</h2> <h3>Bug Fixes</h3> <ul> <li>CI unit tests (<a href="https://github.com/electron-userland/electron-builder/issues/5489">#5489</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/637334ddbadebf503a45f79adf0b481fcba98679">637334d</a>)</li> </ul> <h3>Features</h3> <ul> <li>Apple Silicon Universal Support (<a href="https://github.com/electron-userland/electron-builder/issues/5481">#5481</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/ca20151c3416324d2413f451dea0c9e3853bab79">ca20151</a>)</li> <li><strong>mas:</strong> Apple Silicon support (<a href="https://github.com/electron-userland/electron-builder/issues/5484">#5484</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/6b7d30555d8f88a3a908a25adb3e8836ccdf5bc8">6b7d305</a>)</li> </ul> <h3>Reverts</h3> <ul> <li>Revert "fix: codesign all binary-like files (<a href="https://github.com/electron-userland/electron-builder/issues/5322">#5322</a>)" (<a href="https://github.com/electron-userland/electron-builder/issues/5488">#5488</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/026227888f8c537855abf6d6aa2141a692a6bc8e">0262278</a>), closes <a href="https://github.com/electron-userland/electron-builder/issues/5322">#5322</a> <a href="https://github.com/electron-userland/electron-builder/issues/5488">#5488</a></li> </ul> <h2>22.10.3</h2> <h3>Bug Fixes</h3> <ul> <li>signing of playwright (<a href="https://github.com/electron-userland/electron-builder/issues/5451">#5451</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/50750683b11d5670a182bd72f7cab14023e2b030">5075068</a>)</li> <li><strong>dmg:</strong> new version of mac_alias (<a href="https://github.com/electron-userland/electron-builder/issues/5460">#5460</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/a8acb583bc3c6fb1ff0dca2f07d1eefa26b1780a">a8acb58</a>)</li> <li>compiler error and test updates (<a href="https://github.com/electron-userland/electron-builder/issues/5449">#5449</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/0dec1b8c198f1f9ca0124649883945ba561d11d3">0dec1b8</a>)</li> <li><strong>AppImage:</strong> Add default argument --no-sandbox (<a href="https://github.com/electron-userland/electron-builder/issues/4496">#4496</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/ede6d50ddb6c23fe6bbb056bd80509c8f2ea0116">ede6d50</a>)</li> <li><strong>linux:</strong> Linux icon is not set if path is not explicitly defined in config (<a href="https://github.com/electron-userland/electron-builder/issues/5385">#5385</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/9fd950bc046ca1748950f63894993947da8185c5">9fd950b</a>)</li> <li><strong>nsis:</strong> cs locale typos in messages (<a href="https://github.com/electron-userland/electron-builder/issues/5358">#5358</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/0fb69b5d11e5c8aa707b7af709a0ab52f5019a9f">0fb69b5</a>)</li> <li>codesign all binary-like files (<a href="https://github.com/electron-userland/electron-builder/issues/5322">#5322</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/27ea1b2b9ce47a234e82772e09adf0bc7931e0df">27ea1b2</a>)</li> </ul> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/electron-userland/electron-builder/commit/79940292bdd1a5de45b33453be492ea67529434b"><code>7994029</code></a> Cannot read property 'log' of undefined (<a href="https://github.com/electron-userland/electron-builder/issues/5622">#5622</a>)</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/1643d569600a197858585e895e3176948d3eec85"><code>1643d56</code></a> feat(electron-updater): follow <code>autoInstallOnAppQuit = false</code> on macOS (<a href="https://github.com/electron-userland/electron-builder/issues/5271">#5271</a>)</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/0360cd1705c7deab2e07f2a9abf8cdb652f945ff"><code>0360cd1</code></a> chore(build-utils): remove unreachable useless statement in createMessage (<a href="https://github.com/electron-userland/electron-builder/issues/5">https://github.com/facebook/flipper/issues/5</a>...</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/c348e318ce6e9a1d67febe40003aeb6badedea8f"><code>c348e31</code></a> Add "open" guard for AsarUtil to fix concurrent builds (<a href="https://github.com/electron-userland/electron-builder/issues/5567">#5567</a>)</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/11aa06c701a2ff091139a8bf8277151f7172efbb"><code>11aa06c</code></a> Detect CI tag for Bitbucket pipelines</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/8decc1867428ef532e81466e239a8b3ad04e4d9c"><code>8decc18</code></a> (fix) master branch depCheck + tests (<a href="https://github.com/electron-userland/electron-builder/issues/5630">#5630</a>)</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/46a8840bb4b3ed9b81ac65d3351debc4e34f30ce"><code>46a8840</code></a> fix: Look for the Amazon cred header to remove auth header (<a href="https://github.com/electron-userland/electron-builder/issues/5594">#5594</a>)</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/0ba839b72b6a13178ad5bc4b03a47f9aca980650"><code>0ba839b</code></a> fix(mac): fix "Contents/Info.plist" don't have identical SHAs when creating a...</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/60f7fe367c54f7c1274e2628534f43cb9a93fcf6"><code>60f7fe3</code></a> fix: updating nsis script to properly identify arm64 vs x64 vs ia32 package f...</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/5de0db981d069584933e88781a41a411e87ff1cd"><code>5de0db9</code></a> chore: lint</li> <li>Additional commits viewable in <a href="https://github.com/electron-userland/electron-builder/compare/v22.9.1...v22.10.5">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=electron-builder&package-manager=npm_and_yarn&previous-version=22.9.1&new-version=22.10.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `dependabot rebase` will rebase this PR - `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `dependabot merge` will merge this PR after your CI passes on it - `dependabot squash and merge` will squash and merge this PR after your CI passes on it - `dependabot cancel merge` will cancel a previously requested merge and block automerging - `dependabot reopen` will reopen this PR if it is closed - `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Pull Request resolved: #2068 Reviewed By: passy Differential Revision: D27230125 Pulled By: priteshrnandgaonkar fbshipit-source-id: 775e8d532b0516bf485b95e7057544d1d5a91e59
#5475
@mmaietta