From ceeae87d0025fec8dd00b0f91835d080bec5ef22 Mon Sep 17 00:00:00 2001 From: celenity Date: Mon, 6 Jul 2026 00:50:48 +0000 Subject: [PATCH] feat: Patch formatting Applies consistent formatting and naming to patches Signed-off-by: celenity --- patches/a-c-allow-build-date-override.patch | 13 +- ...w-ubo-in-private-browsing-by-default.patch | 11 +- ...a-c-configure-default-search-engines.patch | 11 +- patches/a-c-disable-amo-collections.patch | 11 +- patches/a-c-disable-crash-reporting.patch | 10 + ...disable-unsolicited-favicon-fetching.patch | 10 + patches/a-c-display-builtin-addons.patch | 10 + ...in-addons-to-access-private-browsing.patch | 10 + patches/a-c-ironfox-oled-theme.patch | 13 +- patches/a-c-liberate-error-support.patch | 10 + patches/a-c-liberate-glean.patch | 10 + patches/a-c-liberate-nimbus.patch | 10 + patches/a-c-liberate.patch | 10 + ...a-s-configure-default-search-engines.patch | 10 + ...-nimbus.patch => a-s-disable-nimbus.patch} | 10 + patches/a-s-liberate-error-support.patch | 10 + patches/a-s-liberate-glean.patch | 10 + patches/a-s-liberate.patch | 10 + patches/a-s-localize-maven.patch | 10 + patches/a-s-remove-dumps.patch | 10 + patches/a-s-rs-blocker.patch | 10 + ...ch => fenix-configure-doh-providers.patch} | 10 + patches/fenix-configure-geckoprovider.patch | 10 + patches/fenix-control-autofill-gecko.patch | 10 + .../fenix-control-password-mgr-gecko.patch | 11 + patches/fenix-disable-cfrs.patch | 4 +- patches/fenix-disable-contile.patch | 4 +- patches/fenix-disable-crash-reporting.patch | 4 +- patches/fenix-disable-firefox-suggest.patch | 4 +- patches/fenix-disable-gms-fonts.patch | 8 +- ...able-network-connectivity-monitoring.patch | 10 + patches/fenix-disable-nimbus.patch | 4 +- patches/fenix-disable-pocket.patch | 10 + patches/fenix-disable-profiling.patch | 10 + .../fenix-disable-sync-avatar-fetching.patch | 10 + ...enix-disable-sync-engines-by-default.patch | 4 +- patches/fenix-disable-telemetry.patch | 4 +- ...ookie-banner-ui-in-standard-browsing.patch | 10 + patches/fenix-enable-encrypted-storage.patch | 10 + patches/fenix-enable-memory-tagging.patch | 10 + ...ide-remove-and-pb-for-builtin-addons.patch | 8 + patches/fenix-increase-update-frequency.patch | 11 + patches/fenix-ironfox-branding.patch | 10 + patches/fenix-ironfox-core.patch | 4 +- patches/fenix-ironfox-oled-theme.patch | 19 +- patches/fenix-ironfox-onboarding.patch | 4 +- patches/fenix-ironfox-settings-search.patch | 4 +- ...tings-support-accessibility-services.patch | 10 + ...ironfox-settings-support-collections.patch | 4 +- ...x-ironfox-settings-support-pb-always.patch | 10 + ...ronfox-settings-support-translations.patch | 10 + ...x-ironfox-settings-support-xpinstall.patch | 4 +- patches/fenix-ironfox-settings.patch | 4 +- patches/fenix-ironfox-ui.patch | 10 + patches/fenix-liberate-adjust.patch | 10 + patches/fenix-liberate-firebase.patch | 10 + patches/fenix-liberate-glean.patch | 5 +- patches/fenix-liberate-mars.patch | 10 + patches/fenix-liberate-play-integrity.patch | 10 + patches/fenix-liberate-play-review.patch | 10 + patches/fenix-liberate-sentry.patch | 10 + .../fenix-liberate-webcompat-reporter.patch | 10 + patches/fenix-liberate.patch | 4 +- patches/fenix-local-wallpapers.patch | 4 +- ...s.patch => fenix-remove-ai-controls.patch} | 4 +- .../fenix-remove-sync-promo-bookmarks.patch | 10 + .../fenix-remove-sync-promo-settings.patch | 10 + ...nix-sanitize-data-on-exit-by-default.patch | 4 +- .../fenix-secret-settings-visibility.patch | 10 + patches/fenix-site-settings-visibility.patch | 10 + ...cking-protection-settings-visibility.patch | 10 + patches/gecko-autoconfig-setenv.patch | 10 + patches/gecko-certificate-pinning.patch | 10 + patches/gecko-configure-ublock-origin.patch | 10 + patches/gecko-devtools-bypass.patch | 10 + patches/gecko-disable-network-id.patch | 10 + patches/gecko-disable-nimbus.patch | 10 + patches/gecko-disable-telemetry.patch | 4 +- patches/gecko-enable-aboutinference.patch | 10 + patches/gecko-enable-abouttranslations.patch | 10 + .../gecko-ensure-builds-reflect-changes.patch | 10 + patches/gecko-expose-about-pages.patch | 10 + patches/gecko-expose-aboutsupport-prefs.patch | 10 + ...-expose-hidden-aboutsupport-settings.patch | 10 + patches/gecko-fix-canvas-randomization.patch | 14 +- patches/gecko-gradle-project-resolution.patch | 10 + patches/gecko-harden-pdfjs.patch | 10 + patches/gecko-ironfox-branding.patch | 10 + patches/gecko-ironfox-core.patch | 4 +- ...-fingerprinting-protection-overrides.patch | 10 + ...settings-support-extension-blocklist.patch | 10 + ...gecko-ironfox-settings-support-webgl.patch | 13 +- ...o-ironfox-settings-support-xpinstall.patch | 10 + patches/gecko-ironfox-settings.patch | 10 + patches/gecko-pref-handling.patch | 10 + ...posing-name-and-vendor-to-extensions.patch | 11 + ...sions-from-changing-browser-settings.patch | 8 + ...-fingerprinting-via-chrome-resources.patch | 10 + ...t-fingerprinting-via-crash-resources.patch | 10 + ...gecko-prevent-fingerprinting-via-eme.patch | 10 + patches/gecko-remove-aboutrestricted.patch | 10 + patches/gecko-remove-abouttelemetry.patch | 10 + patches/gecko-remove-clearkey.patch | 10 + patches/gecko-remove-openai.patch | 11 +- ...move-privileged-addon-signing-status.patch | 10 + .../gecko-remove-url-tracking-params.patch | 10 + patches/gecko-rs-blocker.patch | 10 + patches/gecko-stub-beacon.patch | 10 + patches/gecko-substitute-nimbus-fml.patch | 10 + ...installation-without-mozaddonmanager.patch | 11 + patches/gecko-support-autoconfig.patch | 10 + patches/gecko-support-native-manifests.patch | 10 + patches/gecko-support-policies.patch | 10 + ...rt-safe-browsing-download-protection.patch | 10 + .../geckoview-disable-crash-reporting.patch | 10 + ...able-network-connectivity-monitoring.patch | 10 + ...view-disable-speculative-connections.patch | 10 + patches/geckoview-liberate.patch | 10 + patches/geckoview-pref-handling.patch | 10 + ...iew-prioritize-cred-manager-over-gms.patch | 11 + ... => glean-gradle-project-resolution.patch} | 10 + patches/glean-localize-maven.patch | 10 + patches/glean-noop.patch | 10 + patches/glean-unbreak-geckoview-lite.patch | 10 + ...=> microg-gradle-project-resolution.patch} | 10 + scripts/a-s-patches.yaml | 28 +- scripts/glean-patches.yaml | 21 +- scripts/patches.yaml | 484 ++++++++++-------- scripts/prebuild-if.sh | 2 +- 129 files changed, 1333 insertions(+), 358 deletions(-) rename patches/{a-s-noop-nimbus.patch => a-s-disable-nimbus.patch} (91%) rename patches/{fenix-add-doh-providers.patch => fenix-configure-doh-providers.patch} (93%) rename patches/{fenix-disable-ai-controls.patch => fenix-remove-ai-controls.patch} (90%) rename patches/{glean-remove-example-dependencies.patch => glean-gradle-project-resolution.patch} (55%) rename patches/{microg-exclude-unused-dependencies.patch => microg-gradle-project-resolution.patch} (66%) diff --git a/patches/a-c-allow-build-date-override.patch b/patches/a-c-allow-build-date-override.patch index 29b4bffe..f541543f 100644 --- a/patches/a-c-allow-build-date-override.patch +++ b/patches/a-c-allow-build-date-override.patch @@ -1,13 +1,12 @@ -From 7a7b1a0060d89ddf1f705b0e179de6bc30b9197f Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Akash Yadav -Date: Sun, 18 May 2025 02:17:20 +0530 -Subject: [PATCH] fix: allow overriding build date using system env +Date: Sat, 17 May 2025 20:47:20 +0000 +Subject: [PATCH] Android Components - Allow overriding the build date + +Adds support for overriding the build date via the `IRONFOX_BUILD_DATE_OVERRIDE` environment variable. Signed-off-by: Akash Yadav --- - .../plugins/config/src/main/java/ConfigPlugin.kt | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - diff --git a/mobile/android/android-components/plugins/config/src/main/java/ConfigPlugin.kt b/mobile/android/android-components/plugins/config/src/main/java/ConfigPlugin.kt index f82613fdd6..cf55ee61b5 100644 --- a/mobile/android/android-components/plugins/config/src/main/java/ConfigPlugin.kt @@ -28,5 +27,3 @@ index f82613fdd6..cf55ee61b5 100644 Math.floor((build.time - cutoff.time) / (1000.0 * 60.0 * 60.0)).toInt() } -- -2.49.0 - diff --git a/patches/a-c-allow-ubo-in-private-browsing-by-default.patch b/patches/a-c-allow-ubo-in-private-browsing-by-default.patch index 2140922d..9b2005c0 100644 --- a/patches/a-c-allow-ubo-in-private-browsing-by-default.patch +++ b/patches/a-c-allow-ubo-in-private-browsing-by-default.patch @@ -1,13 +1,12 @@ -From 0c213750021f36e6907b13e7f4b0648d8f9c120d Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Tue, 10 Feb 2026 17:40:35 +0000 -Subject: [PATCH] fix: Allow uBlock Origin to run in private browsing windows by default +Subject: [PATCH] Android Components - Allow uBlock Origin in private browsing windows by default + +Allows uBlock Origin to run in private browsing windows by default. Signed-off-by: celenity --- - .../components/feature/addons/ui/PermissionsDialogFragment.kt | 4 ++++ - 1 file changed, 4 insertions(+) - diff --git a/mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/ui/PermissionsDialogFragment.kt b/mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/ui/PermissionsDialogFragment.kt index b40a8825fd941..db7309fc6b7cd 100644 --- a/mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/ui/PermissionsDialogFragment.kt @@ -24,5 +23,3 @@ index b40a8825fd941..db7309fc6b7cd 100644 onPositiveButtonClicked?.invoke( addon, -- -2.52.0 - diff --git a/patches/a-c-configure-default-search-engines.patch b/patches/a-c-configure-default-search-engines.patch index cc2db3c1..e9444218 100644 --- a/patches/a-c-configure-default-search-engines.patch +++ b/patches/a-c-configure-default-search-engines.patch @@ -1,13 +1,12 @@ -From be752a85556b6cc59c93bc560a7124ee7e519236 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Tue, 10 Feb 2026 17:43:13 +0000 -Subject: [PATCH] feat: Configure default search engines (Android Components) +Subject: [PATCH] Android Components - Configure default search engines + +Adds custom privacy-focused search engines. Signed-off-by: celenity --- - .../search/storage/SearchEngineReader.kt | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - diff --git a/mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/storage/SearchEngineReader.kt b/mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/storage/SearchEngineReader.kt index a18f612a94570..0c95c4d4a9990 100644 --- a/mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/storage/SearchEngineReader.kt @@ -39,5 +38,3 @@ index a18f612a94570..0c95c4d4a9990 100644 /** -- -2.52.0 - diff --git a/patches/a-c-disable-amo-collections.patch b/patches/a-c-disable-amo-collections.patch index ae4bc0ca..75150f37 100644 --- a/patches/a-c-disable-amo-collections.patch +++ b/patches/a-c-disable-amo-collections.patch @@ -1,13 +1,12 @@ -From 24639ff8f0808864a9b289f08ccb5c3a99e5095e Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Tue, 10 Feb 2026 17:47:31 +0000 -Subject: [PATCH] feat: Disable AMO featured collections/recommendations +Subject: [PATCH] Android Components - Disable AMO featured collections/recommendations + +Disables fetching featured collections, recommendations, and icons from AMO (addons.mozilla.org). Signed-off-by: celenity --- - .../java/mozilla/components/feature/addons/AddonManager.kt | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - diff --git a/mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/AddonManager.kt b/mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/AddonManager.kt index 0575b1166697e..49b888dc33218 100644 --- a/mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/AddonManager.kt @@ -40,5 +39,3 @@ index 0575b1166697e..49b888dc33218 100644 // Build a list of installed extensions that are not built-in extensions. val installedAddons = installedExtensions -- -2.52.0 - diff --git a/patches/a-c-disable-crash-reporting.patch b/patches/a-c-disable-crash-reporting.patch index 4d0126f9..c45b772a 100644 --- a/patches/a-c-disable-crash-reporting.patch +++ b/patches/a-c-disable-crash-reporting.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Android Components - Disable crash reporting + +Disables and prevents the collection/submission of crash reports. + +Signed-off-by: celenity +--- diff --git a/mobile/android/android-components/components/lib/crash/src/main/java/mozilla/components/lib/crash/CrashReporter.kt b/mobile/android/android-components/components/lib/crash/src/main/java/mozilla/components/lib/crash/CrashReporter.kt index 2b16913688f6e..c115de2c586a1 100644 --- a/mobile/android/android-components/components/lib/crash/src/main/java/mozilla/components/lib/crash/CrashReporter.kt @@ -255,3 +264,4 @@ index 93ec365f24be..1397755ffe22 100644 val logLevel: Log.Priority = Log.Priority.INFO, ) } +-- diff --git a/patches/a-c-disable-unsolicited-favicon-fetching.patch b/patches/a-c-disable-unsolicited-favicon-fetching.patch index b7c01ffe..76d1c2a8 100644 --- a/patches/a-c-disable-unsolicited-favicon-fetching.patch +++ b/patches/a-c-disable-unsolicited-favicon-fetching.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Android Components - Disable unsolicited favicon fetching + +Prevents Firefox from automatically fetching favicons for websites pinned to the browser homepage. + +Signed-off-by: celenity +--- diff --git a/mobile/android/android-components/components/browser/icons/src/main/java/mozilla/components/browser/icons/preparer/TippyTopIconPreparer.kt b/mobile/android/android-components/components/browser/icons/src/main/java/mozilla/components/browser/icons/preparer/TippyTopIconPreparer.kt index 3763da85adb5..ebcb11af8588 100644 --- a/mobile/android/android-components/components/browser/icons/src/main/java/mozilla/components/browser/icons/preparer/TippyTopIconPreparer.kt @@ -11,3 +20,4 @@ index 3763da85adb5..ebcb11af8588 100644 } else { request } +-- diff --git a/patches/a-c-display-builtin-addons.patch b/patches/a-c-display-builtin-addons.patch index 1624f1bf..2e85e0b3 100644 --- a/patches/a-c-display-builtin-addons.patch +++ b/patches/a-c-display-builtin-addons.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Android Components - Display built-in add-ons + +Displays built-in add-ons alongside user-installed ones. + +Signed-off-by: celenity +--- diff --git a/mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/AddonManager.kt b/mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/AddonManager.kt index 0575b1166697..6470f6a7f64d 100644 --- a/mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/AddonManager.kt @@ -11,3 +20,4 @@ index 0575b1166697..6470f6a7f64d 100644 .map { val extension = it.value val installedState = toInstalledState(extension) +-- diff --git a/patches/a-c-do-not-unconditionally-allow-builtin-addons-to-access-private-browsing.patch b/patches/a-c-do-not-unconditionally-allow-builtin-addons-to-access-private-browsing.patch index a2f46fae..7aeeb662 100644 --- a/patches/a-c-do-not-unconditionally-allow-builtin-addons-to-access-private-browsing.patch +++ b/patches/a-c-do-not-unconditionally-allow-builtin-addons-to-access-private-browsing.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Android Components - Do not allow built-in add-ons to access private browsing windows unconditionally + +Prevents built-in add-ons from always being able to access private browsing windows, even if they don't request or need access. + +Signed-off-by: celenity +--- diff --git a/mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/webextension/GeckoWebExtension.kt b/mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/webextension/GeckoWebExtension.kt index d7deea0907fe..d0fdbef0957d 100644 --- a/mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/webextension/GeckoWebExtension.kt @@ -11,3 +20,4 @@ index d7deea0907fe..d0fdbef0957d 100644 } override suspend fun loadIcon(size: Int): Bitmap? { +-- diff --git a/patches/a-c-ironfox-oled-theme.patch b/patches/a-c-ironfox-oled-theme.patch index e8632025..03be7ad1 100644 --- a/patches/a-c-ironfox-oled-theme.patch +++ b/patches/a-c-ironfox-oled-theme.patch @@ -1,13 +1,12 @@ -From 8228439299f2a275168665f41cc2992e10f591fb Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Akash Yadav -Date: Tue, 23 Dec 2025 13:43:01 +0530 -Subject: [PATCH] feat: IronFox OLED theme support +Date: Tue, 23 Dec 2025 08:13:01 +0000 +Subject: [PATCH] Android Components - OLED Theme + +Adds support for a true OLED black theme. Signed-off-by: Akash Yadav --- - .../java/mozilla/components/compose/base/theme/AcornColors.kt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - diff --git a/mobile/android/android-components/components/compose/base/src/main/java/mozilla/components/compose/base/theme/AcornColors.kt b/mobile/android/android-components/components/compose/base/src/main/java/mozilla/components/compose/base/theme/AcornColors.kt index 54b2352e3d7c..9df834523056 100644 --- a/mobile/android/android-components/components/compose/base/src/main/java/mozilla/components/compose/base/theme/AcornColors.kt @@ -22,5 +21,3 @@ index 54b2352e3d7c..9df834523056 100644 primaryContainer: Color, inversePrimary: Color, -- -2.53.0 - diff --git a/patches/a-c-liberate-error-support.patch b/patches/a-c-liberate-error-support.patch index 083cdcc3..ab154f80 100644 --- a/patches/a-c-liberate-error-support.patch +++ b/patches/a-c-liberate-error-support.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Android Components - Remove Error Support + +Removes the Rust 'Error Support' library. + +Signed-off-by: celenity +--- diff --git a/mobile/android/android-components/components/browser/storage-sync/build.gradle b/mobile/android/android-components/components/browser/storage-sync/build.gradle index 94e5a3956d3b..d5e7f0f481a0 100644 --- a/mobile/android/android-components/components/browser/storage-sync/build.gradle @@ -103,3 +112,4 @@ index 5a007933c75cf..df2d2e9a59f92 100644 implementation ComponentsDependencies.mozilla_remote_settings implementation libs.androidx.work.runtime implementation libs.kotlinx.serialization.json +-- diff --git a/patches/a-c-liberate-glean.patch b/patches/a-c-liberate-glean.patch index 3c668a66..736cb550 100644 --- a/patches/a-c-liberate-glean.patch +++ b/patches/a-c-liberate-glean.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Android Components - Remove Glean + +Removes the Glean SDK. + +Signed-off-by: celenity +--- diff --git a/mobile/android/android-components/components/service/nimbus/src/main/java/mozilla/components/service/nimbus/messaging/NimbusMessagingController.kt b/mobile/android/android-components/components/service/nimbus/src/main/java/mozilla/components/service/nimbus/messaging/NimbusMessagingController.kt index 7bb7ba269643..da28b1842c7a 100644 --- a/mobile/android/android-components/components/service/nimbus/src/main/java/mozilla/components/service/nimbus/messaging/NimbusMessagingController.kt @@ -25,3 +34,4 @@ index 7bb7ba269643..da28b1842c7a 100644 } private fun convertActionIntoDeepLinkSchemeUri(action: String): Uri = +-- diff --git a/patches/a-c-liberate-nimbus.patch b/patches/a-c-liberate-nimbus.patch index 50a3d20c..41695552 100644 --- a/patches/a-c-liberate-nimbus.patch +++ b/patches/a-c-liberate-nimbus.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Android Components - Remove Nimbus + +Removes the Nimbus library/service. + +Signed-off-by: celenity +--- diff --git a/mobile/android/android-components/components/browser/engine-gecko/build.gradle b/mobile/android/android-components/components/browser/engine-gecko/build.gradle index 8b57d01c4fc8..87e90956d26f 100644 --- a/mobile/android/android-components/components/browser/engine-gecko/build.gradle @@ -41,3 +50,4 @@ index 8b57d01c4fc8..87e90956d26f 100644 ext.configurePublish(config.componentsGroupId, project.name, project.ext.description) // Non-official versions are like "61.0a1", where "a1" is the milestone. +-- diff --git a/patches/a-c-liberate.patch b/patches/a-c-liberate.patch index cb88e3af..1641aa5b 100644 --- a/patches/a-c-liberate.patch +++ b/patches/a-c-liberate.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Android Components - Liberate + +Removes proprietary, tracking, and other unwanted libraries/functionality. + +Signed-off-by: celenity +--- diff --git a/mobile/android/gradle/plugins/conventions/src/main/java/org/mozilla/conventions/SettingsPlugin.kt b/mobile/android/gradle/plugins/conventions/src/main/java/org/mozilla/conventions/SettingsPlugin.kt index 207c5a1eaca6..a35e0e608df2 100644 --- a/mobile/android/gradle/plugins/conventions/src/main/java/org/mozilla/conventions/SettingsPlugin.kt @@ -11,3 +20,4 @@ index 207c5a1eaca6..a35e0e608df2 100644 } includeProjects(settings, buildConfig, baseDir, shouldIncludeProject) +-- diff --git a/patches/a-s-configure-default-search-engines.patch b/patches/a-s-configure-default-search-engines.patch index 9b585aaf..8a4c833d 100644 --- a/patches/a-s-configure-default-search-engines.patch +++ b/patches/a-s-configure-default-search-engines.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Tue, 10 Feb 2026 17:43:13 +0000 +Subject: [PATCH] Application Services - Custom search engines + +Adds custom privacy-focused search engines. + +Signed-off-by: celenity +--- diff --git a/components/remote_settings/src/client.rs b/components/remote_settings/src/client.rs index 047c6f126..e21a98e41 100644 --- a/components/remote_settings/src/client.rs @@ -52,3 +61,4 @@ index 047c6f126..e21a98e41 100644 ], ("main", "translations-wasm") => [ "4fd32605-9889-4dd9-9fc7-577ad1136746", +-- diff --git a/patches/a-s-noop-nimbus.patch b/patches/a-s-disable-nimbus.patch similarity index 91% rename from patches/a-s-noop-nimbus.patch rename to patches/a-s-disable-nimbus.patch index ed547818..e0c06908 100644 --- a/patches/a-s-noop-nimbus.patch +++ b/patches/a-s-disable-nimbus.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Application Services - Disable Nimbus + +Disables and prevents A/B testing/experimentation and remote configuration of settings. + +Signed-off-by: celenity +--- diff --git a/components/nimbus/android/src/main/java/org/mozilla/experiments/nimbus/Nimbus.kt b/components/nimbus/android/src/main/java/org/mozilla/experiments/nimbus/Nimbus.kt index 2b7f08734..8587e0752 100644 --- a/components/nimbus/android/src/main/java/org/mozilla/experiments/nimbus/Nimbus.kt @@ -79,3 +88,4 @@ index 2a3934c83..71f82ed17 100644 --keep class org.mozilla.experiments.nimbus.internal.** { *; } +# -keepattributes RuntimeVisibleAnnotations,RuntimeInvisibleAnnotations,RuntimeVisibleTypeAnnotations,RuntimeInvisibleTypeAnnotations,AnnotationDefault,InnerClasses,EnclosingMethod,Signature +# -keep class org.mozilla.experiments.nimbus.internal.** { *; } +-- diff --git a/patches/a-s-liberate-error-support.patch b/patches/a-s-liberate-error-support.patch index cccd30bf..25dd599c 100644 --- a/patches/a-s-liberate-error-support.patch +++ b/patches/a-s-liberate-error-support.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Application Services - Remove Error Support + +Removes the Rust 'Error Support' library. + +Signed-off-by: celenity +--- diff --git a/components/init_rust_components/android/build.gradle b/components/init_rust_components/android/build.gradle index c74832968..8cdde766c 100644 --- a/components/init_rust_components/android/build.gradle @@ -33,3 +42,4 @@ index 045af0cd5..07abf4fff 100644 // This code was originally in the `Megazord.init` that was moved here to have the initialize // done in this particular sequence without needing to have the embedder have to do it within +-- diff --git a/patches/a-s-liberate-glean.patch b/patches/a-s-liberate-glean.patch index 5367660e..4f631053 100644 --- a/patches/a-s-liberate-glean.patch +++ b/patches/a-s-liberate-glean.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Application Services - Remove Glean + +Removes the Glean SDK. + +Signed-off-by: celenity +--- diff --git a/components/nimbus/android/src/main/java/org/mozilla/experiments/nimbus/Nimbus.kt b/components/nimbus/android/src/main/java/org/mozilla/experiments/nimbus/Nimbus.kt index 4e550544d..9f8b10fca 100644 --- a/components/nimbus/android/src/main/java/org/mozilla/experiments/nimbus/Nimbus.kt @@ -327,3 +336,4 @@ index 4dfc3178f..89816d107 100644 + } */ } } +-- diff --git a/patches/a-s-liberate.patch b/patches/a-s-liberate.patch index d0b9e214..607d5536 100644 --- a/patches/a-s-liberate.patch +++ b/patches/a-s-liberate.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Application Services - Liberate + +Removes proprietary, tracking, and other unwanted libraries/functionality. + +Signed-off-by: celenity +--- diff --git a/.buildconfig-android.yml b/.buildconfig-android.yml index eec97ee42..7e4684542 100644 --- a/.buildconfig-android.yml @@ -103,3 +112,4 @@ index 62b191072..37912d82a 100644 pub use fxa_client; pub use init_rust_components; pub use logins; +-- diff --git a/patches/a-s-localize-maven.patch b/patches/a-s-localize-maven.patch index a00161ee..f0541ee6 100644 --- a/patches/a-s-localize-maven.patch +++ b/patches/a-s-localize-maven.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Application Services - Localize Maven + +Replaces Mozilla Maven repositories with local maven repositories. + +Signed-off-by: celenity +--- diff --git a/settings.gradle b/settings.gradle index c891c8ac1..44df67926 100644 --- a/settings.gradle @@ -26,3 +35,4 @@ index c891c8ac1..44df67926 100644 } } } +-- diff --git a/patches/a-s-remove-dumps.patch b/patches/a-s-remove-dumps.patch index aba71075..c1053de2 100644 --- a/patches/a-s-remove-dumps.patch +++ b/patches/a-s-remove-dumps.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Application Services - Remove Remote Settings dumps + +Removes unwanted Remote Settings dumps. + +Signed-off-by: celenity +--- diff --git a/components/remote_settings/src/client.rs b/components/remote_settings/src/client.rs index b951d45c0..faf1ef996 100644 --- a/components/remote_settings/src/client.rs @@ -30,3 +39,4 @@ index b951d45c0..faf1ef996 100644 ("main", "search-config-icons") => [ "001500a9-1a6c-3f5a-ba15-a5f5a075d256", "06cf7432-efd7-f244-927b-5e423005e1ea", +-- diff --git a/patches/a-s-rs-blocker.patch b/patches/a-s-rs-blocker.patch index 7b863bd9..907855e1 100644 --- a/patches/a-s-rs-blocker.patch +++ b/patches/a-s-rs-blocker.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Application Services - Remote Settings Blocker + +Prevents Remote Settings from downloading unwanted collections. + +Signed-off-by: celenity +--- diff --git a/components/remote_settings/src/client.rs b/components/remote_settings/src/client.rs index b951d45c0..f7106e898 100644 --- a/components/remote_settings/src/client.rs @@ -56,3 +65,4 @@ index b19942604..f378f7897 100644 trace!("syncing collection: {collection_name}"); client.sync()?; } +-- diff --git a/patches/fenix-add-doh-providers.patch b/patches/fenix-configure-doh-providers.patch similarity index 93% rename from patches/fenix-add-doh-providers.patch rename to patches/fenix-configure-doh-providers.patch index d6b50a1e..2952f4eb 100644 --- a/patches/fenix-add-doh-providers.patch +++ b/patches/fenix-configure-doh-providers.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Fenix - Configure DNS over HTTPS providers + +Adds custom DoH providers. + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/doh/DohSettingsProvider.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/doh/DohSettingsProvider.kt index 028be832d6d7..4cbee0999688 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/doh/DohSettingsProvider.kt @@ -94,3 +103,4 @@ index 028be832d6d7..4cbee0999688 100644 + val mullvadUnfilteredUri = "https://dns.mullvad.net/dns-query" } } +-- diff --git a/patches/fenix-configure-geckoprovider.patch b/patches/fenix-configure-geckoprovider.patch index ddfd2dd8..e09f57fb 100644 --- a/patches/fenix-configure-geckoprovider.patch +++ b/patches/fenix-configure-geckoprovider.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Fenix - Configure GeckoProvider + +Configures Firefox's implementation of GeckoView (GeckoProvider). + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/gecko/GeckoProvider.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/gecko/GeckoProvider.kt index 0bca79f30c33..30c1f9b40278 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/gecko/GeckoProvider.kt @@ -47,3 +56,4 @@ index 0bca79f30c33..30c1f9b40278 100644 .contentBlocking( policy.toContentBlockingSetting( cookieBannerHandlingMode = context.settings().getCookieBannerHandling(), +-- diff --git a/patches/fenix-control-autofill-gecko.patch b/patches/fenix-control-autofill-gecko.patch index f4c346fb..f5ee1101 100644 --- a/patches/fenix-control-autofill-gecko.patch +++ b/patches/fenix-control-autofill-gecko.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Fenix - Control Gecko Autofill + +If autofill is enabled/disabled from the browser's UI settings, this ensures that the functionality is also fully enabled/disabled within Gecko. + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/autofill/AutofillSettingFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/autofill/AutofillSettingFragment.kt index ea6a64bc881b..0206326bff7a 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/autofill/AutofillSettingFragment.kt @@ -38,3 +47,4 @@ index ea6a64bc881b..0206326bff7a 100644 } } +-- diff --git a/patches/fenix-control-password-mgr-gecko.patch b/patches/fenix-control-password-mgr-gecko.patch index 03c924a8..20542e0b 100644 --- a/patches/fenix-control-password-mgr-gecko.patch +++ b/patches/fenix-control-password-mgr-gecko.patch @@ -1,3 +1,13 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Fenix - Control Gecko Password Manager + +If the password manager is enabled/disabled from the browser's UI settings, this ensures that the functionality is also fully enabled/disabled +within Gecko. + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/SavedLoginsSettingFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/SavedLoginsSettingFragment.kt index 511d9e019a1b..adc4ace8a07d 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/SavedLoginsSettingFragment.kt @@ -27,3 +37,4 @@ index 511d9e019a1b..adc4ace8a07d 100644 // We want to reload the current session here so we don't save any currently inserted login context?.components?.useCases?.sessionUseCases?.reload?.invoke() return super.onPreferenceChange(preference, newValue) +-- diff --git a/patches/fenix-disable-cfrs.patch b/patches/fenix-disable-cfrs.patch index cd66e59d..6d987d94 100644 --- a/patches/fenix-disable-cfrs.patch +++ b/patches/fenix-disable-cfrs.patch @@ -1,7 +1,9 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Sat, 14 Feb 2026 04:05:55 +0000 -Subject: [PATCH] feat: Disable contextual feature recommendations (CFRs) +Subject: [PATCH] Fenix - Disable contextual feature recommendations + +Disables contextual feature recommendations (CFRs) and other promotional messaging. Signed-off-by: celenity --- diff --git a/patches/fenix-disable-contile.patch b/patches/fenix-disable-contile.patch index 5f907092..1eca032c 100644 --- a/patches/fenix-disable-contile.patch +++ b/patches/fenix-disable-contile.patch @@ -1,7 +1,9 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Sat, 27 Jun 2026 20:11:41 +0000 -Subject: [PATCH] feat: Disable Contile +Subject: [PATCH] Fenix - Disable Contile + +Disables integration with Mozilla's Contile service (sponsored tiles): https://mozilla-services.github.io/contile/. Signed-off-by: celenity --- diff --git a/patches/fenix-disable-crash-reporting.patch b/patches/fenix-disable-crash-reporting.patch index 817313c8..6ed8e107 100644 --- a/patches/fenix-disable-crash-reporting.patch +++ b/patches/fenix-disable-crash-reporting.patch @@ -1,7 +1,9 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Tue, 17 Feb 2026 03:44:28 +0000 -Subject: [PATCH] feat: Disable crash reporting +Subject: [PATCH] Fenix - Disable crash reporting + +Disables and prevents the collection/submission of crash reports. Signed-off-by: celenity --- diff --git a/patches/fenix-disable-firefox-suggest.patch b/patches/fenix-disable-firefox-suggest.patch index 7a3a30c0..88780c3e 100644 --- a/patches/fenix-disable-firefox-suggest.patch +++ b/patches/fenix-disable-firefox-suggest.patch @@ -1,10 +1,10 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Tue, 17 Feb 2026 04:11:12 +0000 -Subject: [PATCH] feat: Disable Firefox Suggest +Subject: [PATCH] Fenix - Disable Firefox Suggest Disables Firefox Suggest by default, removes unwanted Firefox Suggest UI elements, and ensure that suggestions from Firefox Suggest are -only queried if the user actually enables suggestions +only queried if the user actually enables suggestions. Signed-off-by: celenity --- diff --git a/patches/fenix-disable-gms-fonts.patch b/patches/fenix-disable-gms-fonts.patch index 1eebdf5f..6742d49c 100644 --- a/patches/fenix-disable-gms-fonts.patch +++ b/patches/fenix-disable-gms-fonts.patch @@ -1,13 +1,13 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Wed, 24 Jun 2026 17:25:39 +0000 -Subject: [PATCH] feat: Disable loading/requesting fonts from Google Play Services (or the OEM) +Subject: [PATCH] Fenix - Disable loading fonts from Google Play Services (or the OEM) -Prevents the browser from downloading and attempting to load emojis from Google Play Services (or the OEM), and instead -includes them locally +Prevents the browser from downloading and attempting to download/request fonts from Google Play Services (or the OEM), and instead +includes the necessary fonts locally. Reduces our reliance on/use of proprietary services, mitigates fingerprinting by ensuring our users always have a common set of -emojis, and improves compatibility as well by ensuring that emojis are always available +emojis, and improves compatibility as well by ensuring that emojis are always available. (For reference: https://developer.android.com/develop/ui/views/text-and-emoji/emoji2#support-bundled-fonts) diff --git a/patches/fenix-disable-network-connectivity-monitoring.patch b/patches/fenix-disable-network-connectivity-monitoring.patch index 7dee06db..ea9a1775 100644 --- a/patches/fenix-disable-network-connectivity-monitoring.patch +++ b/patches/fenix-disable-network-connectivity-monitoring.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Fenix - Disable network connectivity status monitoring + +Removes the `ACCCESS_NETWORK_STATE` permission and prevents the browser from monitoring the status of the user's internet connection. + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/app/src/main/AndroidManifest.xml b/mobile/android/fenix/app/src/main/AndroidManifest.xml index 63398b2c715a..8d5644cf2dd5 100644 --- a/mobile/android/fenix/app/src/main/AndroidManifest.xml @@ -45,3 +54,4 @@ index a82e8f061672..0a36a99e1814 100644 } else { text = getString(R.string.preference_option_phone_feature_blocked) setOnClickListener { +-- diff --git a/patches/fenix-disable-nimbus.patch b/patches/fenix-disable-nimbus.patch index 6c1682e5..0070320c 100644 --- a/patches/fenix-disable-nimbus.patch +++ b/patches/fenix-disable-nimbus.patch @@ -1,9 +1,9 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Tue, 17 Feb 2026 05:22:45 +0000 -Subject: [PATCH] feat: Disable Nimbus +Subject: [PATCH] Fenix - Disable Nimbus -Disables Nimbus Experimentation and A/B testing +Disables and prevents A/B testing/experimentation and remote configuration of settings. Signed-off-by: celenity --- diff --git a/patches/fenix-disable-pocket.patch b/patches/fenix-disable-pocket.patch index 4f3cc33d..25af7da3 100644 --- a/patches/fenix-disable-pocket.patch +++ b/patches/fenix-disable-pocket.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Fenix - Disable Pocket + +Disables integration with Pocket. + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/pocket/ContentRecommendationsFeatureHelper.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/pocket/ContentRecommendationsFeatureHelper.kt index d211d3625dbf..cbdc241b9b4f 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/pocket/ContentRecommendationsFeatureHelper.kt @@ -10,3 +19,4 @@ index d211d3625dbf..cbdc241b9b4f 100644 + return false && CONTENT_RECOMMENDATIONS_SUPPORTED_LOCALE.contains(langTag) } } +-- diff --git a/patches/fenix-disable-profiling.patch b/patches/fenix-disable-profiling.patch index 119766ff..ba9f93bb 100644 --- a/patches/fenix-disable-profiling.patch +++ b/patches/fenix-disable-profiling.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Fenix - Disable profiling + +Disables profiling functionality/integration. + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/app/src/main/AndroidManifest.xml b/mobile/android/fenix/app/src/main/AndroidManifest.xml index 70cf6e8802f5b..e2ed9d5c80b1e 100644 --- a/mobile/android/fenix/app/src/main/AndroidManifest.xml @@ -16,3 +25,4 @@ index 70cf6e8802f5b..e2ed9d5c80b1e 100644 +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Fenix - Disable Firefox Sync Avatar Fetching + +Prevents the browser from downloading the user's profile picture from Mozilla if Firefox Sync is enabled. + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/compose/header/MozillaAccountMenuItem.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/compose/header/MozillaAccountMenuItem.kt index 288150bc6368..a977f4ecdecf 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/compose/header/MozillaAccountMenuItem.kt @@ -47,3 +56,4 @@ index da8fa9afaa7f..be8b28ff70f6 100644 preferenceSignIn.onPreferenceClickListener = null preferenceFirefoxAccountAuthError.isVisible = false +-- diff --git a/patches/fenix-disable-sync-engines-by-default.patch b/patches/fenix-disable-sync-engines-by-default.patch index d4de27c2..06df9208 100644 --- a/patches/fenix-disable-sync-engines-by-default.patch +++ b/patches/fenix-disable-sync-engines-by-default.patch @@ -1,9 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Sat, 27 Jun 2026 20:11:41 +0000 -Subject: [PATCH] feat: Disable Firefox Sync engines by default - -Disables Firefox Sync engines by default, to ensure that users are in control and can decide what data they'd like to sync with Firefox Sync, if any +Subject: [PATCH] Fenix - Disable Firefox Sync engines by default Signed-off-by: celenity --- diff --git a/patches/fenix-disable-telemetry.patch b/patches/fenix-disable-telemetry.patch index dfe27a70..73989a07 100644 --- a/patches/fenix-disable-telemetry.patch +++ b/patches/fenix-disable-telemetry.patch @@ -1,9 +1,9 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Sat, 27 Jun 2026 20:11:41 +0000 -Subject: [PATCH] feat: Disable telemetry +Subject: [PATCH] Fenix - Disable telemetry -Disables telemetry at build-time and removes various data reporting mechanisms +Disables telemetry at build-time and removes various data reporting mechanisms. Signed-off-by: celenity --- diff --git a/patches/fenix-display-cookie-banner-ui-in-standard-browsing.patch b/patches/fenix-display-cookie-banner-ui-in-standard-browsing.patch index 0da71548..ad056301 100644 --- a/patches/fenix-display-cookie-banner-ui-in-standard-browsing.patch +++ b/patches/fenix-display-cookie-banner-ui-in-standard-browsing.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Fenix - Display Cookie Banner Reduction UI in standard browsing windows + +Enables UI to control Cookie Banner Reduction per-site in standard browsing windows. + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/ProtectionsView.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/ProtectionsView.kt index 1f81493c9f9e..be163913a0ef 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/ProtectionsView.kt @@ -11,3 +20,4 @@ index 1f81493c9f9e..be163913a0ef 100644 state.cookieBannerUIMode != CookieBannerUIMode.HIDE binding.trackingProtectionDetails.setOnClickListener { +-- diff --git a/patches/fenix-enable-encrypted-storage.patch b/patches/fenix-enable-encrypted-storage.patch index bd048af9..c6493b96 100644 --- a/patches/fenix-enable-encrypted-storage.patch +++ b/patches/fenix-enable-encrypted-storage.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Fenix - Enable encrypted storage + +Enables encrypted storage via Android's Keystore system (https://developer.android.com/privacy-and-security/keystore) for Firefox account state. + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/BackgroundServices.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/BackgroundServices.kt index 6ed5a8715f84..a9f60b19cd2a 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/BackgroundServices.kt @@ -11,3 +20,4 @@ index 6ed5a8715f84..a9f60b19cd2a 100644 ) @VisibleForTesting +-- diff --git a/patches/fenix-enable-memory-tagging.patch b/patches/fenix-enable-memory-tagging.patch index 815da467..cb2ef4c7 100644 --- a/patches/fenix-enable-memory-tagging.patch +++ b/patches/fenix-enable-memory-tagging.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Fenix - Enable memory tagging + +Enables memory tagging via Android's Arm Memory Tagging Extension (https://developer.android.com/ndk/guides/arm-mte). + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/app/src/main/AndroidManifest.xml b/mobile/android/fenix/app/src/main/AndroidManifest.xml index 63398b2c715a..2db97a344439 100644 --- a/mobile/android/fenix/app/src/main/AndroidManifest.xml @@ -10,3 +19,4 @@ index 63398b2c715a..2db97a344439 100644 tools:ignore="UnusedAttribute"> +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Fenix - Hide the 'Remove' and 'Run in private browsing' toggles for built-in add-ons + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/addons/InstalledAddonDetailsFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/addons/InstalledAddonDetailsFragment.kt index dbb3d349e94b..1da80345c565 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/addons/InstalledAddonDetailsFragment.kt @@ -21,3 +28,4 @@ index dbb3d349e94b..1da80345c565 100644 context?.let { val messageBarWarningView = binding.root.findViewById(addonsR.id.add_on_messagebar_warning) +-- diff --git a/patches/fenix-increase-update-frequency.patch b/patches/fenix-increase-update-frequency.patch index d6010201..27ccd736 100644 --- a/patches/fenix-increase-update-frequency.patch +++ b/patches/fenix-increase-update-frequency.patch @@ -1,3 +1,13 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Fenix - Increase update frequency + +Increases the rate at which Firefox syncs with Remote Settings, from every 24 hours to hourly, and the rate at which +Firefox checks for add-on updates, from every 12 hours to hourly. + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Components.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Components.kt index 87a4f911c0cf..80e9e7346880 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Components.kt @@ -20,3 +30,4 @@ index 87a4f911c0cf..80e9e7346880 100644 ) } +-- diff --git a/patches/fenix-ironfox-branding.patch b/patches/fenix-ironfox-branding.patch index 0617d051..4f485b3d 100644 --- a/patches/fenix-ironfox-branding.patch +++ b/patches/fenix-ironfox-branding.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Fenix - IronFox branding + +Modifies branding elements to IronFox. + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/MarketingPageRemovalSupport.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/MarketingPageRemovalSupport.kt index fbd12fc813a3..3d0e6f9f5753 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/MarketingPageRemovalSupport.kt @@ -82,3 +91,4 @@ index a76873adfa9c..6fb5d2dd92c2 100644 AboutPageItem( AboutItem.ExternalLink(LICENSING_INFO, ABOUT_LICENSE_URL), getString(R.string.about_licensing_information), +-- diff --git a/patches/fenix-ironfox-core.patch b/patches/fenix-ironfox-core.patch index 6c0fe455..e2b59227 100644 --- a/patches/fenix-ironfox-core.patch +++ b/patches/fenix-ironfox-core.patch @@ -1,9 +1,9 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Sun, 05 Jul 2026 03:48:55 +0000 -Subject: [PATCH] IronFox - Core (Fenix) +Subject: [PATCH] Fenix - IronFox core -Provides support for core functionality and IronFox-specific resources, to ensure that these changes are always applied as expected +Provides support for core IronFox functionality. Signed-off-by: celenity --- diff --git a/patches/fenix-ironfox-oled-theme.patch b/patches/fenix-ironfox-oled-theme.patch index ddbfc2f1..13321c81 100644 --- a/patches/fenix-ironfox-oled-theme.patch +++ b/patches/fenix-ironfox-oled-theme.patch @@ -1,19 +1,12 @@ -From aac64ddfd4859563a403ff24430ad0d11be6a5bb Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Akash Yadav -Date: Tue, 23 Dec 2025 13:43:01 +0530 -Subject: [PATCH] feat: IronFox OLED theme support +Date: Tue, 23 Dec 2025 08:13:01 +0000 +Subject: [PATCH] Fenix - OLED Theme + +Adds support for a true OLED black theme. Signed-off-by: Akash Yadav --- - .../org/mozilla/fenix/FenixApplication.kt | 2 +- - .../java/org/mozilla/fenix/components/Core.kt | 7 ++++++- - .../customtabs/FennecWebAppIntentProcessor.kt | 4 +++- - .../fenix/settings/CustomizationFragment.kt | 15 +++++++++++++-- - .../org/mozilla/fenix/theme/FirefoxTheme.kt | 5 +++-- - .../org/mozilla/fenix/theme/ThemeManager.kt | 19 +++++++++++++++++-- - .../res/xml/customization_preferences.xml | 5 +++++ - 8 files changed, 49 insertions(+), 9 deletions(-) - diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt index 8dd1374d2d94f..601cf1cf2a38a 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt @@ -228,5 +221,3 @@ index 313053c48c62..619cb8e8e997 100644 android:defaultValue="false" android:key="@string/pref_key_auto_battery_theme" -- -2.53.0 - diff --git a/patches/fenix-ironfox-onboarding.patch b/patches/fenix-ironfox-onboarding.patch index b17e4897..ebcd92af 100644 --- a/patches/fenix-ironfox-onboarding.patch +++ b/patches/fenix-ironfox-onboarding.patch @@ -1,7 +1,9 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Tue, 10 Mar 2026 01:00:42 +0000 -Subject: [PATCH] feat: add support for IronFox onboarding cards +Subject: [PATCH] Fenix - IronFox onboarding + +Adds IronFox-specific onboarding screens. Signed-off-by: celenity --- diff --git a/patches/fenix-ironfox-settings-search.patch b/patches/fenix-ironfox-settings-search.patch index a7ea8c18..8fb516c8 100644 --- a/patches/fenix-ironfox-settings-search.patch +++ b/patches/fenix-ironfox-settings-search.patch @@ -1,9 +1,9 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Sun, 05 Jul 2026 05:15:52 +0000 -Subject: [PATCH] IronFox Settings Search +Subject: [PATCH] Fenix - IronFox settings search -Provides support for searching IronFox-specific preferences +Allows users to search for IronFox-specific UI settings. Signed-off-by: celenity --- diff --git a/patches/fenix-ironfox-settings-support-accessibility-services.patch b/patches/fenix-ironfox-settings-support-accessibility-services.patch index 6c679d4e..8fe0bf71 100644 --- a/patches/fenix-ironfox-settings-support-accessibility-services.patch +++ b/patches/fenix-ironfox-settings-support-accessibility-services.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 05:15:52 +0000 +Subject: [PATCH] Fenix - IronFox Settings: Accessibility services + +Provides support for a UI setting to enable/disable accessibility services. + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt index 83e0f40483b7..ca17852a0bfd 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt @@ -20,3 +29,4 @@ index 83e0f40483b7..ca17852a0bfd 100644 } val accessibilityServicesEnabled: Boolean +-- diff --git a/patches/fenix-ironfox-settings-support-collections.patch b/patches/fenix-ironfox-settings-support-collections.patch index 6b4f8afc..924ca18a 100644 --- a/patches/fenix-ironfox-settings-support-collections.patch +++ b/patches/fenix-ironfox-settings-support-collections.patch @@ -1,9 +1,9 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Sat, 27 Jun 2026 20:11:41 +0000 -Subject: [PATCH] feat: IronFox UI settings - Collections +Subject: [PATCH] Fenix - IronFox Settings: Collections -Adds support for a UI setting to enable/disable the "Collections" functionality +Provides support for a UI setting to enable/disable collections. Signed-off-by: celenity --- diff --git a/patches/fenix-ironfox-settings-support-pb-always.patch b/patches/fenix-ironfox-settings-support-pb-always.patch index e9fc0df9..d7d2f334 100644 --- a/patches/fenix-ironfox-settings-support-pb-always.patch +++ b/patches/fenix-ironfox-settings-support-pb-always.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 05:15:52 +0000 +Subject: [PATCH] Fenix - IronFox Settings: Always use private browsing + +Provides support for a UI setting to always use private browsing mode. + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/PrivateBrowsingFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/PrivateBrowsingFragment.kt index b600bf6b3d43..86fc25c15b52 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/PrivateBrowsingFragment.kt @@ -23,3 +32,4 @@ index 83e0f40483b7..fac08fa708f9 100644 BrowsingMode.Private } else { BrowsingMode.Normal +-- diff --git a/patches/fenix-ironfox-settings-support-translations.patch b/patches/fenix-ironfox-settings-support-translations.patch index c4b84e82..db6acf76 100644 --- a/patches/fenix-ironfox-settings-support-translations.patch +++ b/patches/fenix-ironfox-settings-support-translations.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 05:15:52 +0000 +Subject: [PATCH] Fenix - IronFox Settings: Firefox Translations + +Provides support for a UI setting to enable/disable Firefox Translations. + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt index 684f6b1c8007..cc200715b351 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt @@ -11,3 +20,4 @@ index 684f6b1c8007..cc200715b351 100644 translationsBinding.set( feature = TranslationsBinding( browserStore = rootView.context.components.core.store, +-- diff --git a/patches/fenix-ironfox-settings-support-xpinstall.patch b/patches/fenix-ironfox-settings-support-xpinstall.patch index 67cf280f..ea2409dc 100644 --- a/patches/fenix-ironfox-settings-support-xpinstall.patch +++ b/patches/fenix-ironfox-settings-support-xpinstall.patch @@ -1,9 +1,9 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Sun, 05 Jul 2026 05:20:13 +0000 -Subject: [PATCH] IronFox Settings Support (Fenix) - XPInstall +Subject: [PATCH] Fenix - IronFox Settings: XPInstall -Provides support for a preference to enable/disable add-on installation +Provides support for a UI setting to enable/disable the installation of add-ons. Signed-off-by: celenity --- diff --git a/patches/fenix-ironfox-settings.patch b/patches/fenix-ironfox-settings.patch index 3517d9a9..0fd2a898 100644 --- a/patches/fenix-ironfox-settings.patch +++ b/patches/fenix-ironfox-settings.patch @@ -1,9 +1,9 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Tue, 17 Feb 2026 05:35:54 +0000 -Subject: [PATCH] feat: IronFox UI settings +Subject: [PATCH] Fenix - IronFox settings -Adds support for IronFox-specific UI settings +Adds support for IronFox-specific UI settings to control various functionality. Signed-off-by: celenity --- diff --git a/patches/fenix-ironfox-ui.patch b/patches/fenix-ironfox-ui.patch index 6fc3991d..a574a4a4 100644 --- a/patches/fenix-ironfox-ui.patch +++ b/patches/fenix-ironfox-ui.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 05:20:13 +0000 +Subject: [PATCH] Fenix - IronFox UI + +Adds minor tweaks to the browser's user interface. + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/compose/MainMenu.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/compose/MainMenu.kt index 547ba176cfd8..f6eec9b4adfd 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/compose/MainMenu.kt @@ -210,3 +219,4 @@ index c2b6f661e9eb..e211cc4e792f 100644 summarizationMenuState = summarizationMenuState, onWebCompatReporterClick = { store.dispatch(MenuAction.Navigate.WebCompatReporter) +-- diff --git a/patches/fenix-liberate-adjust.patch b/patches/fenix-liberate-adjust.patch index 419c58bc..aa465cb6 100644 --- a/patches/fenix-liberate-adjust.patch +++ b/patches/fenix-liberate-adjust.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Fenix - Remove Adjust + +Removes the Adjust library. + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/app/build.gradle b/mobile/android/fenix/app/build.gradle index ad28bfb8c8ff..ce199b37a843 100644 --- a/mobile/android/fenix/app/build.gradle @@ -41,3 +50,4 @@ index 3788a543e8c0..beb7e7fa64bf 100644 +-- diff --git a/patches/fenix-liberate-firebase.patch b/patches/fenix-liberate-firebase.patch index 036eee93..a0056a4c 100644 --- a/patches/fenix-liberate-firebase.patch +++ b/patches/fenix-liberate-firebase.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Fenix - Remove Google Play Firebase + +Removes the Google Play Firebase library. + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/.buildconfig.yml b/mobile/android/fenix/.buildconfig.yml index e23ec109a522..831fd721680e 100644 --- a/mobile/android/fenix/.buildconfig.yml @@ -171,3 +180,4 @@ index 0000000000..b50a6f03a2 + return false + } +} +-- diff --git a/patches/fenix-liberate-glean.patch b/patches/fenix-liberate-glean.patch index b4549fb2..9511b742 100644 --- a/patches/fenix-liberate-glean.patch +++ b/patches/fenix-liberate-glean.patch @@ -1,8 +1,9 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Tue, 17 Feb 2026 03:58:09 +0000 -Subject: [PATCH] fix: Disable and remove integration with the Mozilla Glean - (telemetry) SDK +Subject: [PATCH] Fenix - Remove Glean + +Removes the Glean SDK. Signed-off-by: celenity --- diff --git a/patches/fenix-liberate-mars.patch b/patches/fenix-liberate-mars.patch index 0deeacd6..52ff19f5 100644 --- a/patches/fenix-liberate-mars.patch +++ b/patches/fenix-liberate-mars.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Fenix - Remove MARS + +Removes the Mozilla Ad Routing Service (MARS). + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/.buildconfig.yml b/mobile/android/fenix/.buildconfig.yml index e23ec109a522..c3d4b4823ffb 100644 --- a/mobile/android/fenix/.buildconfig.yml @@ -266,3 +275,4 @@ index d16b6d17067eb..8d85872c26ead 100644 components.core.pocketStoriesService.stopPeriodicContentRecommendationsRefresh() components.core.pocketStoriesService.stopPeriodicSponsoredContentsRefresh() privateNotificationObserver?.stop() +-- diff --git a/patches/fenix-liberate-play-integrity.patch b/patches/fenix-liberate-play-integrity.patch index d7b05a0b..8044c440 100644 --- a/patches/fenix-liberate-play-integrity.patch +++ b/patches/fenix-liberate-play-integrity.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Fenix - Remove Google Play Integrity + +Removes the Google Play Integrity library. + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/.buildconfig.yml b/mobile/android/fenix/.buildconfig.yml index e23ec109a522..736c25ed8705 100644 --- a/mobile/android/fenix/.buildconfig.yml @@ -145,3 +154,4 @@ index 9d95e5b6f1de..2de03c8dbd06 100644 } } } +-- diff --git a/patches/fenix-liberate-play-review.patch b/patches/fenix-liberate-play-review.patch index f95f9192..c3437feb 100644 --- a/patches/fenix-liberate-play-review.patch +++ b/patches/fenix-liberate-play-review.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Fenix - Remove Google Play Review + +Removes the Google Play Review library. + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Components.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Components.kt index 87a4f911c0cf..77ccda791489 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Components.kt @@ -60,3 +69,4 @@ index 6200d8376b82..c6c96c24d6fe 100644 null } +-- diff --git a/patches/fenix-liberate-sentry.patch b/patches/fenix-liberate-sentry.patch index cdc77dbc..7f22fb4b 100644 --- a/patches/fenix-liberate-sentry.patch +++ b/patches/fenix-liberate-sentry.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Fenix - Remove Sentry + +Removes the Sentry library. + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/.buildconfig.yml b/mobile/android/fenix/.buildconfig.yml index e23ec109a522..a9ff3525c831 100644 --- a/mobile/android/fenix/.buildconfig.yml @@ -33,3 +42,4 @@ index ad28bfb8c8ff..a293840d3463 100644 implementation libs.androidx.documentfile implementation libs.zxing +-- diff --git a/patches/fenix-liberate-webcompat-reporter.patch b/patches/fenix-liberate-webcompat-reporter.patch index 65da809d..766f35ac 100644 --- a/patches/fenix-liberate-webcompat-reporter.patch +++ b/patches/fenix-liberate-webcompat-reporter.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Fenix - Remove Web Compatibility Reporter + +Removes the Web Compatibility Reporter. + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/.buildconfig.yml b/mobile/android/fenix/.buildconfig.yml index e23ec109a522..dfaba7eaf03a 100644 --- a/mobile/android/fenix/.buildconfig.yml @@ -63,3 +72,4 @@ index da46df8f5cd7..9639bfb576b7 100644 }, onUpdatePermissionRequest = components.addonUpdater::onUpdatePermissionRequest, ) +-- diff --git a/patches/fenix-liberate.patch b/patches/fenix-liberate.patch index 4f476c48..f8d91add 100644 --- a/patches/fenix-liberate.patch +++ b/patches/fenix-liberate.patch @@ -1,9 +1,9 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Tue, 17 Feb 2026 03:35:42 +0000 -Subject: [PATCH] feat: Liberate Fenix +Subject: [PATCH] Fenix - Liberate -Removes proprietary, tracking, and other unwanted libraries/functionality from Fenix +Removes proprietary, tracking, and other unwanted libraries/functionality. Signed-off-by: celenity --- diff --git a/patches/fenix-local-wallpapers.patch b/patches/fenix-local-wallpapers.patch index 6a6f669a..42363f0d 100644 --- a/patches/fenix-local-wallpapers.patch +++ b/patches/fenix-local-wallpapers.patch @@ -1,9 +1,9 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Sun, 28 Jun 2026 05:34:22 +0000 -Subject: [PATCH] feat: Local wallpapers +Subject: [PATCH] Fenix - Local wallpapers -Adds support for local wallpapers, to prevent downloading them from Mozilla servers upon each launch +Adds support for local wallpapers, to prevent downloading them from Mozilla servers upon each launch. Signed-off-by: celenity --- diff --git a/patches/fenix-disable-ai-controls.patch b/patches/fenix-remove-ai-controls.patch similarity index 90% rename from patches/fenix-disable-ai-controls.patch rename to patches/fenix-remove-ai-controls.patch index 7bda9c5b..7d50dbba 100644 --- a/patches/fenix-disable-ai-controls.patch +++ b/patches/fenix-remove-ai-controls.patch @@ -1,7 +1,9 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Sat, 27 Jun 2026 20:11:41 +0000 -Subject: [PATCH] feat: Disable AI Controls +Subject: [PATCH] Fenix - Remove AI Controls + +Provides support for removing the 'AI Controls' settings menu. Signed-off-by: celenity --- diff --git a/patches/fenix-remove-sync-promo-bookmarks.patch b/patches/fenix-remove-sync-promo-bookmarks.patch index 2881b6ed..6529ba4d 100644 --- a/patches/fenix-remove-sync-promo-bookmarks.patch +++ b/patches/fenix-remove-sync-promo-bookmarks.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Fenix - Remove Firefox Sync bookmark promotion + +Removes Mozilla's promotion to enable Firefox Sync at the bookmarks fragment. + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/bookmarks/BookmarksScreen.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/bookmarks/BookmarksScreen.kt index 58b970f69707..b04bd854df1f 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/bookmarks/BookmarksScreen.kt @@ -11,3 +20,4 @@ index 58b970f69707..b04bd854df1f 100644 showBookmarksImport = showBookmarksImport, ) EmptyListState.Authenticated -> RootEmptyContent( +-- diff --git a/patches/fenix-remove-sync-promo-settings.patch b/patches/fenix-remove-sync-promo-settings.patch index cc7c80f9..38d33fe5 100644 --- a/patches/fenix-remove-sync-promo-settings.patch +++ b/patches/fenix-remove-sync-promo-settings.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Fenix - Remove Firefox Sync settings promotion + +Removes Mozilla's promotional banner to enable Firefox Sync at the top of the settings fragment. + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/account/AccountUiView.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/account/AccountUiView.kt index da8fa9afaa7f..b9986c14447c 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/account/AccountUiView.kt @@ -11,3 +20,4 @@ index da8fa9afaa7f..b9986c14447c 100644 } } +-- diff --git a/patches/fenix-sanitize-data-on-exit-by-default.patch b/patches/fenix-sanitize-data-on-exit-by-default.patch index eb7fa505..72c8e2de 100644 --- a/patches/fenix-sanitize-data-on-exit-by-default.patch +++ b/patches/fenix-sanitize-data-on-exit-by-default.patch @@ -1,9 +1,9 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Sat, 27 Jun 2026 20:11:41 +0000 -Subject: [PATCH] feat: Sanitize data on exit by default +Subject: [PATCH] Fenix - Sanitize data on exit -Ensures the UI reflects our values to sanitize data on exit by default +Ensures the UI reflects our values to sanitize data on exit by default. Signed-off-by: celenity --- diff --git a/patches/fenix-secret-settings-visibility.patch b/patches/fenix-secret-settings-visibility.patch index 0f650b8c..90acc802 100644 --- a/patches/fenix-secret-settings-visibility.patch +++ b/patches/fenix-secret-settings-visibility.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Fenix - Secret Settings visibility + +Provides support for controlling the visibility of UI settings within the Secret Settings fragment. + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt index 7cf7648c813a..ee18c45c9fad 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt @@ -31,3 +40,4 @@ index 83e0f40483b7..edf076d5ec43 100644 SharedPrefsAddressesDebugRegionRepository(context) } else { EmptyAddressesDebugRegionRepository() +-- diff --git a/patches/fenix-site-settings-visibility.patch b/patches/fenix-site-settings-visibility.patch index 175d0ce3..9c8429db 100644 --- a/patches/fenix-site-settings-visibility.patch +++ b/patches/fenix-site-settings-visibility.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Fenix - Site Settings visibility + +Provides support for controlling the visibility of UI settings within the Site Settings fragment. + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SiteSettingsFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SiteSettingsFragment.kt index 129694d6e9aa..dd0347636947 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SiteSettingsFragment.kt @@ -21,3 +30,4 @@ index 129694d6e9aa..dd0347636947 100644 } private fun bindDesktopMode() { +-- diff --git a/patches/fenix-tracking-protection-settings-visibility.patch b/patches/fenix-tracking-protection-settings-visibility.patch index d8999bb0..16cca9ba 100644 --- a/patches/fenix-tracking-protection-settings-visibility.patch +++ b/patches/fenix-tracking-protection-settings-visibility.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Fenix - Tracking Protection settings visibility + +Provides support for controlling the visibility of UI settings within the Tracking Protection fragment. + +Signed-off-by: celenity +--- diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/TrackingProtectionFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/TrackingProtectionFragment.kt index 1183971659f3..ec4655ae87ae 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/TrackingProtectionFragment.kt @@ -19,3 +28,4 @@ index 1183971659f3..ec4655ae87ae 100644 } override fun onResume() { +-- diff --git a/patches/gecko-autoconfig-setenv.patch b/patches/gecko-autoconfig-setenv.patch index 40f8d265..fcf615e8 100644 --- a/patches/gecko-autoconfig-setenv.patch +++ b/patches/gecko-autoconfig-setenv.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - AutoConfig setEnv() + +Adds support for setting environment variables via Firefox's AutoConfig functionality. + +Signed-off-by: celenity +--- diff --git a/extensions/pref/autoconfig/src/prefcalls.js b/extensions/pref/autoconfig/src/prefcalls.js index fcd0554e9598..71bf90dc473e 100644 --- a/extensions/pref/autoconfig/src/prefcalls.js @@ -20,3 +29,4 @@ index fcd0554e9598..71bf90dc473e 100644 pref, defaultPref, lockPref, +-- diff --git a/patches/gecko-certificate-pinning.patch b/patches/gecko-certificate-pinning.patch index ba78046e..a05c66c8 100644 --- a/patches/gecko-certificate-pinning.patch +++ b/patches/gecko-certificate-pinning.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Certificate pinning + +Updates and expands the list of domains supported by Mozilla's built-in certificate pinning. + +Signed-off-by: celenity +--- diff --git a/security/manager/ssl/StaticHPKPins.h b/security/manager/ssl/StaticHPKPins.h index 1b20240a185a..3925b911fb10 100644 --- a/security/manager/ssl/StaticHPKPins.h @@ -217,3 +226,4 @@ index 1b20240a185a..3925b911fb10 100644 static const int32_t kUnknownId = -1; +-- diff --git a/patches/gecko-configure-ublock-origin.patch b/patches/gecko-configure-ublock-origin.patch index 3a63dda0..e74edc44 100644 --- a/patches/gecko-configure-ublock-origin.patch +++ b/patches/gecko-configure-ublock-origin.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Configure uBlock Origin + +Sets uBlock Origin to use a custom/enhanced config, and changes certain settings by default. + +Signed-off-by: celenity +--- diff --git a/toolkit/components/extensions/parent/ext-storage.js b/toolkit/components/extensions/parent/ext-storage.js index 0d6109c25019c..d350ffeb608ad 100644 --- a/toolkit/components/extensions/parent/ext-storage.js @@ -57,3 +66,4 @@ index 0d6109c25019c..d350ffeb608ad 100644 let data = await getManagedStorageManifestData(extension, context); return ExtensionStorage._filterProperties(extension.id, data, keys); }, +-- diff --git a/patches/gecko-devtools-bypass.patch b/patches/gecko-devtools-bypass.patch index dae084ed..47470ef0 100644 --- a/patches/gecko-devtools-bypass.patch +++ b/patches/gecko-devtools-bypass.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Bypass DevTools detection + +Prevents websites from detecting that a user is using developer tools/debugging. + +Signed-off-by: celenity +--- diff --git a/devtools/server/actors/thread.js b/devtools/server/actors/thread.js index 2d70647d0e59e..fc0d5c015e749 100644 --- a/devtools/server/actors/thread.js @@ -60,3 +69,4 @@ index 1b0ec2647299a..e6958231d30b8 100644 */ makePrefTrackedFlag(exports, "testing", "devtools.testing"); +makePrefTrackedFlag(exports, "derDetach", "browser.ironfox.devtools.debugger.force_detach"); +-- diff --git a/patches/gecko-disable-network-id.patch b/patches/gecko-disable-network-id.patch index 4b91d74f..79ff8750 100644 --- a/patches/gecko-disable-network-id.patch +++ b/patches/gecko-disable-network-id.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Disable network ID generation + +Prevents Firefox from generating an internal network ID that could potentially be used to track users. + +Signed-off-by: celenity +--- diff --git a/netwerk/system/android/nsAndroidNetworkLinkService.cpp b/netwerk/system/android/nsAndroidNetworkLinkService.cpp index 309115e34d4b..592eda3584fc 100644 --- a/netwerk/system/android/nsAndroidNetworkLinkService.cpp @@ -32,3 +41,4 @@ index 8941427b3a19..e7981c87b476 100644 } nsresult NetlinkService::GetDnsSuffixList(nsTArray& aDnsSuffixList) { +-- diff --git a/patches/gecko-disable-nimbus.patch b/patches/gecko-disable-nimbus.patch index f8fab9d2..462e9152 100644 --- a/patches/gecko-disable-nimbus.patch +++ b/patches/gecko-disable-nimbus.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Disable Nimbus + +Disables and prevents A/B testing/experimentation and remote configuration of settings. + +Signed-off-by: celenity +--- diff --git a/toolkit/components/nimbus/ExperimentAPI.sys.mjs b/toolkit/components/nimbus/ExperimentAPI.sys.mjs index 02e864c59250..3f490e270943 100644 --- a/toolkit/components/nimbus/ExperimentAPI.sys.mjs @@ -42,3 +51,4 @@ index f7c6421ebcd7..949543a1f979 100644 return context; } +-- diff --git a/patches/gecko-disable-telemetry.patch b/patches/gecko-disable-telemetry.patch index e19adc4d..efa0aa27 100644 --- a/patches/gecko-disable-telemetry.patch +++ b/patches/gecko-disable-telemetry.patch @@ -1,9 +1,9 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Fri, 03 Jul 2026 04:18:56 +0000 -Subject: [PATCH] feat: Disable telemetry +Subject: [PATCH] Gecko - Disable telemetry -Disables telemetry at build-time and removes various data reporting mechanisms +Disables telemetry at build-time and removes various data reporting mechanisms. Signed-off-by: celenity --- diff --git a/patches/gecko-enable-aboutinference.patch b/patches/gecko-enable-aboutinference.patch index c8d3bec8..e23de63e 100644 --- a/patches/gecko-enable-aboutinference.patch +++ b/patches/gecko-enable-aboutinference.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Enable about:inference + +Enables the `about:inference` page. + +Signed-off-by: celenity +--- diff --git a/docshell/base/nsAboutRedirector.cpp b/docshell/base/nsAboutRedirector.cpp index 76f707e5f1e8e..fdfcd2ab2d0a0 100644 --- a/docshell/base/nsAboutRedirector.cpp @@ -50,3 +59,4 @@ index 480dbd7db7981..522e98f0928dd 100644 preview/aboutInference.ftl (../components/aboutinference/content/aboutInference.ftl) #endif +-- diff --git a/patches/gecko-enable-abouttranslations.patch b/patches/gecko-enable-abouttranslations.patch index 8fb3c988..9ecf770f 100644 --- a/patches/gecko-enable-abouttranslations.patch +++ b/patches/gecko-enable-abouttranslations.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Enable about:translations + +Enables the `about:translations` page. + +Signed-off-by: celenity +--- diff --git a/docshell/build/components.conf b/docshell/build/components.conf index 76a6380f849c2..589efb14c166b 100644 --- a/docshell/build/components.conf @@ -35,3 +44,4 @@ index e672ab192109f..f0e8f3e664700 100644 JSWINDOWACTORS.ColorPicker = { parent: { esModuleURI: "moz-src:///toolkit/actors/ColorPickerParent.sys.mjs", +-- diff --git a/patches/gecko-ensure-builds-reflect-changes.patch b/patches/gecko-ensure-builds-reflect-changes.patch index 8205d43a..fd85f0f8 100644 --- a/patches/gecko-ensure-builds-reflect-changes.patch +++ b/patches/gecko-ensure-builds-reflect-changes.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Ensure builds always reflect our (latest) changes + +Ensures that builds of GeckoView binaries always reflect our (latest) changes. + +Signed-off-by: celenity +--- diff --git a/mobile/android/gradle/with_gecko_binaries.gradle b/mobile/android/gradle/with_gecko_binaries.gradle index a625a53b8c9d..b9e2da58a75c 100644 --- a/mobile/android/gradle/with_gecko_binaries.gradle @@ -11,3 +20,4 @@ index a625a53b8c9d..b9e2da58a75c 100644 assetGenTask.dependsOn rootProject.machStagePackage jniLibFoldersTask.dependsOn rootProject.machStagePackage } +-- diff --git a/patches/gecko-expose-about-pages.patch b/patches/gecko-expose-about-pages.patch index 6c874870..181f1768 100644 --- a/patches/gecko-expose-about-pages.patch +++ b/patches/gecko-expose-about-pages.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Expose about: pages + +Exposes usually hidden `about:` pages at `about:about`. + +Signed-off-by: celenity +--- diff --git a/toolkit/modules/AboutPagesUtils.sys.mjs b/toolkit/modules/AboutPagesUtils.sys.mjs index 2b2ee3c95626..4f8542fc2c1f 100644 --- a/toolkit/modules/AboutPagesUtils.sys.mjs @@ -11,3 +20,4 @@ index 2b2ee3c95626..4f8542fc2c1f 100644 urls.push(`about:${aboutType}`); } } catch (e) { +-- diff --git a/patches/gecko-expose-aboutsupport-prefs.patch b/patches/gecko-expose-aboutsupport-prefs.patch index 09e6f826..94543b9c 100644 --- a/patches/gecko-expose-aboutsupport-prefs.patch +++ b/patches/gecko-expose-aboutsupport-prefs.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Expose preferences at about:support + +Enables the display of certain important preferences at `about:support`. + +Signed-off-by: celenity +--- diff --git a/toolkit/modules/Troubleshoot.sys.mjs b/toolkit/modules/Troubleshoot.sys.mjs index 370915013815..478de2453a45 100644 --- a/toolkit/modules/Troubleshoot.sys.mjs @@ -67,3 +76,4 @@ index 370915013815..478de2453a45 100644 ]; // Table of getters for various preference types. +-- diff --git a/patches/gecko-expose-hidden-aboutsupport-settings.patch b/patches/gecko-expose-hidden-aboutsupport-settings.patch index 4b2731c0..ac15d7d4 100644 --- a/patches/gecko-expose-hidden-aboutsupport-settings.patch +++ b/patches/gecko-expose-hidden-aboutsupport-settings.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Expose hidden settings at about:support + +Enables the display of advanced options at `about:support`. + +Signed-off-by: celenity +--- diff --git a/toolkit/content/aboutSupport.js b/toolkit/content/aboutSupport.js index fb4fbac6ac59..0d300fd2c8b7 100644 --- a/toolkit/content/aboutSupport.js @@ -48,3 +57,4 @@ index 021e6a326703..e324c3ce1e49 100644
+-- diff --git a/patches/gecko-fix-canvas-randomization.patch b/patches/gecko-fix-canvas-randomization.patch index b3a8b573..2dd6b903 100644 --- a/patches/gecko-fix-canvas-randomization.patch +++ b/patches/gecko-fix-canvas-randomization.patch @@ -1,17 +1,15 @@ -From 7f1c1b564bd365adfd92cb43f2c2bd3f650b5957 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Tue, 10 Feb 2026 17:31:22 +0000 -Subject: [PATCH] fix: Ensure Canvas Randomization is properly applied +Subject: [PATCH] Gecko - Fix canvas randomization + +Backports a fix for an upstream bug that prevents Canvas randomization from working for getImageData and WebGL image hash +(https://bugzilla.mozilla.org/show_bug.cgi?id=2013976), and enables Canvas randomization for solid colors. Adapted from any1here's LibreWolf patch: https://codeberg.org/librewolf/source/src/commit/343645241e58cb43b713968cb29614688e6d8979/patches/fpp-canvas-fix.patch Signed-off-by: celenity --- - dom/canvas/CanvasRenderingContext2D.cpp | 6 +++--- - dom/canvas/ClientWebGLContext.cpp | 6 +++--- - toolkit/components/resistfingerprinting/nsRFPService.cpp | 4 ++-- - 3 files changed, 8 insertions(+), 8 deletions(-) - diff --git a/dom/canvas/CanvasRenderingContext2D.cpp b/dom/canvas/CanvasRenderingContext2D.cpp index 16eb6f61903a..321538d5eb71 100644 --- a/dom/canvas/CanvasRenderingContext2D.cpp @@ -110,5 +108,3 @@ index d900f49a3b1b..c81d308cb823 100644 auto timerId = glean::fingerprinting_protection::canvas_noise_calculate_time_2.Start(); -- -2.53.0 - diff --git a/patches/gecko-gradle-project-resolution.patch b/patches/gecko-gradle-project-resolution.patch index 1081e01e..17ffd881 100644 --- a/patches/gecko-gradle-project-resolution.patch +++ b/patches/gecko-gradle-project-resolution.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Gradle project resolution + +Prevents building and configuring unnecessary/unwanted example/sample libraries, and ensures that only necessary projects are configured at build-time. + +Signed-off-by: celenity +--- diff --git a/settings.gradle b/settings.gradle index d149d222b95b..71342634dd94 100644 --- a/settings.gradle @@ -65,3 +74,4 @@ index 15f4ca890197..7ef976f21bb2 100644 "geckoview:publish{geckoview.variant.name}PublicationToMavenRepository".format( geckoview=build_config.geckoview ), +-- diff --git a/patches/gecko-harden-pdfjs.patch b/patches/gecko-harden-pdfjs.patch index e2f19691..4a9463d1 100644 --- a/patches/gecko-harden-pdfjs.patch +++ b/patches/gecko-harden-pdfjs.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Harden PDF.js + +Hardens Firefox's built-in PDF Viewer (PDF.js). + +Signed-off-by: celenity +--- diff --git a/toolkit/components/pdfjs/content/web/viewer-geckoview.html b/toolkit/components/pdfjs/content/web/viewer-geckoview.html index 18b76e27db3a..82529a4127b5 100644 --- a/toolkit/components/pdfjs/content/web/viewer-geckoview.html @@ -40,3 +49,4 @@ index ab4f5545674d..6ac957cc7bc5 100644 }); this.pdfLoadingTask = loadingTask; loadingTask.onPassword = (updateCallback, reason) => { +-- diff --git a/patches/gecko-ironfox-branding.patch b/patches/gecko-ironfox-branding.patch index 0b9780f2..395ba0ba 100644 --- a/patches/gecko-ironfox-branding.patch +++ b/patches/gecko-ironfox-branding.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - IronFox branding + +Modifies branding elements to IronFox. + +Signed-off-by: celenity +--- diff --git a/toolkit/content/aboutSupport.js b/toolkit/content/aboutSupport.js index 58de33cd7d60c..5235710277c55 100644 --- a/toolkit/content/aboutSupport.js @@ -21,3 +30,4 @@ index 58de33cd7d60c..5235710277c55 100644 let version = AppConstants.MOZ_APP_VERSION_DISPLAY; if (data.vendor) { version += " (" + data.vendor + ")"; +-- diff --git a/patches/gecko-ironfox-core.patch b/patches/gecko-ironfox-core.patch index b3314b81..d9fdc514 100644 --- a/patches/gecko-ironfox-core.patch +++ b/patches/gecko-ironfox-core.patch @@ -1,9 +1,9 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Sun, 05 Jul 2026 03:48:55 +0000 -Subject: [PATCH] IronFox - Core (Gecko) +Subject: [PATCH] Gecko - IronFox core -Provides support for core functionality and IronFox-specific resources, to ensure that these changes are always applied as expected +Provides support for core IronFox functionality. Signed-off-by: celenity --- diff --git a/patches/gecko-ironfox-fingerprinting-protection-overrides.patch b/patches/gecko-ironfox-fingerprinting-protection-overrides.patch index e3dad6aa..a768d2f3 100644 --- a/patches/gecko-ironfox-fingerprinting-protection-overrides.patch +++ b/patches/gecko-ironfox-fingerprinting-protection-overrides.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - IronFox Fingerprinting Protection (FPP) overrides + +Adds support for an internal list that disables specific fingerprinting protections as needed on a per-site basis. + +Signed-off-by: celenity +--- diff --git a/toolkit/components/resistfingerprinting/FingerprintingWebCompatService.sys.mjs b/toolkit/components/resistfingerprinting/FingerprintingWebCompatService.sys.mjs index ed246939863cd..807490230536a 100644 --- a/toolkit/components/resistfingerprinting/FingerprintingWebCompatService.sys.mjs @@ -33,3 +42,4 @@ index ed246939863cd..807490230536a 100644 } async init() { +-- diff --git a/patches/gecko-ironfox-settings-support-extension-blocklist.patch b/patches/gecko-ironfox-settings-support-extension-blocklist.patch index 1805fb73..25bf5cfa 100644 --- a/patches/gecko-ironfox-settings-support-extension-blocklist.patch +++ b/patches/gecko-ironfox-settings-support-extension-blocklist.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 05:20:13 +0000 +Subject: [PATCH] Gecko - IronFox Settings: Extension blocklist + +Adds a preference to enable/disable Phoenix's blocklist of malicious/unwanted/sketchy extensions. + +Signed-off-by: celenity +--- diff --git a/toolkit/components/enterprisepolicies/EnterprisePoliciesParent.sys.mjs b/toolkit/components/enterprisepolicies/EnterprisePoliciesParent.sys.mjs index 0d081a03a92d4..a5c579bf7e9ef 100644 --- a/toolkit/components/enterprisepolicies/EnterprisePoliciesParent.sys.mjs @@ -19,3 +28,4 @@ index 0d081a03a92d4..a5c579bf7e9ef 100644 default: return true; } +-- diff --git a/patches/gecko-ironfox-settings-support-webgl.patch b/patches/gecko-ironfox-settings-support-webgl.patch index c305a9d9..82f2c860 100644 --- a/patches/gecko-ironfox-settings-support-webgl.patch +++ b/patches/gecko-ironfox-settings-support-webgl.patch @@ -1,15 +1,12 @@ -From d92856883f414284337daa28dca561e5ddb3e19d Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Tue, 17 Feb 2026 04:56:55 +0000 -Subject: [PATCH] feat: Implement a RFP target to control whether WebGL is - enabled or disabled +Subject: [PATCH] Gecko - IronFox Settings: WebGL + +Provides support for a UI setting to enable/disable WebGL (including on a per-site basis), as a custom RFP target. Signed-off-by: celenity --- - dom/canvas/ClientWebGLContext.cpp | 4 ++++ - toolkit/components/resistfingerprinting/RFPTargets.inc | 1 + - 2 files changed, 5 insertions(+) - diff --git a/dom/canvas/ClientWebGLContext.cpp b/dom/canvas/ClientWebGLContext.cpp index 12492d606cc2..0fd90c1a8b19 100644 --- a/dom/canvas/ClientWebGLContext.cpp @@ -38,5 +35,3 @@ index b77c1fd1f9ac..b87224e93d7e 100644 // !!! Adding a new target? Rename PointerId and repurpose it. -- -2.53.0 - diff --git a/patches/gecko-ironfox-settings-support-xpinstall.patch b/patches/gecko-ironfox-settings-support-xpinstall.patch index 56711dae..1e171bf6 100644 --- a/patches/gecko-ironfox-settings-support-xpinstall.patch +++ b/patches/gecko-ironfox-settings-support-xpinstall.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 05:20:13 +0000 +Subject: [PATCH] Gecko - IronFox Settings: XPInstall + +Provides support for a UI setting to enable/disable the installation of add-ons. + +Signed-off-by: celenity +--- diff --git a/browser/components/enterprisepolicies/Policies.sys.mjs b/browser/components/enterprisepolicies/Policies.sys.mjs index e612b78173584..e23ec87640457 100644 --- a/browser/components/enterprisepolicies/Policies.sys.mjs @@ -38,3 +47,4 @@ index 0d081a03a92d4..f81c6e95886cc 100644 if (!ExtensionSettings) { return true; } +-- diff --git a/patches/gecko-ironfox-settings.patch b/patches/gecko-ironfox-settings.patch index e88d0551..1291295e 100644 --- a/patches/gecko-ironfox-settings.patch +++ b/patches/gecko-ironfox-settings.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Tue, 17 Feb 2026 05:35:54 +0000 +Subject: [PATCH] Gecko - IronFox settings + +Adds support for IronFox-specific preferences to control various functionality. + +Signed-off-by: celenity +--- diff --git a/toolkit/components/resistfingerprinting/nsRFPService.cpp b/toolkit/components/resistfingerprinting/nsRFPService.cpp index 9554fbb21b..ed93e4e1de 100644 --- a/toolkit/components/resistfingerprinting/nsRFPService.cpp @@ -15,3 +24,4 @@ index 9554fbb21b..ed93e4e1de 100644 return IsTargetActiveForMode(aTarget, mode); } +-- diff --git a/patches/gecko-pref-handling.patch b/patches/gecko-pref-handling.patch index 6702f2e7..45a44f8a 100644 --- a/patches/gecko-pref-handling.patch +++ b/patches/gecko-pref-handling.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Pref handling + +Locks Gecko preferences controlled by GeckoRuntimeSettings to ensure they stay in sync with Fenix's UI settings. + +Signed-off-by: celenity +--- diff --git a/extensions/pref/autoconfig/src/prefcalls.js b/extensions/pref/autoconfig/src/prefcalls.js index 66b39775196f7..61d01b705b202 100644 --- a/extensions/pref/autoconfig/src/prefcalls.js @@ -38,3 +47,4 @@ index 66b39775196f7..61d01b705b202 100644 prefBranch.setBoolPref(prefName, value); } } catch (e) { +-- diff --git a/patches/gecko-prevent-exposing-name-and-vendor-to-extensions.patch b/patches/gecko-prevent-exposing-name-and-vendor-to-extensions.patch index a57c8d06..f3012206 100644 --- a/patches/gecko-prevent-exposing-name-and-vendor-to-extensions.patch +++ b/patches/gecko-prevent-exposing-name-and-vendor-to-extensions.patch @@ -1,3 +1,13 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Prevent exposing the browser name and vendor to extensions + +Prevents exposing the browser name and vendor to extensions via getBrowserInfo() +(https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/runtime/getBrowserInfo). + +Signed-off-by: celenity +--- diff --git a/toolkit/components/extensions/parent/ext-runtime.js b/toolkit/components/extensions/parent/ext-runtime.js index 0d7a3e505b6bd..946650ec6f124 100644 --- a/toolkit/components/extensions/parent/ext-runtime.js @@ -13,3 +23,4 @@ index 0d7a3e505b6bd..946650ec6f124 100644 return Promise.resolve(info); }, +-- diff --git a/patches/gecko-prevent-extensions-from-changing-browser-settings.patch b/patches/gecko-prevent-extensions-from-changing-browser-settings.patch index 6b2cc032..62125b78 100644 --- a/patches/gecko-prevent-extensions-from-changing-browser-settings.patch +++ b/patches/gecko-prevent-extensions-from-changing-browser-settings.patch @@ -1,3 +1,10 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Prevent extensions from changing browser settings + +Signed-off-by: celenity +--- diff --git a/toolkit/components/extensions/parent/ext-browserSettings.js b/toolkit/components/extensions/parent/ext-browserSettings.js index 51dbf35890564..389071b71ac1e 100644 --- a/toolkit/components/extensions/parent/ext-browserSettings.js @@ -246,3 +253,4 @@ index 1c4bf05ff136c..6ba0a16913ac7 100644 setCallback(value) { function tlsStringToVersion(string) { +-- diff --git a/patches/gecko-prevent-fingerprinting-via-chrome-resources.patch b/patches/gecko-prevent-fingerprinting-via-chrome-resources.patch index 4593fceb..398a0197 100644 --- a/patches/gecko-prevent-fingerprinting-via-chrome-resources.patch +++ b/patches/gecko-prevent-fingerprinting-via-chrome-resources.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Prevent fingerprinting via internal resources + +Prevents the browser from exposing branding assets and certain other internal resources to websites. + +Signed-off-by: celenity +--- diff --git a/caps/nsScriptSecurityManager.cpp b/caps/nsScriptSecurityManager.cpp index 7ee53592874e..44751adde8a8 100644 --- a/caps/nsScriptSecurityManager.cpp @@ -93,3 +102,4 @@ index 7ee53592874e..44751adde8a8 100644 if (targetScheme.EqualsLiteral("resource")) { if (StaticPrefs::security_all_resource_uri_content_accessible()) { +-- diff --git a/patches/gecko-prevent-fingerprinting-via-crash-resources.patch b/patches/gecko-prevent-fingerprinting-via-crash-resources.patch index 8c28305c..e179e5c9 100644 --- a/patches/gecko-prevent-fingerprinting-via-crash-resources.patch +++ b/patches/gecko-prevent-fingerprinting-via-crash-resources.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Prevent fingerprinting via about:crashes resources + +Prevents the browser from exposing that crash reporting is disabled to websites. + +Signed-off-by: celenity +--- diff --git a/toolkit/crashreporter/jar.mn b/toolkit/crashreporter/jar.mn index 641fcaa2fed38..c85a47ec5ca55 100644 --- a/toolkit/crashreporter/jar.mn @@ -11,3 +20,4 @@ index 641fcaa2fed38..c85a47ec5ca55 100644 content/global/crashes.html (content/crashes.html) content/global/crashes.js (content/crashes.js) content/global/crashes.css (content/crashes.css) +-- diff --git a/patches/gecko-prevent-fingerprinting-via-eme.patch b/patches/gecko-prevent-fingerprinting-via-eme.patch index ca671e6e..2556f03a 100644 --- a/patches/gecko-prevent-fingerprinting-via-eme.patch +++ b/patches/gecko-prevent-fingerprinting-via-eme.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Prevent fingerprinting via EME + +Prevents fingerprinting via the status of EME. + +Signed-off-by: celenity +--- diff --git a/dom/media/eme/MediaKeySystemAccessManager.cpp b/dom/media/eme/MediaKeySystemAccessManager.cpp index acdc1030c06fa..c686a80691077 100644 --- a/dom/media/eme/MediaKeySystemAccessManager.cpp @@ -22,3 +31,4 @@ index acdc1030c06fa..c686a80691077 100644 aRequest->mDiagnostics.StoreMediaKeySystemAccess( mWindow->GetExtantDoc(), aRequest->mKeySystem, false, __func__); return; +-- diff --git a/patches/gecko-remove-aboutrestricted.patch b/patches/gecko-remove-aboutrestricted.patch index 1224f790..633100a8 100644 --- a/patches/gecko-remove-aboutrestricted.patch +++ b/patches/gecko-remove-aboutrestricted.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Remove about:restricted + +Removes the `about:restricted` page (used for ex. parental controls). + +Signed-off-by: celenity +--- diff --git a/docshell/base/nsAboutRedirector.cpp b/docshell/base/nsAboutRedirector.cpp index 6789b3d1d8ba..c18b4ac94ab0 100644 --- a/docshell/base/nsAboutRedirector.cpp @@ -32,3 +41,4 @@ index 5c1543ab806f..d770131596c5 100644 'serviceworkers', 'srcdoc', 'support', +-- diff --git a/patches/gecko-remove-abouttelemetry.patch b/patches/gecko-remove-abouttelemetry.patch index ff3789fb..dcde251f 100644 --- a/patches/gecko-remove-abouttelemetry.patch +++ b/patches/gecko-remove-abouttelemetry.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Remove about:telemetry + +Removes the `about:telemetry` page. + +Signed-off-by: celenity +--- diff --git a/docshell/base/nsAboutRedirector.cpp b/docshell/base/nsAboutRedirector.cpp index 76f707e5f1e8e..58e069cb6b720 100644 --- a/docshell/base/nsAboutRedirector.cpp @@ -41,3 +50,4 @@ index f25490bdc554..2d1d5555fc6c 100644 content/global/aboutUrlClassifier.js content/global/aboutUrlClassifier.xhtml content/global/aboutUrlClassifier.css +-- diff --git a/patches/gecko-remove-clearkey.patch b/patches/gecko-remove-clearkey.patch index 520194f4..a60cf94a 100644 --- a/patches/gecko-remove-clearkey.patch +++ b/patches/gecko-remove-clearkey.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Remove Clear Key + +Removes the Clear Key CDM. + +Signed-off-by: celenity +--- diff --git a/mobile/android/installer/package-manifest.in b/mobile/android/installer/package-manifest.in index b16d2c3df257..95461d9663ca 100644 --- a/mobile/android/installer/package-manifest.in @@ -11,3 +20,4 @@ index b16d2c3df257..95461d9663ca 100644 [browser] ; [Base Browser Files] +-- diff --git a/patches/gecko-remove-openai.patch b/patches/gecko-remove-openai.patch index 75ba040c..b533a5d6 100644 --- a/patches/gecko-remove-openai.patch +++ b/patches/gecko-remove-openai.patch @@ -1,17 +1,12 @@ -From 8ca2d1361a3f0a36f71b7e692319b800cf5c11c8 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: celenity Date: Wed, 4 Feb 2026 04:27:07 +0000 -Subject: [PATCH] fix: Remove OpenAI backend +Subject: [PATCH] Gecko - Remove OpenAI Removes the OpenAI backend from Mozilla's ML (machine learning) component. Signed-off-by: celenity --- - toolkit/components/aboutinference/content/aboutInference.js | 4 ++-- - toolkit/components/ml/content/EngineProcess.sys.mjs | 2 +- - toolkit/components/ml/content/backends/Pipeline.mjs | 6 +++--- - 3 files changed, 9 insertions(+), 9 deletions(-) - diff --git a/toolkit/components/aboutinference/content/aboutInference.js b/toolkit/components/aboutinference/content/aboutInference.js index 01533ad4c9f2..041bdcaeaeaf 100644 --- a/toolkit/components/aboutinference/content/aboutInference.js @@ -73,5 +68,3 @@ index a4b997e9bc4d..4565f3e097be 100644 factory = lazy.StaticEmbeddingsPipeline.initialize; break; -- -2.52.0 - diff --git a/patches/gecko-remove-privileged-addon-signing-status.patch b/patches/gecko-remove-privileged-addon-signing-status.patch index 0fe754f2..a692dc94 100644 --- a/patches/gecko-remove-privileged-addon-signing-status.patch +++ b/patches/gecko-remove-privileged-addon-signing-status.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Remove privileged add-on signing status + +Prevents Mozilla add-ons from returning the 'PRIVILEGED' and 'SYSTEM' add-on signing states. + +Signed-off-by: celenity +--- diff --git a/toolkit/mozapps/extensions/internal/XPIInstall.sys.mjs b/toolkit/mozapps/extensions/internal/XPIInstall.sys.mjs index 358fcce396431..ddd8dc656b774 100644 --- a/toolkit/mozapps/extensions/internal/XPIInstall.sys.mjs @@ -18,3 +27,4 @@ index 358fcce396431..ddd8dc656b774 100644 return /preliminary/i.test(aCert.organizationalUnit) ? AddonManager.SIGNEDSTATE_PRELIMINARY +-- diff --git a/patches/gecko-remove-url-tracking-params.patch b/patches/gecko-remove-url-tracking-params.patch index d4887554..cd50ff5d 100644 --- a/patches/gecko-remove-url-tracking-params.patch +++ b/patches/gecko-remove-url-tracking-params.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Remove URL tracking parameters + +Prevents the browser from appending URL tracking parameters to Mozilla support links. + +Signed-off-by: celenity +--- diff --git a/toolkit/content/widgets/moz-support-link/moz-support-link.mjs b/toolkit/content/widgets/moz-support-link/moz-support-link.mjs index 170dc9cab28d6..320ab9c5bcbe2 100644 --- a/toolkit/content/widgets/moz-support-link/moz-support-link.mjs @@ -24,3 +33,4 @@ index 170dc9cab28d6..320ab9c5bcbe2 100644 return url; } let parsedUrl = new URL(url); +-- diff --git a/patches/gecko-rs-blocker.patch b/patches/gecko-rs-blocker.patch index 61bbf63e..955e431a 100644 --- a/patches/gecko-rs-blocker.patch +++ b/patches/gecko-rs-blocker.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Remote Settings Blocker + +Prevents Remote Settings from downloading unwanted collections. + +Signed-off-by: celenity +--- diff --git a/services/settings/RemoteSettingsClient.sys.mjs b/services/settings/RemoteSettingsClient.sys.mjs index 8321c6cc97aea..d2e19db0698d7 100644 --- a/services/settings/RemoteSettingsClient.sys.mjs @@ -153,3 +162,4 @@ index da12049e14b38..2adb23704f3cf 100644 timestamp, serverTimeMillis, backoffSeconds, +-- diff --git a/patches/gecko-stub-beacon.patch b/patches/gecko-stub-beacon.patch index c79c7e7b..6740e53c 100644 --- a/patches/gecko-stub-beacon.patch +++ b/patches/gecko-stub-beacon.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Stub navigator.sendBeacon() + +Stubs the Beacon API to prevent tracking and the submission of analytics, without aiding fingerprinting and causing undesired breakage. + +Signed-off-by: celenity +--- diff --git a/dom/base/Navigator.cpp b/dom/base/Navigator.cpp index df1ff164347bc..88c391099aeca 100644 --- a/dom/base/Navigator.cpp @@ -11,3 +20,4 @@ index df1ff164347bc..88c391099aeca 100644 nsCOMPtr channel; rv = NS_NewChannel(getter_AddRefs(channel), uri, doc, securityFlags, nsIContentPolicy::TYPE_BEACON); +-- diff --git a/patches/gecko-substitute-nimbus-fml.patch b/patches/gecko-substitute-nimbus-fml.patch index 63a1102d..c867ccfd 100644 --- a/patches/gecko-substitute-nimbus-fml.patch +++ b/patches/gecko-substitute-nimbus-fml.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Substitute nimbus-fml + +Adds support for using a locally built nimbus-fml binary, instead of fetching a prebuilt artifact from Mozilla. + +Signed-off-by: celenity +--- diff --git a/mobile/android/gradle/plugins/nimbus-gradle-plugin/src/main/kotlin/org/mozilla/appservices/tooling/nimbus/NimbusGradlePlugin.kt b/mobile/android/gradle/plugins/nimbus-gradle-plugin/src/main/kotlin/org/mozilla/appservices/tooling/nimbus/NimbusGradlePlugin.kt index fcb3b4b682..cb1b14ab73 100644 --- a/mobile/android/gradle/plugins/nimbus-gradle-plugin/src/main/kotlin/org/mozilla/appservices/tooling/nimbus/NimbusGradlePlugin.kt @@ -11,3 +20,4 @@ index fcb3b4b682..cb1b14ab73 100644 // we assume the binary has been built and `gradle.ext.mozconfig.substs.NIMBUS_FML` tells us where to find it. val nimbusFmlPath = requireNotNull(mozconfigSubsts?.get("NIMBUS_FML") as? String) { "NIMBUS_FML not found in mozconfig substs" +-- diff --git a/patches/gecko-support-addon-installation-without-mozaddonmanager.patch b/patches/gecko-support-addon-installation-without-mozaddonmanager.patch index 6aab1ddc..f50d92fd 100644 --- a/patches/gecko-support-addon-installation-without-mozaddonmanager.patch +++ b/patches/gecko-support-addon-installation-without-mozaddonmanager.patch @@ -1,3 +1,13 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Support add-on installation without mozAddonManager + +Adds support for installing add-ons from `addons.mozilla.org`, without allowing Mozilla to enable, uninstall, and query a list of the user's +installed add-ons (via the privileged mozAddonManager API), in addition to websites specified with the `xpinstall.whitelist.add` series of prefs. + +Signed-off-by: celenity +--- diff --git a/toolkit/modules/PermissionsUtils.sys.mjs b/toolkit/modules/PermissionsUtils.sys.mjs index 593cf97b046c4..62f91585304e7 100644 --- a/toolkit/modules/PermissionsUtils.sys.mjs @@ -180,3 +190,4 @@ index 545a358ed0001..08caf1e80e814 100644 } } } else { +-- diff --git a/patches/gecko-support-autoconfig.patch b/patches/gecko-support-autoconfig.patch index d92002bd..7cc9e48e 100644 --- a/patches/gecko-support-autoconfig.patch +++ b/patches/gecko-support-autoconfig.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Support AutoConfig + +Adds support for Firefox's AutoConfig functionality to GeckoView, so that it can be leveraged for advanced configuration. + +Signed-off-by: celenity +--- diff --git a/extensions/pref/autoconfig/src/nsReadConfig.cpp b/extensions/pref/autoconfig/src/nsReadConfig.cpp index 73da0a726d53..7cbcc7740ffe 100644 --- a/extensions/pref/autoconfig/src/nsReadConfig.cpp @@ -11,3 +20,4 @@ index 73da0a726d53..7cbcc7740ffe 100644 nsCOMPtr jsFile; #if defined(MOZ_WIDGET_GTK) if (!mozilla::widget::IsRunningUnderFlatpakOrSnap()) { +-- diff --git a/patches/gecko-support-native-manifests.patch b/patches/gecko-support-native-manifests.patch index bdfde129..c88b99b2 100644 --- a/patches/gecko-support-native-manifests.patch +++ b/patches/gecko-support-native-manifests.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Support native manifests + +Adds support for native manifests to GeckoView. + +Signed-off-by: celenity +--- diff --git a/toolkit/components/extensions/NativeManifests.sys.mjs b/toolkit/components/extensions/NativeManifests.sys.mjs index 5c9cee1b700d3..04d1eaa59d8f3 100644 --- a/toolkit/components/extensions/NativeManifests.sys.mjs @@ -23,3 +32,4 @@ index 5c9cee1b700d3..04d1eaa59d8f3 100644 for (let dir of dirs) { let path = PathUtils.join(dir, TYPES[type], `${name}.json`); let manifest = await this._tryPath(type, path, name, context, false); +-- diff --git a/patches/gecko-support-policies.patch b/patches/gecko-support-policies.patch index 00b58ce6..fbf06d8e 100644 --- a/patches/gecko-support-policies.patch +++ b/patches/gecko-support-policies.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Support enterprise policies + +Adds support for enterprise policies to GeckoView, so that it can be leveraged for advanced configuration. + +Signed-off-by: celenity +--- diff --git a/toolkit/components/enterprisepolicies/EnterprisePoliciesParent.sys.mjs b/toolkit/components/enterprisepolicies/EnterprisePoliciesParent.sys.mjs index bb451a279599d..ecaaf717da955 100644 --- a/toolkit/components/enterprisepolicies/EnterprisePoliciesParent.sys.mjs @@ -48,3 +57,4 @@ index 2a9906e1fbf2a..d04bfbdac21ca 100644 EXTRA_JS_MODULES += [ "EnterprisePolicies.sys.mjs", "EnterprisePoliciesContent.sys.mjs", +-- diff --git a/patches/gecko-support-safe-browsing-download-protection.patch b/patches/gecko-support-safe-browsing-download-protection.patch index 9e678233..0f006a63 100644 --- a/patches/gecko-support-safe-browsing-download-protection.patch +++ b/patches/gecko-support-safe-browsing-download-protection.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Gecko - Support Safe Browsing download protection + +Adds support for Safe Browsing's download protection to GeckoView. + +Signed-off-by: celenity +--- diff --git a/toolkit/components/url-classifier/nsUrlClassifierUtils.cpp b/toolkit/components/url-classifier/nsUrlClassifierUtils.cpp index 67239752a6aa..03d0c42ef193 100644 --- a/toolkit/components/url-classifier/nsUrlClassifierUtils.cpp @@ -11,3 +20,4 @@ index 67239752a6aa..03d0c42ef193 100644 } // We allow every threat type not listed in the switch cases. return true; +-- diff --git a/patches/geckoview-disable-crash-reporting.patch b/patches/geckoview-disable-crash-reporting.patch index 4786172d..9c5d4ce7 100644 --- a/patches/geckoview-disable-crash-reporting.patch +++ b/patches/geckoview-disable-crash-reporting.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] GeckoView - Disable crash reporting + +Disables and prevents the collection/submission of crash reports. + +Signed-off-by: celenity +--- diff --git a/mobile/android/geckoview/src/main/AndroidManifest_overlay.jinja b/mobile/android/geckoview/src/main/AndroidManifest_overlay.jinja index c6a17be3b541..fe66b5a8695d 100644 --- a/mobile/android/geckoview/src/main/AndroidManifest_overlay.jinja @@ -53,3 +62,4 @@ index 20e44673a3348..14f9b805ad845 100644 } /* package */ boolean init( +-- diff --git a/patches/geckoview-disable-network-connectivity-monitoring.patch b/patches/geckoview-disable-network-connectivity-monitoring.patch index 4c961cba..8c1975fb 100644 --- a/patches/geckoview-disable-network-connectivity-monitoring.patch +++ b/patches/geckoview-disable-network-connectivity-monitoring.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] GeckoView - Disable network connectivity status monitoring + +Removes the `ACCCESS_NETWORK_STATE` permission and prevents the browser from monitoring the status of the user's internet connection. + +Signed-off-by: celenity +--- diff --git a/mobile/android/geckoview/src/main/AndroidManifest.xml b/mobile/android/geckoview/src/main/AndroidManifest.xml index f3ac290795d1a..358b29dfe8160 100644 --- a/mobile/android/geckoview/src/main/AndroidManifest.xml @@ -42,3 +51,4 @@ index 20e44673a3348..d5c68c139a707 100644 GeckoThread.onPause(); } } +-- diff --git a/patches/geckoview-disable-speculative-connections.patch b/patches/geckoview-disable-speculative-connections.patch index 88849dae..c515670c 100644 --- a/patches/geckoview-disable-speculative-connections.patch +++ b/patches/geckoview-disable-speculative-connections.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] GeckoView - Disable speculative connections + +Prevents GeckoView from generating speculative/predictive connections. + +Signed-off-by: celenity +--- diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoThread.java b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoThread.java index a80a784ff1659..d9057f8fa57f0 100644 --- a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoThread.java @@ -11,3 +20,4 @@ index a80a784ff1659..d9057f8fa57f0 100644 } @UiThread +-- diff --git a/patches/geckoview-liberate.patch b/patches/geckoview-liberate.patch index d59694ac..842a0343 100644 --- a/patches/geckoview-liberate.patch +++ b/patches/geckoview-liberate.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] GeckoView - Liberate + +Replaces the Google Play FIDO library with microG. + +Signed-off-by: celenity +--- diff --git a/mobile/android/geckoview/build.gradle b/mobile/android/geckoview/build.gradle index 7185d5e89658b8..79e4b391c2f024 100644 --- a/mobile/android/geckoview/build.gradle @@ -11,3 +20,4 @@ index 7185d5e89658b8..79e4b391c2f024 100644 implementation "org.yaml:snakeyaml:2.2" if (mozconfig.substs.MOZ_ANDROID_HLS_SUPPORT) { +-- diff --git a/patches/geckoview-pref-handling.patch b/patches/geckoview-pref-handling.patch index 3bc4d814..25a80586 100644 --- a/patches/geckoview-pref-handling.patch +++ b/patches/geckoview-pref-handling.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] GeckView - Pref handling + +Locks Gecko preferences controlled by GeckoRuntimeSettings to ensure they stay in sync with Fenix's UI settings. + +Signed-off-by: celenity +--- diff --git a/mobile/shared/components/geckoview/GeckoViewPreferences.sys.mjs b/mobile/shared/components/geckoview/GeckoViewPreferences.sys.mjs index 2bf4ae1cc8fd2..99ec78b2ac046 100644 --- a/mobile/shared/components/geckoview/GeckoViewPreferences.sys.mjs @@ -102,3 +111,4 @@ index 6996d0f77a2c5..e58be9c63d5b5 100644 break; default: throw new Error( +-- diff --git a/patches/geckoview-prioritize-cred-manager-over-gms.patch b/patches/geckoview-prioritize-cred-manager-over-gms.patch index 9cadf8fd..a8010127 100644 --- a/patches/geckoview-prioritize-cred-manager-over-gms.patch +++ b/patches/geckoview-prioritize-cred-manager-over-gms.patch @@ -1,3 +1,13 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] GeckoView - Prioritize Credential Manager over Google Play Services + +Prioritizes the use of Android's standard Credential Manager API, instead of first attempting to use Google Play Services (or microG) +if they're available. + +Signed-off-by: celenity +--- diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/WebAuthnTokenManager.java b/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/WebAuthnTokenManager.java index 2eea4c6af1763..ce2a758e6f275 100644 --- a/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/WebAuthnTokenManager.java @@ -11,3 +21,4 @@ index 2eea4c6af1763..ce2a758e6f275 100644 // No way to check credential in GMS. Use Credential Manager at first. return GeckoResult.fromValue(false); } +-- diff --git a/patches/glean-remove-example-dependencies.patch b/patches/glean-gradle-project-resolution.patch similarity index 55% rename from patches/glean-remove-example-dependencies.patch rename to patches/glean-gradle-project-resolution.patch index a199415a..64266648 100644 --- a/patches/glean-remove-example-dependencies.patch +++ b/patches/glean-gradle-project-resolution.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Glean - Gradle project resolution + +Prevents building and configuring unnecessary/unwanted example/sample libraries, and ensures that only necessary projects are configured at build-time. + +Signed-off-by: celenity +--- diff --git a/settings.gradle b/settings.gradle index 23a74d7e..2736fd17 100644 --- a/settings.gradle @@ -11,3 +20,4 @@ index 23a74d7e..2736fd17 100644 } gradle.projectsLoaded { -> +-- diff --git a/patches/glean-localize-maven.patch b/patches/glean-localize-maven.patch index 535b79f3..b4ae7329 100644 --- a/patches/glean-localize-maven.patch +++ b/patches/glean-localize-maven.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Glean - Localize Maven + +Replaces Mozilla Maven repositories with local maven repositories. + +Signed-off-by: celenity +--- diff --git a/build.gradle b/build.gradle index fa83f350..c07287cb 100644 --- a/build.gradle @@ -10,3 +19,4 @@ index fa83f350..c07287cb 100644 google() mavenCentral() maven { +-- diff --git a/patches/glean-noop.patch b/patches/glean-noop.patch index 02318226..ecb75ab9 100644 --- a/patches/glean-noop.patch +++ b/patches/glean-noop.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Glean - No-op + +No-ops the Glean SDK. + +Signed-off-by: celenity +--- diff --git a/glean-core/android/build.gradle b/glean-core/android/build.gradle index b1d4b8cd..cf27a872 100644 --- a/glean-core/android/build.gradle @@ -65,3 +74,4 @@ index 53519d42..77b9ccb0 100644 +# -dontwarn java.awt.* +# -keep class com.sun.jna.* { *; } +# -keepclassmembers class * extends com.sun.jna.* { public *; } +-- diff --git a/patches/glean-unbreak-geckoview-lite.patch b/patches/glean-unbreak-geckoview-lite.patch index cf926f2a..c90e80d0 100644 --- a/patches/glean-unbreak-geckoview-lite.patch +++ b/patches/glean-unbreak-geckoview-lite.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] Glean - Unbreak GeckoView Lite + +Adds support for builds with GeckoView Lite. + +Signed-off-by: celenity +--- diff --git a/glean-core/android-native/build.gradle b/glean-core/android-native/build.gradle index 53716d52..51737231 100644 --- a/glean-core/android-native/build.gradle @@ -16,3 +25,4 @@ index 53716d52..51737231 100644 // Uncomment to include debug symbols in native library builds. // packagingOptions { doNotStrip "**/*.so" } } +-- diff --git a/patches/microg-exclude-unused-dependencies.patch b/patches/microg-gradle-project-resolution.patch similarity index 66% rename from patches/microg-exclude-unused-dependencies.patch rename to patches/microg-gradle-project-resolution.patch index 6273c001..d4c587c8 100644 --- a/patches/microg-exclude-unused-dependencies.patch +++ b/patches/microg-gradle-project-resolution.patch @@ -1,3 +1,12 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: celenity +Date: Sun, 05 Jul 2026 20:19:20 +0000 +Subject: [PATCH] microG - Gradle project resolution + +Prevents building and configuring unnecessary/unwanted example/sample libraries, and ensures that only necessary projects are configured at build-time. + +Signed-off-by: celenity +--- diff --git a/settings.gradle b/settings.gradle index 1ab99b9..d71198b 100644 --- a/settings.gradle @@ -23,3 +32,4 @@ index 1ab99b9..d71198b 100644 include ':play-services-core:microg-ui-tools' // Legacy -include ':play-services-core' +include ':play-services-core' */ +-- diff --git a/scripts/a-s-patches.yaml b/scripts/a-s-patches.yaml index e0a5dea0..5c4a277d 100644 --- a/scripts/a-s-patches.yaml +++ b/scripts/a-s-patches.yaml @@ -26,59 +26,59 @@ categories: patches: # Build System - file: "a-s-localize-maven.patch" - name: "Remove Mozilla Maven Repositories" - description: "Removes Mozilla repositories substitution and replaces them with local maven repositories." + name: "Application Services - Localize Maven" + description: "Replaces Mozilla Maven repositories with local maven repositories." reason: "Reduces dependency on Mozilla infrastructure and improves build reproducibility." effect: "Provides more control over build dependencies with fewer connections to Mozilla servers." category: "Build System" # Dependency - file: "a-s-liberate.patch" - name: "Remove Unwanted Libraries" - description: "Removes unwanted libraries from Mozilla's Application Services." + name: "Application Services - Liberate" + description: "Removes proprietary, tracking, and other unwanted libraries/functionality." reason: "To remove unwanted libraries, and dependencies on related services." effect: "Reduces attack surface and improves privacy for users." category: "Dependency" # Mozilla - file: "a-s-liberate-glean.patch" - name: "Remove Glean" + name: "Application Services - Remove Glean" description: "Removes the Glean SDK." reason: "To prevent any usage data, diagnostics, or technical metrics from being sent to Mozilla, to reduce attack surface, and to reduce unwanted dependencies." effect: "Prevents unwanted collection and transmission of telemetry data." category: "Mozilla" - file: "a-s-liberate-error-support.patch" - name: "Remove Error Support" + name: "Application Services - Remove Error Support" description: "Removes the Rust 'Error Support' library." reason: "To remove unwanted libraries, and dependencies on related services." effect: "Prevents unwanted data collection of users." category: "Mozilla" - - file: "a-s-noop-nimbus.patch" - name: "No-op Nimbus" - description: "Prevents A/B testing and remote configuration of settings via Nimbus within Firefox for Android." + - file: "a-s-disable-nimbus.patch" + name: "Application Services - Disable Nimbus" + description: "Disables and prevents A/B testing/experimentation and remote configuration of settings." reason: "To reduce data collection and remove Mozilla's ability to remotely change browser settings." effect: "Ensures user configurations remain consistent and are controlled locally." category: "Mozilla" - file: "a-s-rs-blocker.patch" - name: "Block Remote Settings" - description: "Restricts Remote Settings to only download specified collections." + name: "Application Services - Remote Settings Blocker" + description: "Prevents Remote Settings from downloading unwanted collections." reason: "To prevent the download/use of unnecessary and undesired Remote Settings from Mozilla (ex. for experimentation)." effect: "Network activity is further limited, less data is shared with Mozilla, and we can better control what specifically is downloaded from Remote Settings." category: "Mozilla" - file: "a-s-remove-dumps.patch" - name: "Remove Remote Settings Dumps" - description: "Removes unwanted Remote Settings Dump." + name: "Application Services - Remove Remote Settings dumps" + description: "Removes unwanted Remote Settings dumps." reason: "To prevent unwanted functionality (such as regional targeting) and reduce package size." effect: "Prevents unwanted functionality and provides users with a slimmer app." category: "Mozilla" # Privacy - file: "a-s-configure-default-search-engines.patch" - name: "Custom Search Engines" + name: "Application Services - Configure default search engines" description: "Adds custom privacy-focused search engines." reason: "To provide alternatives to tracking-heavy default search engines." effect: "Users can easily use privacy-respecting search engines." diff --git a/scripts/glean-patches.yaml b/scripts/glean-patches.yaml index b59a957f..28c006bc 100644 --- a/scripts/glean-patches.yaml +++ b/scripts/glean-patches.yaml @@ -14,30 +14,33 @@ categories: patches: # Build System - file: "glean-localize-maven.patch" - name: "Remove Mozilla Maven Repositories" - description: "Removes Mozilla repositories substitution and replaces them with local maven repositories." + name: "Glean - Localize Maven" + description: "Replaces Mozilla Maven repositories with local maven repositories." reason: "Reduces dependency on Mozilla infrastructure and improves build reproducibility." effect: "Provides more control over build dependencies with fewer connections to Mozilla servers." category: "Build System" - - file: "glean-remove-example-dependencies.patch" - name: "Remove Unwanted Example/Sample Dependencies" - description: "Prevents building and configuring unnecessary/unwanted example/sample libraries." + - file: "glean-gradle-project-resolution.patch" + name: "Glean - Gradle project resolution" + description: | + Prevents building and configuring unnecessary/unwanted example/sample libraries, and ensures that only necessary projects are configured + at build-time. reason: "Allows for faster builds, with less overhead." effect: "Reduces build-time, and reduces the complexity of the overall build process." category: "Build System" - file: "glean-unbreak-geckoview-lite.patch" - name: "Unbreak GeckoView Lite" - description: "Unbreaks GeckoView Lite builds." + name: "Glean - Unbreak GeckoView Lite" + description: "Adds support for builds with GeckoView Lite." reason: "Allows for building GeckoView without Glean and unnecessary dependencies." effect: "Unbreaks the build process when building GeckoView without Glean." category: "Build System" # Mozilla - file: "glean-noop.patch" - name: "No-op Glean" + name: "Glean - No-op" description: "No-ops the Glean SDK." - reason: "To prevent any usage data, diagnostics, or technical metrics from being sent to Mozilla, to reduce attack surface, and to reduce unwanted dependencies." + reason: | + To prevent any usage data, diagnostics, or technical metrics from being sent to Mozilla, to reduce attack surface, and to reduce unwanted dependencies. effect: "Prevents unwanted collection and transmission of telemetry data." category: "Mozilla" diff --git a/scripts/patches.yaml b/scripts/patches.yaml index 8ce3b2bd..88b6ee6e 100644 --- a/scripts/patches.yaml +++ b/scripts/patches.yaml @@ -50,198 +50,203 @@ categories: patches: # Build System - file: "a-c-allow-build-date-override.patch" - name: "Allow overriding the build date" + name: "Android Components - Allow overriding the build date" description: "Allows devs to override the build date." reason: "To ensure consistent build dates for all variants of IronFox." effect: "Ensures that the build dates are consistent for all variants of IronFox, in order to prevent unexpected version code issues." category: "Build System" - file: "gecko-ironfox-core.patch" - name: "IronFox - Core (Gecko)" + name: "Gecko - IronFox core" description: "Provides support for core IronFox functionality." reason: "To provide support for core functionality and IronFox-specific resources." effect: "Ensures that core IronFox changes are always/properly applied as expected." category: "Build System" - file: "fenix-ironfox-core.patch" - name: "IronFox - Core (Fenix)" + name: "Fenix - IronFox core" description: "Provides support for core IronFox functionality." reason: "To provide support for core functionality and IronFox-specific resources." effect: "Ensures that core IronFox changes are always/properly applied as expected." category: "Build System" - file: "gecko-ensure-builds-reflect-changes.patch" - name: "Ensure builds always reflect our (latest) changes" + name: "Gecko - Ensure builds always reflect our (latest) changes" description: "Ensures that builds of GeckoView binaries always reflect our (latest) changes." reason: "To ensure that our GeckoView binaries are always packaged as intended." effect: "Ensures that our GeckoView binaries are always packaged as intended." category: "Build System" - file: "gecko-gradle-project-resolution.patch" - name: "Gradle Project Resolution" + name: "Gecko - Gradle project resolution" description: | - Prevents building and configuring unnecessary/unwanted example/sample libraries, and ensures that only necessary projects are configured at build-time. + Prevents building and configuring unnecessary/unwanted example/sample libraries, and ensures that only necessary projects are configured + at build-time. reason: "Allows for faster builds, with less overhead." effect: "Reduces build-time, and reduces the complexity of the overall build process." category: "Build System" - file: "gecko-support-native-manifests.patch" - name: "Support Native Manifests" + name: "Gecko - Support native manifests" description: "Adds support for native manifests to GeckoView." reason: "Adds support for native manifests to GeckoView, in order to configure/harden uBlock Origin." effect: "Users are provided with a strengthened/enhanced config for uBlock Origin out of the box." category: "Build System" - file: "gecko-support-policies.patch" - name: "Support Enterprise Policies" - description: "Adds support for enterprise policies to GeckoView." + name: "Gecko - Support enterprise policies" + description: "Adds support for enterprise policies to GeckoView, so that it can be leveraged for advanced configuration." reason: "Allows for additional control/configuration of the browsing behavior." effect: "Allows users to take advantage of additional customizations, and helps to provide a superior browsing experience." category: "Build System" - file: "gecko-support-autoconfig.patch" - name: "Support AutoConfig" - description: "Adds support for Firefox's AutoConfig functionality to GeckoView, and leverages it for advanced configuration." + name: "Gecko - Support AutoConfig" + description: "Adds support for Firefox's AutoConfig functionality to GeckoView, so that it can be leveraged for advanced configuration." reason: "Allows for additional control/configuration of the browsing behavior." effect: "Allows users to take advantage of additional customizations, and helps to provide a superior browsing experience." category: "Build System" - file: "gecko-autoconfig-setenv.patch" - name: "Support setting environment variables via AutoConfig" - description: "Adds support for setting environment variables with Firefox's AutoConfig functionality." + name: "Gecko - AutoConfig setEnv()" + description: "Adds support for setting environment variables via Firefox's AutoConfig functionality." reason: "Allows for advanced configuration of browsing behavior." effect: "Provides more control and allows for more advanced browser configuration." category: "Build System" - file: "gecko-substitute-nimbus-fml.patch" - name: "Substitute nimbus-fml" - description: "Adds support for using a locally built nimbus-fml binary, instead of fetching an artifact from Mozilla." + name: "Gecko - Substitute nimbus-fml" + description: "Adds support for using a locally built nimbus-fml binary, instead of fetching a prebuilt artifact from Mozilla." reason: "Reduces dependency on Mozilla infrastructure and improves build reproducibility." effect: "Provides more control over build dependencies with fewer connections to Mozilla servers." category: "Build System" - file: "gecko-pref-handling.patch" - name: "Gecko Pref Handling (Gecko)" - description: "Locks Gecko preferences controlled by GeckoRuntimeSettings to ensure they stay in sync with Fenix (Firefox for Android)'s UI settings." + name: "Gecko - Pref handling" + description: | + Locks Gecko preferences controlled by GeckoRuntimeSettings to ensure they stay in sync with Fenix's UI settings. reason: "To avoid bugs/unexpected behavior from UI settings not matching with related Gecko preferences, and to prevent from users from attempting to change these preferences directly from `about:config` (as doing so simply results in the pref resetting on the next browser launch)." effect: "Gecko preferences remain in sync with their corresponding UI setting(s), users are provided with a more stable browsing experience, and users can avoid having their preferences unintentionally reset (when set from `about:config` directly)." category: "Build System" - file: "geckoview-pref-handling.patch" - name: "Gecko Pref Handling (GeckoView)" - description: "Locks Gecko preferences controlled by GeckoRuntimeSettings to ensure they stay in sync with Fenix (Firefox for Android)'s UI settings." + name: "GeckoView - Pref handling" + description: | + Locks Gecko preferences controlled by GeckoRuntimeSettings to ensure they stay in sync with Fenix's UI settings. reason: "To avoid bugs/unexpected behavior from UI settings not matching with related Gecko preferences, and to prevent from users from attempting to change these preferences directly from `about:config` (as doing so simply results in the pref resetting on the next browser launch)." effect: "Gecko preferences remain in sync with their corresponding UI setting(s), users are provided with a more stable browsing experience, and users can avoid having their preferences unintentionally reset (when set from `about:config` directly)." category: "Build System" # Dependency - file: "a-c-liberate.patch" - name: "Remove Unwanted Libraries (Android Components)" - description: "Removes proprietary, tracking, and other unwanted libraries from Mozilla's Android Components (and replaces them with suitable alternatives if desired, such as microG)." + name: "Android Components - Liberate" + description: "Removes proprietary, tracking, and other unwanted libraries/functionality." reason: "To remove unwanted libraries, and dependencies on related services." effect: "Improves privacy and protects the freedom of users." category: "Dependency" - file: "fenix-liberate.patch" - name: "Remove Unwanted Libraries (Fenix)" - description: "Removes proprietary, tracking, and other unwanted libraries from Fenix (and replaces them with suitable alternatives if desired, such as microG)." + name: "Fenix - Liberate" + description: "Removes proprietary, tracking, and other unwanted libraries/functionality." reason: "To remove unwanted libraries, and dependencies on related services." effect: "Improves privacy and protects the freedom of users." category: "Dependency" - file: "fenix-liberate-adjust.patch" - name: "Remove Adjust (Fenix)" - description: "Removes the unwanted Adjust library from Fenix (Firefox for Android)." + name: "Fenix - Remove Adjust" + description: "Removes the Adjust library." reason: "To remove unwanted libraries, and dependencies on related services." effect: "Improves privacy and protects the freedom of users." category: "Dependency" - file: "a-c-liberate-error-support.patch" - name: "Remove Error Support (Android Components)" + name: "Android Components - Remove Error Support" description: "Removes the Rust 'Error Support' library." reason: "To remove unwanted libraries, and dependencies on related services." effect: "Prevents unwanted data collection of users." category: "Dependency" - file: "a-c-liberate-glean.patch" - name: "Remove Glean (Android Components)" - description: "Removes the Glean SDK from Mozilla's Android Components." + name: "Android Components - Remove Glean" + description: "Removes the Glean SDK." reason: "To prevent any usage data, diagnostics, or technical metrics from being sent to Mozilla, to reduce attack surface, and to reduce unwanted dependencies." effect: "Prevents unwanted collection and transmission of telemetry data." category: "Dependency" - file: "fenix-liberate-glean.patch" - name: "Remove Glean (Fenix)" - description: "Removes the Glean SDK from Firefox for Android." + name: "Fenix - Remove Glean" + description: "Removes the Glean SDK." reason: "To prevent any usage data, diagnostics, or technical metrics from being sent to Mozilla, to reduce attack surface, and to reduce unwanted dependencies." effect: "Prevents unwanted collection and transmission of telemetry data." category: "Dependency" - file: "fenix-liberate-firebase.patch" - name: "Remove Google Play Firebase (Fenix)" - description: "Removes the unwanted Google Play Firebase library from Fenix (Firefox for Android)." + name: "Fenix - Remove Google Play Firebase" + description: "Removes the Google Play Firebase library." reason: "To remove unwanted libraries, and dependencies on related services." effect: "Improves privacy and protects the freedom of users." category: "Dependency" - file: "fenix-liberate-play-integrity.patch" - name: "Remove Google Play Integrity (Fenix)" - description: "Removes the unwanted Google Play Integrity library from Fenix (Firefox for Android)." + name: "Fenix - Remove Google Play Integrity" + description: "Removes the Google Play Integrity library." reason: "To remove unwanted libraries, and dependencies on related services." effect: "Improves privacy and protects the freedom of users." category: "Dependency" - file: "fenix-liberate-play-review.patch" - name: "Remove Google Play Review (Fenix)" - description: "Removes the unwanted Google Play Review library from Fenix (Firefox for Android)." + name: "Fenix - Remove Google Play Review" + description: "Removes the Google Play Review library." reason: "To remove unwanted libraries, and dependencies on related services." effect: "Improves privacy and protects the freedom of users." category: "Dependency" - file: "fenix-liberate-mars.patch" - name: "Remove MARS (Fenix)" - description: "Removes the Mozilla Ad Routing Service (MARS) from Firefox for Android." + name: "Fenix - Remove MARS" + description: "Removes the Mozilla Ad Routing Service (MARS)." reason: "To prevent unwanted advertising, to reduce attack surface, and to reduce unwanted dependencies." effect: "Prevents unwanted advertising." category: "Dependency" - file: "a-c-liberate-nimbus.patch" - name: "Remove Nimbus (Android Components)" - description: "Removes the Nimbus library/service from Android Components." + name: "Android Components - Remove Nimbus" + description: "Removes the Nimbus library/service." reason: "To reduce data collection and remove Mozilla's ability to remotely change browser settings." effect: "Ensures user configurations remain consistent and are controlled locally, reduces attack surface, and reduces unwanted dependencies." category: "Mozilla" - file: "fenix-liberate-sentry.patch" - name: "Remove Sentry (Fenix)" - description: "Removes the unwanted Sentry library from Fenix (Firefox for Android)." + name: "Fenix - Remove Sentry" + description: "Removes the Sentry library." reason: "To remove unwanted libraries, and dependencies on related services." effect: "Improves privacy and protects the freedom of users." category: "Dependency" - file: "fenix-liberate-webcompat-reporter.patch" - name: "Remove Web Compatibility Reporter (Fenix)" - description: "Removes the Web Compatibility Reporter from Firefox for Android." + name: "Fenix - Remove Web Compatibility Reporter" + description: "Removes the Web Compatibility Reporter." reason: "To eliminate unwanted dependencies, to declutter the user interface, and to prevent wasting Mozilla's time." effect: "Simplifies the browser UI and prevents issue reports from being sent to Mozilla." category: "Dependency" - file: "geckoview-liberate.patch" - name: "Replace Google Play FIDO with microG" + name: "GeckoView - Liberate" description: "Replaces the Google Play FIDO library with microG." reason: "To remove unwanted proprietary libraries, and dependencies on related services." effect: "Improves privacy and protects the freedom of users." category: "Dependency" - file: "geckoview-prioritize-cred-manager-over-gms.patch" - name: "Prioritize Credential Manager over microG/GMS" - description: "Prioritizes the use of Android's standard Credential Manager API, instead of first attempting to use microG/Google Play Services (if they're installed by the user)." + name: "GeckoView - Prioritize Credential Manager over Google Play Services" + description: | + Prioritizes the use of Android's standard Credential Manager API, instead of first attempting to use Google Play Services (or microG) + if they're available. reason: "Avoids unnecessary/unwanted use of Google Play Services." effect: "Improves privacy and freedom for users, by avoiding the use of Google Play Services." category: "Dependency" - file: "fenix-disable-gms-fonts.patch" - name: "Disable loading fonts from Google Play Services (or the OEM)" + name: "Fenix - Disable loading fonts from Google Play Services (or the OEM)" description: | Prevents the browser from attempting to download/request fonts from Google Play Services (or the OEM), and instead includes the necessary fonts locally. @@ -250,193 +255,208 @@ patches: category: "Dependency" - file: "gecko-remove-clearkey.patch" - name: "Remove Clear Key" - description: "Removes the Clear Key CDM from Gecko." + name: "Gecko - Remove Clear Key" + description: "Removes the Clear Key CDM." reason: "To remove the unwanted Clear Key CDM (used for playback of protected content)." effect: "Improves privacy and security, and protects the freedom of users." category: "Dependency" # Mozilla - file: "fenix-disable-telemetry.patch" - name: "Disable Telemetry (Fenix)" - description: "Disables data collection and submission mechanisms within Firefox for Android." + name: "Fenix - Disable telemetry" + description: "Disables telemetry at build-time and removes various data reporting mechanisms." reason: "To prevent any usage data, diagnostics, or technical metrics from being sent to Mozilla." effect: "Prevents unwanted collection and transmission of telemetry data." category: "Mozilla" - file: "gecko-disable-telemetry.patch" - name: "Disable Telemetry (Gecko)" - description: "Disables data collection and submission mechanisms within Gecko." + name: "Gecko - Disable Telemetry" + description: "Disables telemetry at build-time and removes various data reporting mechanisms." reason: "To prevent any usage data, diagnostics, or technical metrics from being sent to Mozilla." effect: "Prevents unwanted collection and transmission of telemetry data." category: "Mozilla" - file: "gecko-remove-abouttelemetry.patch" - name: "Remove `about:telemetry`" - description: "Removes the internal `about:telemetry` page." - reason: "To improve UX." + name: "Gecko - Remove about:telemetry" + description: "Removes the `about:telemetry` page." + reason: "To improve UX and eliminate unwanted components." effect: "Prevents users from incorrectly believing telemetry is supported/enabled, and reduces unwanted resources." category: "Mozilla" - file: "gecko-remove-aboutrestricted.patch" - name: "Remove `about:restricted`" - description: "Removes the internal `about:restricted` page (used for parental controls)." + name: "Gecko - Remove about:restricted" + description: "Removes the `about:restricted` page (used for ex. parental controls)." reason: "To improve UX and eliminate unwanted components." effect: "Ensures that parental controls are not active and filtering webpages, and reduces unwanted resources." category: "Mozilla" - file: "a-c-disable-crash-reporting.patch" - name: "Disable Crash Reporting (Android Components)" - description: "Disables the collection and submission of crash reports within Mozilla's Android Components." + name: "Android Components - Disable crash reporting" + description: "Disables and prevents the collection/submission of crash reports." reason: "To prevent submitting personal and/or sensitive data to Mozilla." effect: "Prevents unwanted collection and transmission of crash reports." category: "Mozilla" - file: "fenix-disable-crash-reporting.patch" - name: "Disable Crash Reporting (Fenix)" - description: "Disables the collection and submission of crash reports within Firefox for Android." + name: "Fenix - Disable crash reporting" + description: "Disables and prevents the collection/submission of crash reports." reason: "To prevent submitting personal and/or sensitive data to Mozilla." effect: "Prevents unwanted collection and transmission of crash reports." category: "Mozilla" - file: "geckoview-disable-crash-reporting.patch" - name: "Disable Crash Reporting (GeckoView)" - description: "Disables the collection and submission of crash reports within GeckoView." + name: "GeckoView - Disable crash reporting" + description: "Disables and prevents the collection/submission of crash reports." reason: "To prevent submitting personal and/or sensitive data to Mozilla." effect: "Prevents unwanted collection and transmission of crash reports." category: "Mozilla" - file: "fenix-disable-nimbus.patch" - name: "Disable Nimbus Experimentation (Fenix)" - description: "Prevents A/B testing and remote configuration of settings via Nimbus within Firefox for Android." + name: "Fenix - Disable Nimbus" + description: "Disables and prevents A/B testing/experimentation and remote configuration of settings." reason: "To reduce data collection and remove Mozilla's ability to remotely change browser settings." effect: "Ensures user configurations remain consistent and are controlled locally." category: "Mozilla" - file: "gecko-disable-nimbus.patch" - name: "Disable Nimbus Experimentation (Gecko)" - description: "Prevents A/B testing and remote configuration of settings via Nimbus within Gecko." + name: "Gecko - Disable Nimbus" + description: "Disables and prevents A/B testing/experimentation and remote configuration of settings." reason: "To reduce data collection and remove Mozilla's ability to remotely change browser settings." effect: "Ensures user configurations remain consistent and are controlled locally." category: "Mozilla" - file: "fenix-disable-firefox-suggest.patch" - name: "Disable Firefox Suggest" - description: "Disables Firefox Suggest functionality." + name: "Fenix - Disable Firefox Suggest" + description: | + Disables Firefox Suggest by default, removes unwanted Firefox Suggest UI elements, and ensure that suggestions from Firefox Suggest are + only queried if the user actually enables suggestions. reason: "To remove sponsored suggestions, and to prevent sending address bar data to Mozilla." effect: "Cleaner, more private address bar experience, without web suggestions." category: "Mozilla" - - file: "fenix-disable-ai-controls.patch" - name: "Disable AI Controls" - description: "Disables the 'AI Controls' settings menu." + - file: "fenix-remove-ai-controls.patch" + name: "Fenix - Remove AI Controls" + description: "Provides support for removing the 'AI Controls' settings menu." reason: "To prevent undesired AI functionality from being enabled in the browser and provide a cleaner UI." effect: "Prevents unwanted AI features from being exposed to users." category: "Mozilla" - file: "a-c-disable-amo-collections.patch" - name: "Disable AMO Featured Collections and Recommendations." + name: "Android Components - Disable AMO featured collections/recommendations." description: "Disables fetching featured collections, recommendations, and icons from AMO (addons.mozilla.org)." reason: "To prevent Firefox from connecting to `services.addons.mozilla.org` on every launch and periodically after." effect: "Reduces unwanted network activity and integration with third party services." category: "Mozilla" - file: "fenix-disable-contile.patch" - name: "Disable Contile" - description: "Disables integration with Mozilla's Contile service (sponsored tiles) - https://mozilla-services.github.io/contile/." + name: "Fenix - Disable Contile" + description: "Disables integration with Mozilla's Contile service (sponsored tiles): https://mozilla-services.github.io/contile/." reason: "To remove unwanted advertising and unnecessary third-party services." effect: "Cleaner interface without promotional content." category: "Mozilla" - file: "fenix-disable-pocket.patch" - name: "Disable Pocket" + name: "Fenix - Disable Pocket" description: "Disables integration with Pocket." reason: "To remove unnecessary third-party services and sponsored content." effect: "Cleaner interface without promotional content or third-party integrations." category: "Mozilla" - file: "fenix-disable-sync-engines-by-default.patch" - name: "Disable Firefox Sync" - description: "Disables Firefox Sync by default." + name: "Fenix - Disable Firefox Sync engines by default" + description: "Disables Firefox Sync engines by default." reason: "To prevent automatic sync of browser data to Mozilla servers." effect: "No data is synchronized with Mozilla unless explicitly enabled by user." category: "Mozilla" - file: "fenix-disable-sync-avatar-fetching.patch" - name: "Disable Firefox Sync Avatar Fetching" - description: "Disables downloading the user's profile picture from Mozilla if Firefox Sync is enabled." - reason: "To prevent Firefox from connecting to `https://profile.accounts.firefox.com/v1/avatar/b` every time the user navigates to settings if Firefox Sync is enabled." + name: "Fenix - Disable Firefox Sync Avatar Fetching" + description: "Prevents the browser from downloading the user's profile picture from Mozilla if Firefox Sync is enabled." + reason: | + To prevent Firefox from connecting to `https://profile.accounts.firefox.com/v1/avatar/b` every time the user navigates to settings if + Firefox Sync is enabled. effect: "Reduces unwanted network activity and integration with third party services." category: "Mozilla" - file: "gecko-rs-blocker.patch" - name: "Block Remote Settings (Gecko)" - description: "Restricts Remote Settings to only download collections specified in preferences." + name: "Gecko - Remote Settings Blocker" + description: "Prevents Remote Settings from downloading unwanted collections." reason: "To prevent the download/use of unnecessary and undesired Remote Settings from Mozilla (ex. for experimentation)." - effect: "Network activity is further limited, less data is shared with Mozilla, and the user is put in control of what specifically they want to download from Remote Settings." + effect: | + Network activity is further limited, less data is shared with Mozilla, and the user is put in control of what specifically they want to download from Remote Settings. category: "Mozilla" - file: "gecko-support-addon-installation-without-mozaddonmanager.patch" - name: "Support add-on installation without mozAddonManager" - description: "Adds support for installing add-ons from `addons.mozilla.org`, without allowing Mozilla to enable, uninstall, and query a list of the user's installed add-ons (via the privileged mozAddonManager API), in addition to websites specified with the `xpinstall.whitelist.add` series of prefs." - reason: "To prevent fingerprinting, reduce attack surface, and to improve freedom by allowing users to install add-ons from sites other than AMO if desired (though installing add-ons outside of AMO is of course STRONGLY recommended against)." - effect: "Allows users to install add-ons from addons.mozilla.org (via the mozAddonManager API) without compromising their privacy and security, and allows installation from other sites if desired by the user." + name: "Gecko - Support add-on installation without mozAddonManager" + description: | + Adds support for installing add-ons from `addons.mozilla.org`, without allowing Mozilla to enable, uninstall, and query a list of the user's + installed add-ons (via the privileged mozAddonManager API), in addition to websites specified with the `xpinstall.whitelist.add` series of prefs. + reason: | + To prevent fingerprinting, reduce attack surface, and to improve freedom by allowing users to install add-ons from sites other than AMO + if desired (though installing add-ons outside of AMO is of course STRONGLY recommended against). + effect: | + Allows users to install add-ons from addons.mozilla.org (via the mozAddonManager API) without compromising their privacy and security, and + allows installation from other sites if desired by the user. category: "Mozilla" - file: "gecko-remove-privileged-addon-signing-status.patch" - name: "Remove privileged add-on signing status" + name: "Gecko - Remove privileged add-on signing status" description: "Prevents Mozilla add-ons from returning the 'PRIVILEGED' and 'SYSTEM' add-on signing states." - reason: "To improve privacy, security, and control for users, by preventing external add-ons developed By Mozilla from utilizing special privileged functionality." + reason: | + To improve privacy, security, and control for users, by preventing external add-ons developed By Mozilla from utilizing special privileged functionality. effect: "Users have improved privacy, security, and control over their extensions." category: "Mozilla" - file: "fenix-disable-cfrs.patch" - name: "Disable Contextual Feature Recommendations (CFRs)" - description: "Disables contextual feature recommendations and other promotional messaging." - reason: "To remove promotional suggestions for Firefox features, and to eliminate unnecessary engagement messages that may interrupt user workflows." + name: "Fenix - Disable contextual feature recommendations" + description: "Disables contextual feature recommendations (CFRs) and other promotional messaging." + reason: | + To remove promotional suggestions for Firefox features, and to eliminate unnecessary engagement messages that may interrupt user workflows. effect: "Provides a cleaner interface without contextual prompts, recommendations, and unwanted nags." category: "Mozilla" - file: "fenix-local-wallpapers.patch" - name: "Local Wallpapers" - description: "Adds a built-in collection of wallpapers for the browser's homepage." - reason: "By default, Firefox fetches wallpapers from Mozilla servers on every browser launch. We disable this, due to the associated privacy concerns, and to reduce unwanted network activity." - effect: "Users can personalize the browser and take advantage of wallpapers, without introducing unnecessary/unwanted network activity and dependence on Mozilla services." + name: "Fenix - Local wallpapers" + description: "Adds support for local wallpapers, to prevent downloading them from Mozilla servers upon each launch." + reason: | + By default, Firefox fetches wallpapers from Mozilla servers on every browser launch. We disable this, due to the associated privacy concerns, + and to reduce unwanted network activity. This patch adds back support for wallpapers, by including a collection locally. + effect: "Users can personalize the browser and take advantage of wallpapers, without the privacy implications and dependence on Mozilla services." category: "Mozilla" - file: "fenix-configure-geckoprovider.patch" - name: "Configure GeckoProvider" - description: "Configures Firefox's implementation of GeckoView (GeckoProvider)" + name: "Fenix - Configure GeckoProvider" + description: "Configures Firefox's implementation of GeckoView (GeckoProvider)." reason: "Disables integration with crash reporting and experimentation (Nimbus)." effect: "Prevents unwanted collection and transmission of crash reports, and ensures user configurations remain consistent and are controlled locally." category: "Mozilla" - file: "fenix-remove-sync-promo-bookmarks.patch" - name: "Remove Firefox Sync Bookmark Promotion" - description: "Removes Mozilla's promotion to enable Sync at the bookmarks fragment." + name: "Fenix - Remove Firefox Sync bookmark promotion" + description: "Removes Mozilla's promotion to enable Firefox Sync at the bookmarks fragment." reason: "To prevent unwanted nags/promotional suggestions from interrupting user workflows." effect: "Improves user experience by removing an unwanted Sync promotion." category: "Mozilla" - file: "fenix-remove-sync-promo-settings.patch" - name: "Remove Firefox Sync Settings Promotion" - description: "Removes Mozilla's promotional banner to enable Sync at the top of the settings fragment." + name: "Fenix - Remove Firefox Sync settings promotion" + description: "Removes Mozilla's promotional banner to enable Firefox Sync at the top of the settings fragment." reason: "To prevent unwanted nags/promotional suggestions from interrupting user workflows." effect: "Improves user experience by removing an unwanted Sync promotion." category: "Mozilla" - file: "gecko-remove-url-tracking-params.patch" - name: "Remove URL Tracking Parameters" + name: "Gecko - Remove URL tracking parameters" description: "Prevents the browser from appending URL tracking parameters to Mozilla support links." reason: "To improve privacy." effect: "Improves privacy by removing unnecessary URL tracking parameters from Mozilla support links." category: "Mozilla" # Privacy - - file: "fenix-add-doh-providers.patch" - name: "Add DNS over HTTPS Providers" + - file: "fenix-configure-doh-providers.patch" + name: "Fenix - Configure DNS over HTTPS providers" description: | - Adds the following DoH providers to the browser's built-in list: + Adds the following custom DoH providers: - Mullvad (Base) - Cloudflare (Malware Protection) - DNS4EU (Ad Blocking) @@ -448,77 +468,85 @@ patches: category: "Privacy" - file: "fenix-sanitize-data-on-exit-by-default.patch" - name: "Sanitize Data on Exit" - description: "Clears browsing data on exit by default" + name: "Fenix - Sanitize data on exit" + description: "Ensures the UI reflects our values to sanitize data on exit by default." reason: "Protects privacy between browser sessions." effect: "Automatically clears tabs, history, cache, and download list when browser closes." category: "Privacy" - file: "a-c-configure-default-search-engines.patch" - name: "Custom Search Engines" + name: "Android Components - Configure default search engines" description: "Adds custom privacy-focused search engines." reason: "To provide alternatives to tracking-heavy default search engines." effect: "Users can easily use privacy-respecting search engines." category: "Privacy" - file: "gecko-configure-ublock-origin.patch" - name: "Configure uBlock Origin" + name: "Gecko - Configure uBlock Origin" description: "Sets uBlock Origin to use a custom/enhanced config, and changes certain settings by default." reason: "To provide stronger out-of-box content blocking." effect: "Better ad and tracker blocking with optimized filter lists." category: "Privacy" - file: "fenix-disable-network-connectivity-monitoring.patch" - name: "Disable Network Connectivity Status Monitoring (Fenix)" - description: "Prevents Firefox for Android from monitoring the status of the user's internet connection." + name: "Fenix - Disable network connectivity status monitoring" + description: | + Removes the `ACCCESS_NETWORK_STATE` permission and prevents the browser from monitoring the status of the user's internet connection. reason: "To prevent the browser from accessing network information (with the `ACCESS_NETWORK_STATE` permission)." effect: "Reduces required permissions and limits data exposed to the browser." category: "Privacy" - file: "geckoview-disable-network-connectivity-monitoring.patch" - name: "Disable Network Connectivity Status Monitoring (GeckoView)" - description: "Prevents GeckoView from monitoring the status of the user's internet connection." + name: "GeckoView - Disable network connectivity status monitoring" + description: | + Removes the `ACCCESS_NETWORK_STATE` permission and prevents the browser from monitoring the status of the user's internet connection. reason: "To prevent the browser from accessing network information (with the `ACCESS_NETWORK_STATE` permission)." effect: "Reduces required permissions and limits data exposed to the browser." category: "Privacy" - file: "gecko-disable-network-id.patch" - name: "Disable Network ID generation" - description: "Prevents Firefox from generating an internal network ID that could potentially be used to track users (https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/4c548fa04b668a310c90c0e783ec404420f06257)." - reason: "To prevent the browser from generating an ID that could be used for tracking/fingerprinting." + name: "Gecko - Disable network ID generation" + description: "Prevents Firefox from generating an internal network ID that could potentially be used to track users." + reason: | + To prevent the browser from generating an ID that could be used for tracking/fingerprinting. + (For details, see: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/4c548fa04b668a310c90c0e783ec404420f06257) effect: "Protects users against tracking/fingerprinting." category: "Privacy" - file: "geckoview-disable-speculative-connections.patch" - name: "Disable Speculative Connections" + name: "GeckoView - Disable speculative connections" description: "Prevents GeckoView from generating speculative/predictive connections." reason: "To prevent unwanted/unsolicited network traffic (In Fenix, this is currently used for certain URL bar suggestions)." effect: "Prevents the browser from connecting to third parties without explicit user consent, and provides users with more control over their network activity." category: "Privacy" - file: "gecko-stub-beacon.patch" - name: "Stub the Beacon API (navigator.sendBeacon)" - description: "To prevent tracking and the submission of analytics, without aiding fingerprinting and causing undesired breakage." - reason: "The Beacon API (navigator.sendBeacon)'s explicit, stated purpose/use case is for analytics/tracking (https://developer.mozilla.org/docs/Web/API/Beacon_API). However, disabling it entirely (like standard Firefox allows) is undesired, as it causes breakage, aids fingerprinting, and can allow trackers to fallback to other mechanisms for submitting data (as they can tell it's disabled/unavailable). Stubbing the API instead fixes these issues." - effect: "Users are protected against tracking, and benefit from added attack surface reduction, without causing breakage and having to deal with the usual side effects that appear when the Beacon API is disabled." + name: "Gecko - Stub navigator.sendBeacon()" + description: | + Stubs the Beacon API to prevent tracking and the submission of analytics, without aiding fingerprinting and causing undesired breakage. + reason: | + The Beacon API (navigator.sendBeacon)'s explicit, stated purpose/use case is for analytics/tracking + (https://developer.mozilla.org/docs/Web/API/Beacon_API). However, disabling it entirely (like standard Firefox allows) is undesired, as it + causes breakage, aids fingerprinting, and can allow trackers to fallback to other mechanisms for submitting data + (as they can tell it's disabled/unavailable). Stubbing the API instead fixes these issues. + effect: | + Users are protected against tracking, and benefit from added attack surface reduction, without causing breakage and having to deal with the + usual side effects that appear when the Beacon API is disabled. category: "Privacy" - file: "gecko-prevent-fingerprinting-via-chrome-resources.patch" - name: "Prevent fingerprinting via the browser's internal resources" - description: | - Prevents exposing branding assets and certain other internal resources to websites - (https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ecb798d066b039329223b4c31133e2f917ca477d). - Also adds the resources for `about:crashes` in order to match Firefox. + name: "Gecko - Prevent fingerprinting via internal resources" + description: "Prevents the browser from exposing branding assets and certain other internal resources to websites." reason: | Improves privacy by preventing websites from determining whether a user is on IronFox, and improves compatibility, as we have reason to believe websites might be using this to block users of derivatives (ex. IronFox and LibreWolf). + (For details, see: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ecb798d066b039329223b4c31133e2f917ca477d). effect: "Users are protected against additional fingerprinting vectors, and websites work as expected." category: "Privacy" - file: "gecko-prevent-fingerprinting-via-crash-resources.patch" - name: "Prevent fingerprinting via the presence of resources used by `about:crashes`" - description: | - Adds the resources for `about:crashes` in order to match Firefox. + name: "Gecko - Prevent fingerprinting via about:crashes resources" + description: "Prevents the browser from exposing that crash reporting is disabled to websites." reason: | Improves privacy by preventing websites from determining whether a user is on IronFox, and improves compatibility, as we have reason to believe websites might be using this to block users of derivatives (ex. IronFox and LibreWolf). @@ -526,7 +554,7 @@ patches: category: "Privacy" - file: "gecko-prevent-fingerprinting-via-eme.patch" - name: "Prevent fingerprinting via EME" + name: "Gecko - Prevent fingerprinting via EME" description: "Prevents fingerprinting via the status of EME." reason: | Fenix typically doesn't provide a way to configure `media.eme.enabled`. Due to a different @@ -541,9 +569,9 @@ patches: category: "Privacy" - file: "gecko-prevent-exposing-name-and-vendor-to-extensions.patch" - name: "Prevent exposing the browser name and vendor to extensions" + name: "Gecko - Prevent exposing the browser name and vendor to extensions" description: | - Prevents exposing the browser name and vendor to extensions via getBrowserInfo + Prevents exposing the browser name and vendor to extensions via getBrowserInfo() (https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/runtime/getBrowserInfo). reason: | Improves privacy by preventing extensions from determining whether a user is on IronFox, @@ -552,29 +580,30 @@ patches: category: "Privacy" - file: "a-c-disable-unsolicited-favicon-fetching.patch" - name: "Disable unsolicited favicon fetching" + name: "Android Components - Disable unsolicited favicon fetching" description: "Prevents Firefox from automatically fetching favicons for websites pinned to the browser homepage." reason: "To prevent unwanted network activity and connections to third parties." effect: "Reduces network activity, provides users with more control, and provides a faster browser homepage." category: "Privacy" - file: "a-c-do-not-unconditionally-allow-builtin-addons-to-access-private-browsing.patch" - name: "Do not allow built-in add-ons to access private browsing windows unconditionally" + name: "Android Components - Do not allow built-in add-ons to access private browsing windows unconditionally" description: "Prevents built-in add-ons from always being able to access private browsing windows, even if they don't request or need access." reason: "To improve privacy and security for users by limiting the amount of access built-in add-ons have to the browser." effect: "Users are provided with a more private and secure browsing experience." category: "Privacy" - file: "gecko-fix-canvas-randomization.patch" - name: "Fix Canvas Randomization" + name: "Gecko - Fix canvas randomization" description: | - Backports a fix for an upstream bug that prevents Canvas randomization from working for getImageData and WebGL image hash: https://bugzilla.mozilla.org/show_bug.cgi?id=2013976, and enables Canvas randomization for solid colors. + Backports a fix for an upstream bug that prevents Canvas randomization from working for getImageData and WebGL image hash + (https://bugzilla.mozilla.org/show_bug.cgi?id=2013976), and enables Canvas randomization for solid colors. reason: "To protect against fingerprinting by ensuring that canvas data is fully randomized." effect: "Users are provided with fingerprinting protection that works as expected." category: "Privacy" - file: "gecko-remove-openai.patch" - name: "Remove OpenAI Backend" + name: "Gecko - Remove OpenAI" description: "Removes the OpenAI backend from Mozilla's ML (machine learning) component." reason: "To improve privacy for users (and reduce attack surface) by removing integration with a privacy-invasive/unwanted LLM." effect: "Users are provided with a more private browsing experience." @@ -582,50 +611,57 @@ patches: # Security - file: "gecko-certificate-pinning.patch" - name: "Certificate Pinning" - description: | - Updates and expands the list of domains supported by Mozilla's built-in certificate pinning. - reason: "To protect against MITM attacks by restricting which certificate authorities can issue valid certificates for included websites. Example of a real-world attack that this protects against: https://blog.mozilla.org/security/2011/08/29/fraudulent-google-com-certificate/." + name: "Gecko - Certificate pinning" + description: "Updates and expands the list of domains supported by Mozilla's built-in certificate pinning." + reason: | + To protect against MITM attacks by restricting which certificate authorities can issue valid certificates for included websites. + Example of a real-world attack that this protects against: https://blog.mozilla.org/security/2011/08/29/fraudulent-google-com-certificate/. effect: "Users are provided with a more secure browsing experience." category: "Security" - file: "gecko-harden-pdfjs.patch" - name: "Harden PDF.js" + name: "Gecko - Harden PDF.js" description: "Hardens Firefox's built-in PDF Viewer (PDF.js)." - reason: "To reduce attack surface and protect users from various attacks, with changes inspired by GrapheneOS's PDF Viewer: https://github.com/GrapheneOS/PdfViewer." + reason: | + To reduce attack surface and protect users from various attacks, with changes inspired by GrapheneOS's PDF Viewer + (https://github.com/GrapheneOS/PdfViewer). effect: "Users are provided with a more secure PDF viewing experience, while still enjoying it from the comfort of their browser." category: "Security" - file: "gecko-prevent-extensions-from-changing-browser-settings.patch" - name: "Prevent Extensions From Changing Browser Settings" + name: "Gecko - Prevent extensions from changing browser settings" description: "Prevents extensions from changing various browser settings." reason: "To prevent extensions from making unauthorized changes to browser settings." effect: "Ensures browser settings aren't changed without explicit user consent." category: "Security" - file: "fenix-increase-update-frequency.patch" - name: "Increase Update Frequency" - description: "Increases the rate at which Firefox syncs with Remote Settings, from every 24 hours to hourly, and the rate at which Firefox checks for add-on updates, from every 12 hours to hourly." + name: "Fenix - Increase update frequency" + description: | + Increases the rate at which Firefox syncs with Remote Settings, from every 24 hours to hourly, and the rate at which + Firefox checks for add-on updates, from every 12 hours to hourly. reason: "To improve security for users, by ensuring they are kept up to date as fast as possible." effect: "Protects users against security vulnerabilities and other potential threats, by ensuring their add-ons and Remote Settings are always up to date." category: "Security" - file: "fenix-enable-encrypted-storage.patch" - name: "Enable Encrypted Storage" - description: "Enables encrypted storage (via Android's Keystore system: https://developer.android.com/privacy-and-security/keystore) for Firefox account state." + name: "Fenix - Enable encrypted storage" + description: | + Enables encrypted storage via Android's Keystore system (https://developer.android.com/privacy-and-security/keystore) for + Firefox account state. reason: "To improve privacy and security for users, by adding extra protection for sensitive data." effect: "Protects users against unauthorized access/compromise to sensitive data." category: "Security" - file: "fenix-enable-memory-tagging.patch" - name: "Enable Memory Tagging" - description: "Enables memory tagging (via Android's Arm Memory Tagging Extension: https://developer.android.com/ndk/guides/arm-mte)." + name: "Fenix - Enable memory tagging" + description: "Enables memory tagging via Android's Arm Memory Tagging Extension (https://developer.android.com/ndk/guides/arm-mte)." reason: "To improve security for users, by improving memory safety." effect: "Protects users against memory safety bugs." category: "Security" - file: "fenix-disable-profiling.patch" - name: "Disable Profiling" + name: "Fenix - Disable profiling" description: "Disables profiling functionality/integration." reason: | To improve security for users, by reducing attack surface, and to ensure features meant for debugging/development @@ -635,7 +671,7 @@ patches: # User Control - file: "gecko-devtools-bypass.patch" - name: "Bypass DevTools detection" + name: "Gecko - Bypass DevTools detection" description: "Prevents websites from detecting that a user is using developer tools/debugging." reason: | To allow users to use developer tools/debugging if desired, without leading to undesired behavior from websites. @@ -644,122 +680,138 @@ patches: category: "User Control" - file: "gecko-enable-aboutinference.patch" - name: "Enable `about:inference`" + name: "Gecko - Enable about:inference" description: "Enables the `about:inference` page." reason: "To allow users to control machine learning models." effect: "Users can easily test and configure installed machine learning models, as well as other related functionality." category: "User Control" - file: "a-c-display-builtin-addons.patch" - name: "Display built-in add-ons" - description: "Displays built-in add-ons at the Extensions fragment." - reason: "To improve freedom/control for users, by allowing them to see the full list of extensions installed on their browser, as well as their permissions and other information. Also improves security/provides attack surface reduction by allowing users to disable unused extensions." + name: "Android Components - Display built-in add-ons" + description: "Displays built-in add-ons alongside user-installed ones." + reason: | + To improve freedom/control for users, by allowing them to see the full list of extensions installed on their browser, as well as their + permissions and other information. Also improves security/provides attack surface reduction by allowing users to disable unused extensions. effect: "Users are provided with more control over their browsing experience, and can further improve their security if desired." category: "User Control" # User Experience - file: "gecko-ironfox-fingerprinting-protection-overrides.patch" - name: "IronFox Fingerprinting Protection (FPP) Overrides" + name: "Gecko - IronFox Fingerprinting Protection (FPP) overrides" description: "Adds support for an internal list that disables specific fingerprinting protections as needed on a per-site basis." - reason: "To reduce website breakage for end-users. Setting the overrides this way specifically also avoids us needing to use the 'privacy.fingerprintingProtection.granularOverrides' preference like we have in the past, allowing users to easily set their own overrides (via that preference) if needed." - effect: "Provides users with a seamless browsing experience and allows them to benefit from our strong fingerprinting protection, minus the breakage and headaches." + reason: | + To reduce website breakage for end-users. Setting the overrides this way specifically also avoids us needing to use the + 'privacy.fingerprintingProtection.granularOverrides' preference like we have in the past, allowing users to easily set their own overrides + (via that preference) if needed. + effect: | + Provides users with a seamless browsing experience and allows them to benefit from our strong fingerprinting protection, minus the breakage + and headaches. category: "User Experience" - file: "fenix-ironfox-onboarding.patch" - name: "IronFox Onboarding" + name: "Fenix - IronFox onboarding" description: "Adds IronFox-specific onboarding screens." reason: "To allow users to configure IronFox to their liking on first install." effect: "Users can toggle features as per their liking before they take effect in the browser." category: "User Experience" - file: "a-c-allow-ubo-in-private-browsing-by-default.patch" - name: "Allow uBlock Origin in Private Browsing by default" + name: "Android Components - Allow uBlock Origin in private browsing windows by default" description: "Allows uBlock Origin to run in private browsing windows by default." reason: "To ensure that users are protected with strong content blocking in private browsing windows." effect: "Users are always protected against ads/tracking/malware/etc." category: "User Experience" - file: "fenix-hide-remove-and-pb-for-builtin-addons.patch" - name: "Hide the 'Remove' and 'Run in private browsing' toggles for built-in add-ons." + name: "Fenix - Hide the 'Remove' and 'Run in private browsing' toggles for built-in add-ons" description: "Hide the no-op 'Remove' and 'Run in private browsing' toggles for built-in add-ons." reason: "To improve UX and prevent users from seeing/attempting to use toggles that do not work (The 'Run in private browsing' toggle simply immediately resets, and built-in add-ons are simply re-installed on the next launch if uninstalled with the 'Remove' toggle)." effect: "Users are provided with a cleaner UI and won't try to use toggles that do not work as expected." category: "User Experience" - file: "fenix-control-autofill-gecko.patch" - name: "Control Gecko Autofill From UI Settings" - description: "If autofill is enabled/disabled from the browser's UI settings, this patch also enables/disables support for it within Gecko." - reason: "Helps ensure that Gecko preferences/behavior is in sync with Fenix settings/behavior, improves UX, performance, and provides additional attack surface reduction, by ensuring that autofill functionality is fully disabled within Gecko when it's disabled by the corresponding Fenix UI settings." + name: "Fenix - Control Gecko Autofill" + description: | + If autofill is enabled/disabled from the browser's UI settings, this ensures that the functionality is also fully enabled/disabled within Gecko. + reason: | + Helps ensure that Gecko preferences/behavior is in sync with Fenix settings/behavior, improves UX, performance, and provides + additional attack surface reduction, by ensuring that autofill functionality is fully disabled within Gecko when it's disabled + by the corresponding Fenix UI settings. effect: "Users can fully disable address/credit card autofill functionality from the UI." category: "User Experience" - file: "fenix-control-password-mgr-gecko.patch" - name: "Control Gecko Password Manager From UI Settings" - description: "If the password manager is enabled/disabled from the browser's UI settings, this patch also enables/disables support for it within Gecko." - reason: "Helps ensure that Gecko preferences/behavior is in sync with Fenix settings/behavior, improves UX, performance, and provides additional attack surface reduction, by ensuring that password manager functionality is fully disabled within Gecko when it's disabled by the corresponding Fenix UI setting." + name: "Fenix - Control Gecko Password Manager" + description: | + If the password manager is enabled/disabled from the browser's UI settings, this ensures that the functionality is also fully enabled/disabled + within Gecko. + reason: | + Helps ensure that Gecko preferences/behavior is in sync with Fenix settings/behavior, improves UX, performance, and provides + additional attack surface reduction, by ensuring that password manager functionality is fully disabled within Gecko when it's disabled + by the corresponding Fenix UI setting. effect: "Users can fully disable password manager functionality from the UI." category: "User Experience" # User Interface - file: "fenix-ironfox-branding.patch" - name: "IronFox Branding (Fenix)" - description: "Modifies the branding to IronFox." + name: "Fenix - IronFox branding" + description: "Modifies branding elements to IronFox." reason: "Creates distinct brand identity for the fork." effect: "Users can identify the fork as IronFox instead of Firefox." category: "User Interface" - file: "gecko-ironfox-branding.patch" - name: "IronFox Branding (Gecko)" - description: "Modifies the branding to IronFox." + name: "Gecko - IronFox branding" + description: "Modifies branding elements to IronFox." reason: "Creates distinct brand identity for the fork." effect: "Users can identify the fork as IronFox instead of Firefox." category: "User Interface" - file: "fenix-display-cookie-banner-ui-in-standard-browsing.patch" - name: "Display Cookie Banner Reduction UI in Standard Browsing." - description: "Enables the UI to control Cookie Banner Reduction per-site in standard browsing windows." + name: "Fenix - Display Cookie Banner Reduction UI in standard browsing windows" + description: "Enables UI to control Cookie Banner Reduction per-site in standard browsing windows." reason: "The ability to control Cookie Banner Reduction per-site is typically only displayed in private browsing windows." effect: "Users are provided with more control by allowing them to control Cookie Banner Reduction on a per-site basis." category: "User Interface" - file: "gecko-expose-hidden-aboutsupport-settings.patch" - name: "Expose hidden settings at `about:support`" - description: "Enables advanced options at `about:support`." + name: "Gecko - Expose hidden settings at about:support" + description: "Enables the display of advanced options at `about:support`." reason: "Allows users to clear the browser's startup cache, kill the GPU process, and reset GPU devices if necessary." effect: "Users have more control over their web browser." category: "User Interface" - file: "gecko-expose-aboutsupport-prefs.patch" - name: "Expose additional preferences at `about:support`" + name: "Gecko - Expose preferences at about:support" description: "Enables the display of certain important preferences at `about:support`." reason: "Allows for easier troubleshooting and support." effect: "Users can easily see if they have modified these important preferences." category: "User Interface" - file: "gecko-expose-about-pages.patch" - name: "Expose `about:` pages" - description: "Exposes `about:config` and `about:translations` at `about:about`, alongside other internal `about:` pages." + name: "Gecko - Expose about: pages" + description: "Exposes usually hidden `about:` pages at `about:about`." reason: "To provide users with easier access to advanced configuration options and local translations." effect: "Users can access `about:config` easier to customize advanced Firefox settings not available in the regular settings menu, and can access `about:translations` easier for local translations." category: "User Interface" - file: "gecko-enable-abouttranslations.patch" - name: "Enable `about:translations`" - description: "Enables `about:translations`." + name: "Gecko - Enable about:translations" + description: "Enables the `about:translations` page." reason: "To provide users with direct access to the Firefox Translations feature." effect: "Like on Desktop, users can access `about:translations` to translate text directly, without needing the text to be on an external webpage." category: "User Interface" - file: "fenix-ironfox-settings.patch" - name: "IronFox Settings (Fenix)" - description: "Adds support to Fenix (Firefox for Android) for IronFox-specific UI settings to control various functionality." + name: "Fenix - IronFox settings" + description: "Adds support for IronFox-specific UI settings to control various functionality." reason: | To allow users to easily control their browsing experience. effect: "Users can conveniently enable/disable these features as needed to meet their needs, without needing to dig into advanced settings or the `about:config`." category: "User Interface" - file: "fenix-ironfox-settings-search.patch" - name: "IronFox Settings Search" + name: "Fenix - IronFox settings search" description: "Allows users to search for IronFox-specific UI settings." reason: | To allow users to easily find IronFox UI settings, like they can with standard UI settings. @@ -767,107 +819,107 @@ patches: category: "User Interface" - file: "gecko-ironfox-settings.patch" - name: "IronFox Settings (Gecko)" - description: "Adds support to Gecko for IronFox-specific preferences/UI settings to control various functionality." + name: "Gecko - IronFox settings" + description: "Adds support for IronFox-specific preferences to control various functionality." reason: | To allow users to easily control their browsing experience. effect: "Users can conveniently enable/disable these features as needed to meet their needs." category: "User Interface" - file: "fenix-ironfox-ui.patch" - name: "IronFox UI" + name: "Fenix - IronFox UI" description: "Adds minor tweaks to the browser's user interface." reason: "To reduce clutter and improve the user experience." effect: "Users are provided with a cleaner, focused browsing experience." category: "User Interface" - file: "fenix-secret-settings-visibility.patch" - name: "Secret Settings Visibility" - description: "Provides support for enabling or disabling the display of UI settings within the Secret Settings Fragment." + name: "Fenix - Secret Settings visibility" + description: "Provides support for controlling the visibility of UI settings within the Secret Settings fragment." reason: "To hide unwanted settings and display wanted ones." effect: "Unwanted UI settings are hidden, and settings that we do want to display are revealed." category: "User Interface" - file: "fenix-site-settings-visibility.patch" - name: "Site Settings Visibility" - description: "Provides support for enabling or disabling the display of UI settings within the Site Settings Fragment." + name: "Fenix - Site Settings visibility" + description: "Provides support for controlling the visibility of UI settings within the Site Settings fragment." reason: "To hide unwanted settings and display wanted ones." effect: "Unwanted UI settings are hidden, and settings that we do want to display are revealed." category: "User Interface" - file: "fenix-tracking-protection-settings-visibility.patch" - name: "Tracking Protection Settings Visibility" - description: "Provides support for enabling or disabling the display of UI settings within the Tracking Protection Fragment." + name: "Fenix - Tracking Protection settings visibility" + description: "Provides support for controlling the visibility of UI settings within the Tracking Protection fragment." reason: "To hide unwanted settings and display wanted ones." effect: "Unwanted UI settings are hidden, and settings that we do want to display are revealed." category: "User Interface" - file: "fenix-ironfox-settings-support-accessibility-services.patch" - name: "IronFox Settings (Fenix) - Accessibility services" - description: "Provides support for a UI toggle to enable/disable accessibility services." + name: "Fenix - IronFox Settings: Accessibility services" + description: "Provides support for a UI setting to enable/disable accessibility services." reason: "To disable accessibility services by default (due to privacy and security concerns), while still allowing users who need it to re-enable it if desired." effect: "Integration with accessibility services are disabled by default, but users can re-enable it from the UI." category: "User Interface" - file: "fenix-ironfox-settings-support-collections.patch" - name: "IronFox Settings (Fenix) - Collections" - description: "Provides support for a UI toggle to enable/disable collections." + name: "Fenix - IronFox Settings: Collections" + description: "Provides support for a UI setting to enable/disable collections." reason: "To allow users to disable collections functionality if desired." effect: "Users have more control over the new tab page." category: "User Interface" - file: "fenix-ironfox-settings-support-pb-always.patch" - name: "IronFox Settings Support (Fenix) - Always Use Private Browsing" - description: "Provides support for a UI toggle to always use private browsing mode." + name: "Fenix - IronFox Settings: Always use private browsing" + description: "Provides support for a UI setting to always use private browsing mode." reason: "To allow users to always use private browsing mode if desired." effect: "Users can force the browser to always use private browsing mode, directly from the UI." category: "User Interface" - file: "fenix-ironfox-settings-support-translations.patch" - name: "IronFox Settings Support (Fenix) - Firefox Translations" - description: "Provides support for a UI toggle to enable/disable Firefox Translations." + name: "Fenix - IronFox Settings: Firefox Translations" + description: "Provides support for a UI setting to enable/disable Firefox Translations." reason: "To allow users to disable Firefox Translations if desired." effect: "Users can enable or disable Firefox Translations from the UI." category: "User Interface" - file: "fenix-ironfox-settings-support-xpinstall.patch" - name: "IronFox Settings Support (Fenix) - XPInstall" - description: "Provides support for a UI toggle to enable/disable the installation of add-ons." + name: "Fenix - IronFox Settings: XPInstall" + description: "Provides support for a UI setting to enable/disable the installation of add-ons." reason: "To show users a prompt when add-on installation is disabled, so that they can better understand why their add-on didn't install, and can know how/where to re-enable it if desired." effect: "Users can enable or disable add-on installation from the UI." category: "User Interface" - file: "gecko-ironfox-settings-support-webgl.patch" - name: "IronFox Settings Support (Gecko) - WebGL" - description: "Provides support for a UI toggle to enable/disable WebGL (including on a per-site basis)." + name: "Gecko - IronFox Settings: WebGL" + description: "Provides support for a UI setting to enable/disable WebGL (including on a per-site basis), as a custom RFP target." reason: "Users can enable or disable WebGL, globally or on a per-site basis." effect: "Users can maximize privacy and security by disabling WebGL, without compromising usability, by allowing it to be re-enabled on a per-site basis." category: "User Interface" - file: "gecko-ironfox-settings-support-extension-blocklist.patch" - name: "IronFox Settings Support (Gecko) - Extension Blocklist" + name: "Gecko - IronFox Settings: Extension blocklist" description: "Adds a preference to enable/disable Phoenix's blocklist of malicious/unwanted/sketchy extensions." reason: "To allow users to benefit from this protection, while being able to disable the blocklist if unwanted (at their own risk)." effect: "Users can disable the extension blocklist if desired." category: "User Interface" - file: "gecko-ironfox-settings-support-xpinstall.patch" - name: "IronFox Settings Support (Gecko) - XPInstall" - description: "Provides support for a UI toggle to enable/disable the installation of add-ons." + name: "Gecko - IronFox Settings: XPInstall" + description: "Provides support for a UI setting to enable/disable the installation of add-ons." reason: "Leverages enterprise policies to enable/disable installation of add-ons." effect: "Users can receive a prompt when add-on installation is disabled from the UI, and the installation of add-ons can be better controlled/fully disabled from policies." category: "User Interface" - file: "a-c-ironfox-oled-theme.patch" - name: "OLED Theme (Android Components)" - description: "Adds support for true OLED black theme to Mozilla's Android Components" + name: "Android Components - OLED Theme" + description: "Adds support for a true OLED black theme." reason: "To provide users with the option to reduce battery consumption and eye strain on OLED displays by using true black theme." effect: "Users can toggle a UI option for an OLED-optimized dark theme, which helps improve visual comfort and power efficiency on OLED screens." category: "User Interface" - file: "fenix-ironfox-oled-theme.patch" - name: "OLED Theme (Fenix)" - description: "Adds support for true OLED black theme to Fenix" + name: "Fenix - OLED Theme" + description: "Adds support for a true OLED black theme." reason: "To provide users with the option to reduce battery consumption and eye strain on OLED displays by using true black theme." effect: "Users can toggle a UI option for an OLED-optimized dark theme, which helps improve visual comfort and power efficiency on OLED screens." category: "User Interface" diff --git a/scripts/prebuild-if.sh b/scripts/prebuild-if.sh index 37e9c896..777713dc 100755 --- a/scripts/prebuild-if.sh +++ b/scripts/prebuild-if.sh @@ -1000,7 +1000,7 @@ function prepare_microg() { pushd "${IRONFOX_GMSCORE}" # Apply patches - apply_patch 'microg-exclude-unused-dependencies.patch' + apply_patch 'microg-gradle-project-resolution.patch' # Always use our Gradle wrapper with our Gradle flags/configuration localize_gradle