MarshallOfSound

#51584: build: update squirrel.mac to 8d808803, drop upstreamed patches

Merged
Created: May 11, 2026, 9:36:02 AM
Merged: May 12, 2026, 10:07:38 PM
5 comments
Target: main

Description

Bumps squirrel.mac from 0e5d146ba1 to 8d808803bc (latest main)
and removes 14 of our 15 patches — all of which have been upstreamed into
Squirrel/Squirrel.Mac.

Patches removed

Electron patch Upstreamed in
feat_add_new_squirrel_mac_bundle_installation_method_behind_flag Squirrel/Squirrel.Mac#312
fix_abort_installation_attempt_at_the_final_mile_if_the_app_is Squirrel/Squirrel.Mac#312
fix_resolve_target_bundle_path_once_at_start_of_install Squirrel/Squirrel.Mac#312
feat_add_ability_to_prevent_version_downgrades Squirrel/Squirrel.Mac#312
refactor_use_posix_spawn_instead_of_nstask_so_we_can_disclaim_the Squirrel/Squirrel.Mac#312
fix_trigger_shipit_mach_service_after_smjobsubmit_to_unblock Squirrel/Squirrel.Mac#312
chore_turn_off_launchapplicationaturl_deprecation_errors_in_squirrel Squirrel/Squirrel.Mac#312
refactor_use_non-deprecated_nskeyedarchiver_apis Squirrel/Squirrel.Mac#312
fix_clean_up_orphaned_staged_updates_before_downloading_new_update Squirrel/Squirrel.Mac#312
fix_add_explicit_json_property_mappings_for_shipit_request_model Squirrel/Squirrel.Mac#312
fix_use_kseccschecknestedcode_kseccsstrictvalidate_in_the_sec Squirrel/Squirrel.Mac#302
fix_crash_when_process_to_extract_zip_cannot_be_launched Squirrel/Squirrel.Mac#308
fix_ensure_that_self_is_retained_until_the_racsignal_is_complete Squirrel/Squirrel.Mac#312
use_uttype_class_instead_of_deprecated_uttypeconformsto (not upstreamed — see below)

The use_uttype_class_instead_of_deprecated_uttypeconformsto patch is
dropped without an upstream equivalent. It was added in the Chromium 139
bump (#47348) when mac_deployment_target moved to 12.0 and
squirrel_framework did not yet carry -Wno-deprecated-declarations.
That flag was added later in #38437, making the patch a no-op — verified
by building squirrel_framework against the new pin (which still uses
UTTypeConformsTo).

Patch kept

build_add_gn_config.patch — slimmed down. Squirrel/Squirrel.Mac#298
upstreamed the ReactiveCocoaReactiveObjC import renames the patch
was carrying, so it now only adds BUILD.gn, filenames.gni,
build/xcrun.gni, build/xcrun.py, and the .gitignore tweaks for the
DEPS-managed vendor/ checkouts. It no longer touches any .m/.h
source files.

Notable upstream changes pulled in by the bump

Checklist

  • script/lint.js --patches passes
  • gn gen succeeds
  • squirrel_framework, squirrel_shipit, stripped_squirrel_framework
    build cleanly

Notes: Updated the Squirrel.Mac autoUpdater backend on macOS to pick up upstream fixes, including correct version-string validation when downgrade prevention is enabled, fixes for stale launcher errors persisting across update checks, and forwarding of custom download request headers.

Backports

No Backports Requested

This pull request doesn't have any backports requested or created for older release branches.

What are backports?

Backports are copies of changes made to the main branch that are applied to older release branches. They ensure that bug fixes and important changes are available in maintained older versions of Electron.

Semver Impact

Major
Breaking changes
Minor
New features
Patch
Bug fixes
None
Docs, tests, etc.

Semantic Versioning helps users understand the impact of updates:

  • Major (X.y.z): Breaking changes that may require code modifications
  • Minor (x.Y.z): New features that maintain backward compatibility
  • Patch (x.y.Z): Bug fixes that don't change the API
  • None: Changes that don't affect using facing parts of Electron