lists.torproject.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

tbb-commits

Thread Start a new thread
Threads by month
  • ----- 2026 -----
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2018 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2017 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2016 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2015 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2014 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
tbb-commits@lists.torproject.org

September 2026

  • 1 participants
  • 218 discussions
[Git][tpo/applications/mullvad-browser][mullvad-browser-153.2.0esr-16.0-1] 7 commits: fixup! MB 419: Mullvad Browser migration procedures.
by morgan (@morgan) 08 Sep '26

08 Sep '26
morgan pushed to branch mullvad-browser-153.2.0esr-16.0-1 at The Tor Project / Applications / Mullvad Browser Commits: b861f2e0 by Pier Angelo Vendrame at 2026-09-08T14:48:02+02:00 fixup! MB 419: Mullvad Browser migration procedures. BB 45039: Make it easier to test ProfileDataUpgrader customization. - - - - - 1ce322f2 by Pier Angelo Vendrame at 2026-09-08T14:48:02+02:00 fixup! MB 38: Mullvad Browser configuration MB 537: Migrate from Mullvad to Quad9 DoH. - - - - - d1954a60 by Pier Angelo Vendrame at 2026-09-08T14:48:58+02:00 fixup! MB 419: Mullvad Browser migration procedures. MB 537: Implement DoH migration. - - - - - ae13e203 by Henry Wilkes at 2026-09-08T14:49:02+02:00 MB 538: Mullvad DoH discontinued notification. - - - - - a9478885 by Henry Wilkes at 2026-09-08T14:49:02+02:00 fixup! Mullvad Browser strings MB 538: Strings for the DoH notification. - - - - - ab6a2587 by Pier Angelo Vendrame at 2026-09-08T14:49:03+02:00 MB 549: Customize the DoH preferences UI. - - - - - a16dc06a by Pier Angelo Vendrame at 2026-09-08T14:49:03+02:00 fixup! Mullvad Browser strings MB 549: Customize the DoH preferences UI. - - - - - 10 changed files: - browser/app/profile/000-mullvad-browser.js - browser/base/content/browser-main.js - browser/base/content/browser.xhtml - + browser/base/content/mullvadDoHNotification.js - browser/base/jar.mn - browser/components/ProfileDataUpgrader.sys.mjs - browser/components/preferences/config/privacy.mjs - + browser/components/tests/unit/test_profileDataUpgrade_mullvad_doh.js - browser/components/tests/unit/xpcshell.toml - toolkit/locales/en-US/toolkit/global/mullvad-browser.ftl Changes: ===================================== browser/app/profile/000-mullvad-browser.js ===================================== @@ -11,12 +11,14 @@ pref("browser.base-browser-support-url", "https://mullvad.net/en/help/"); pref("browser.toolbars.bookmarks.visibility", "never"); // mullvad-browser#19: Enable Mullvad's DOH -pref("network.trr.uri", "https://dns.mullvad.net/dns-query"); -pref("network.trr.default_provider_uri", "https://dns.mullvad.net/dns-query"); +pref("network.trr.uri", "https://doh-mullvad.quad9.net/dns-query"); +pref("network.trr.default_provider_uri", "https://doh-mullvad.quad9.net/dns-query"); pref("network.trr.mode", 3); -pref("doh-rollout.provider-list", "[{\"UIName\":\"Mullvad\",\"autoDefault\":true,\"canonicalName\":\"\",\"id\":\"mullvad\",\"last_modified\":0,\"schema\":0,\"uri\":\"https://dns.mullvad.net/dns-query\"},{\"UIName\":\"Mullvad (Ad-blocking)\",\"autoDefault\":false,\"canonicalName\":\"\",\"id\":\"mullvad\",\"last_modified\":0,\"schema\":0,\"uri\":\"https://adblock.dns.mullvad.net/dns-query\"}]"); +pref("doh-rollout.provider-list", "[{\"uri\":\"https://doh-mullvad.quad9.net/dns-query\",\"UIName\":\"Quad9 - no threat blocking\",\"schema\":0,\"autoDefault\":false,\"canonicalName\":\"\",\"id\":\"quad9-no-threat-blocking\",\"last_modified\":0},{\"uri\":\"https://dns.quad9.net/dns-query\",\"UIName\":\"Quad9 - secure: threat blocking\",\"schema\":0,\"autoDefault\":true,\"canonicalName\":\"\",\"id\":\"quad9-threat-blocking\",\"last_modified\":0}]"); // mullvad-browser#122: Audit DoH heuristics pref("doh-rollout.disable-heuristics", true); +// mullvad-browser#537: migrate users from Mullvad DoH service. +pref("mullvadbrowser.migration.show_doh_notification", false); // mullvad-browser#87: Windows and Linux need additional work to make the // default browser choice working. ===================================== browser/base/content/browser-main.js ===================================== @@ -30,6 +30,7 @@ Services.scriptloader.loadSubScript("chrome://browser/content/places/places-menupopup.js", this); Services.scriptloader.loadSubScript("chrome://browser/content/search/autocomplete-popup.js", this); Services.scriptloader.loadSubScript("chrome://browser/content/search/searchbar.js", this); + Services.scriptloader.loadSubScript("chrome://browser/content/mullvadDoHNotification.js", this); Services.scriptloader.loadSubScript("chrome://browser/content/languageNotification.js", this); if (AIWindow.isOpeningAIWindow(window)) { ChromeUtils.importESModule("chrome://browser/content/urlbar/SmartbarInput.mjs", { global: "current" }); ===================================== browser/base/content/browser.xhtml ===================================== @@ -93,6 +93,7 @@ <link rel="localization" href="browser/syncedTabs.ftl"/> <link rel="localization" href="browser/profiles.ftl"/> <link rel="localization" href="toolkit/global/base-browser.ftl"/> + <link rel="localization" href="toolkit/global/mullvad-browser.ftl"/> <!-- Untranslated FTL files --> <link rel="localization" href="preview/credentialChooser.ftl" /> <link rel="localization" href="preview/enUS-searchFeatures.ftl" /> ===================================== browser/base/content/mullvadDoHNotification.js ===================================== @@ -0,0 +1,62 @@ +"use strict"; + +window.addEventListener("load", () => { + // A notification to let users known that their DNS over HTTPS settings have + // changed because the mullvad DoH services has been discontinued and + // replaced. tor-browser#538. + const notification = { + // ProfileDataUpgrader.upgradeMB migration will set the `showPref` + // preference conditionally on whether the user is effected. We wait for + // this preference for confirmation. + showPref: "mullvadbrowser.migration.show_doh_notification", + shown: false, + + init() { + Services.prefs.addObserver(this.showPref, this); + this.maybeShow(); + }, + + observe() { + this.maybeShow(); + }, + + async maybeShow() { + if (this.shown || !Services.prefs.getBoolPref(this.showPref, false)) { + return; + } + this.shown = true; + Services.prefs.removeObserver(this.showPref, this); + + gNotificationBox.appendNotification( + "mullvad-doh-notification", + { + label: { "l10n-id": "mullvad-doh-notification-body" }, + priority: gNotificationBox.PRIORITY_INFO_HIGH, + eventCallback: name => { + if (name === "dismissed") { + Services.prefs.clearUserPref(this.showPref); + } + }, + }, + [ + { + "l10n-id": "moz-support-link-text", + link: "https://mullvad.net/en/blog/shutting-down-our-public-encrypted-dns-servers-…", + }, + { + "l10n-id": "mullvad-doh-notification-settings-button", + primary: true, + callback: () => { + window.openPreferences("privacy-doh"); + Services.prefs.clearUserPref(this.showPref); + // Keep the notification open in case the user wants to click + // "Learn more". + return true; + }, + }, + ] + ); + }, + }; + notification.init(); +}); ===================================== browser/base/jar.mn ===================================== @@ -101,4 +101,5 @@ browser.jar: content/browser/spotlight.js (content/spotlight.js) * content/browser/default-bookmarks.html (content/default-bookmarks.html) + content/browser/mullvadDoHNotification.js (content/mullvadDoHNotification.js) content/browser/languageNotification.js (content/languageNotification.js) ===================================== browser/components/ProfileDataUpgrader.sys.mjs ===================================== @@ -1191,12 +1191,21 @@ export let ProfileDataUpgrader = { Services.prefs.setIntPref(MIGRATION_PREF, MIGRATION_VERSION); }, - async upgradeMB(isNewProfile) { + /** + * Run the profile data migration for Tor Browser if needed. + * + * @param {boolean} isNewProfile When true, just set the migration version + * without actually changing anything. + * @param {number} [currentVersion] The version to migrating from. To be used + * only by tests. + */ + async upgradeMB(isNewProfile, currentVersion) { // Version 1: Mullvad Browser 14.5a6: Clear home page update url preference // (mullvad-browser#411). // Version 2: Mullvad Browser 15.0a2: Remove legacy search addons // (tor-browser#43111). - const MB_MIGRATION_VERSION = 2; + // Version 3: Mullvad Browser 16.0a12: DoH migration (mullvad-browser#537). + const MB_MIGRATION_VERSION = 3; const MIGRATION_PREF = "mullvadbrowser.migration.version"; if (isNewProfile) { @@ -1209,11 +1218,14 @@ export let ProfileDataUpgrader = { console.error("upgradeTB: isNewProfile is undefined."); } - const currentVersion = Services.prefs.getIntPref(MIGRATION_PREF, 0); + if (currentVersion === undefined) { + currentVersion = Services.prefs.getIntPref(MIGRATION_PREF, 0); + } if (currentVersion < 1) { Services.prefs.clearUserPref("mullvadbrowser.post_update.url"); } + const dropAddons = async list => { for (const id of list) { try { @@ -1222,6 +1234,7 @@ export let ProfileDataUpgrader = { } catch {} } }; + if (currentVersion < 2) { await dropAddons([ "brave(a)search.mozilla.org", @@ -1234,6 +1247,36 @@ export let ProfileDataUpgrader = { ]); } + if (currentVersion < 3) { + this.upgradeDoH(); + } + Services.prefs.setIntPref(MIGRATION_PREF, MB_MIGRATION_VERSION); }, + + upgradeDoH() { + const DOH_NOTIFICATION_PREF = + "mullvadbrowser.migration.show_doh_notification"; + const DOH_URI_PREF = "network.trr.uri"; + const DOH_MODE_PREF = "network.trr.mode"; + const MULLVAD_ADBLOCK_URL = "https://adblock.dns.mullvad.net/dns-query"; + + const dohMode = Services.prefs.getIntPref(DOH_MODE_PREF, -1); + const usesAdBlock = + Services.prefs.getStringPref(DOH_URI_PREF, "") === MULLVAD_ADBLOCK_URL; + const usesCustomUri = + Services.prefs.prefHasUserValue(DOH_URI_PREF) && !usesAdBlock; + if ( + dohMode === Ci.nsIDNSService.MODE_TRROFF || + (dohMode === Ci.nsIDNSService.MODE_TRRONLY && usesCustomUri) + ) { + return; + } + + Services.prefs.setIntPref(DOH_MODE_PREF, Ci.nsIDNSService.MODE_TRRONLY); + if (usesAdBlock) { + Services.prefs.clearUserPref(DOH_URI_PREF); + } + Services.prefs.setBoolPref(DOH_NOTIFICATION_PREF, true); + }, }; ===================================== browser/components/preferences/config/privacy.mjs ===================================== @@ -1103,15 +1103,10 @@ SettingGroupManager.registerGroups({ id: "dohRadioGroup", control: "moz-radio-group", options: [ - { - id: "dohRadioDefault", - value: "default", - l10nId: "preferences-doh-radio-default", - }, { id: "dohRadioCustom", value: "custom", - l10nId: "preferences-doh-radio-custom", + l10nId: "mullvad-preferences-doh-radio-always-on", items: [ { id: "dohFallbackIfCustom", @@ -1132,7 +1127,7 @@ SettingGroupManager.registerGroups({ { id: "dohRadioOff", value: "off", - l10nId: "preferences-doh-radio-off", + l10nId: "mullvad-preferences-doh-radio-off", }, ], }, @@ -3210,14 +3205,13 @@ Preferences.addSetting({ id: "dohModeBoxItem", deps: ["dohMode"], getControlConfig: (config, deps) => { - let l10nId = "preferences-doh-overview-off"; + let l10nId = "mullvad-preferences-doh-overview-off"; if (deps.dohMode.value == Ci.nsIDNSService.MODE_NATIVEONLY) { l10nId = "preferences-doh-overview-default"; - } else if ( - deps.dohMode.value == Ci.nsIDNSService.MODE_TRRFIRST || - deps.dohMode.value == Ci.nsIDNSService.MODE_TRRONLY - ) { + } else if (deps.dohMode.value == Ci.nsIDNSService.MODE_TRRFIRST) { l10nId = "preferences-doh-overview-custom"; + } else if (deps.dohMode.value == Ci.nsIDNSService.MODE_TRRONLY) { + l10nId = "mullvad-preferences-doh-overview-always-on"; } return { ...config, @@ -3428,6 +3422,7 @@ Preferences.addSetting({ // for the mismatch of control-to-pref. deps: ["dohMode"], disabled: ({ dohMode }) => dohMode.locked, + visible: () => false, onUserChange: val => { if (val) { Glean.securityDohSettings.modeChangedButton.record({ ===================================== browser/components/tests/unit/test_profileDataUpgrade_mullvad_doh.js ===================================== @@ -0,0 +1,115 @@ +/* Any copyright is dedicated to the Public Domain. +https://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +const { ProfileDataUpgrader } = ChromeUtils.importESModule( + "moz-src:///browser/components/ProfileDataUpgrader.sys.mjs" +); + +const DOH_NOTIFICATION_PREF = "mullvadbrowser.migration.show_doh_notification"; +const DOH_URI_PREF = "network.trr.uri"; +const DOH_MODE_PREF = "network.trr.mode"; +const MULLVAD_ADBLOCK_URL = "https://adblock.dns.mullvad.net/dns-query"; + +/** + * Run a test case. + * + * The test takes for granted the final mode can be either off (only if it was + * already) or TRR-only in all other cases. + * The caller need to supply the expected outcomes for the other prefs. + * + * @param {number} mode The mode to set before the migration + * @param {string?} oldUri The URI to set before the migration, or null to clear + * the related preference. + * @param {string?} newUri The expected new value for the preference, or null if + * the preference should have its default value. + * @param {boolean} showNotification The expected value for the preference that + * signals that the change notification should be shown to the UI. + */ +async function runTest(mode, oldUri, newUri, showNotification) { + info(`Running test for mode ${mode} and old uri ${oldUri}.`); + + Services.prefs.setIntPref(DOH_MODE_PREF, mode); + if (oldUri !== null) { + Services.prefs.setStringPref(DOH_URI_PREF, oldUri); + } else { + Services.prefs.clearUserPref(DOH_URI_PREF); + } + Services.prefs.clearUserPref(DOH_NOTIFICATION_PREF); + + await ProfileDataUpgrader.upgradeMB(false, 2); + + if (newUri) { + Assert.equal(Services.prefs.getStringPref(DOH_URI_PREF), newUri); + } else { + Assert.ok( + !Services.prefs.prefHasUserValue(DOH_URI_PREF), + "The migration was supposed to clear the custom URI and so it did." + ); + } + + if (mode === Ci.nsIDNSService.MODE_TRROFF) { + Assert.equal( + Services.prefs.getIntPref(DOH_MODE_PREF, -1), + Ci.nsIDNSService.MODE_TRROFF, + "The migration did not turn on DoH." + ); + } else { + Assert.equal( + Services.prefs.getIntPref(DOH_MODE_PREF, -1), + Ci.nsIDNSService.MODE_TRRONLY, + "Regardless of the starting mode, after the migration we are on TRR-only." + ); + } + + Assert.equal( + Services.prefs.getBoolPref(DOH_NOTIFICATION_PREF, false), + showNotification, + `The value for ${DOH_NOTIFICATION_PREF} is correct after the migration` + ); +} + +add_task(async function test_default_uri() { + // Max protection (our default): inherits the URI change, so we need to show + // the notification. + await runTest(Ci.nsIDNSService.MODE_TRRONLY, null, null, true); + // We move default and increased protection to maximum protection, and they + // inherit the default URI: show the notification. + await runTest(Ci.nsIDNSService.MODE_NATIVEONLY, null, null, true); + await runTest(Ci.nsIDNSService.MODE_TRRFIRST, null, null, true); +}); + +add_task(async function test_mullvad_adblock() { + // Mullvad Adblock was retired, so move to the default URI with maximum + // protection. Show the notification. + // This option could be set only with TRR first and TRR only, so test only + // those. + await runTest( + Ci.nsIDNSService.MODE_TRRFIRST, + MULLVAD_ADBLOCK_URL, + null, + true + ); + await runTest(Ci.nsIDNSService.MODE_TRRONLY, MULLVAD_ADBLOCK_URL, null, true); +}); + +add_task(async function test_custom_provider() { + const CUSTOM_URL = "https://example.org/dns"; + // Custom provider + TRR-only: nothing should change, do not show the + // notification. + await runTest(Ci.nsIDNSService.MODE_TRRONLY, CUSTOM_URL, CUSTOM_URL, false); + // Custom provider but TRR-first: we change it to TRR-only, so we should show + // a notification. + await runTest(Ci.nsIDNSService.MODE_TRRFIRST, CUSTOM_URL, CUSTOM_URL, true); + // Firefox's "default" mode and off automatically reset the provider URI, so + // we do not test them here. +}); + +add_task(async function test_update_doh_disabled() { + // No DoH: the migration should not turn it on. I.e., no changes, therefore no + // notification as well. + // Firefox resets the URL to the default one from the UI, so test only the + // default URI case. + await runTest(Ci.nsIDNSService.MODE_TRROFF, null, null, false); +}); ===================================== browser/components/tests/unit/xpcshell.toml ===================================== @@ -37,6 +37,9 @@ skip-if = [ ["test_distribution_observer.js"] +["test_profileDataUpgrade_mullvad_doh.js"] +tags = "mullvad-browser" + ["test_profileDataUpgrade_smartwindow.js"] ["test_profileDataUpgrade_smartwindow_semanticHistory.js"] ===================================== toolkit/locales/en-US/toolkit/global/mullvad-browser.ftl ===================================== @@ -32,3 +32,26 @@ home-mode-choice-mullvad = telemetry-title = Telemetry Information telemetry-description = Telemetry is disabled in { -brand-short-name }. + +## DNS over HTTPS settings customization. + +mullvad-preferences-doh-overview-always-on = + .label = Always on + .description = Always use secure DNS. +mullvad-preferences-doh-overview-off = + .label = Off + .description = Use your default DNS resolver. +mullvad-preferences-doh-radio-always-on = + .label = Always on + .description = Always use secure DNS +mullvad-preferences-doh-radio-off = + .label = Off (recommended when using a VPN) + .description = Use your default DNS resolver + +## DNS over HTTPS provider changed notification. + +# The first sentence should be wrapped in '<strong>' and '</strong>'. +# "Mullvad" is an organization name. +mullvad-doh-notification-body = <strong>You default DNS Over HTTPS settings have been changed.</strong> Mullvad secure DNS service is being discontinued. +mullvad-doh-notification-settings-button = + .label = Review settings View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/a7… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/a7… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-153.2.0esr-16.0-1] fixup! Firefox preference overrides.
by morgan (@morgan) 08 Sep '26

08 Sep '26
morgan pushed to branch mullvad-browser-153.2.0esr-16.0-1 at The Tor Project / Applications / Mullvad Browser Commits: a7a830cb by Pier Angelo Vendrame at 2026-09-08T12:14:22+00:00 fixup! Firefox preference overrides. BB 45278: Disable WebXR as a defense-in-depth. - - - - - 1 changed file: - browser/app/profile/001-base-profile.js Changes: ===================================== browser/app/profile/001-base-profile.js ===================================== @@ -552,6 +552,8 @@ pref("media.devices.enumerate.legacy.enabled", false); pref("apz.overscroll.enabled", false); #endif pref("dom.vr.enabled", false); // Bug 21607: Disable WebVR for now +// tor-browser#45278: Disable WebXR as a defense-in-depth +pref("dom.vr.webxr.enabled", false); pref("security.webauth.webauthn", false); // Bug 26614: Disable Web Authentication API for now // Disable SAB, no matter if the sites are cross-origin isolated. pref("dom.postMessage.sharedArrayBuffer.withCOOP_COEP", false); View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/a7a… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/a7a… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-153.2.0esr-16.0-1] fixup! Firefox preference overrides.
by morgan (@morgan) 08 Sep '26

08 Sep '26
morgan pushed to branch tor-browser-153.2.0esr-16.0-1 at The Tor Project / Applications / Tor Browser Commits: 4a99b104 by Pier Angelo Vendrame at 2026-09-08T12:09:53+00:00 fixup! Firefox preference overrides. BB 45278: Disable WebXR as a defense-in-depth. - - - - - 1 changed file: - browser/app/profile/001-base-profile.js Changes: ===================================== browser/app/profile/001-base-profile.js ===================================== @@ -552,6 +552,8 @@ pref("media.devices.enumerate.legacy.enabled", false); pref("apz.overscroll.enabled", false); #endif pref("dom.vr.enabled", false); // Bug 21607: Disable WebVR for now +// tor-browser#45278: Disable WebXR as a defense-in-depth +pref("dom.vr.webxr.enabled", false); pref("security.webauth.webauthn", false); // Bug 26614: Disable Web Authentication API for now // Disable SAB, no matter if the sites are cross-origin isolated. pref("dom.postMessage.sharedArrayBuffer.withCOOP_COEP", false); View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/4a99b10… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/4a99b10… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-153.2.0esr-16.0-1] TB 45218: YEC 2026 assets.
by morgan (@morgan) 08 Sep '26

08 Sep '26
morgan pushed to branch tor-browser-153.2.0esr-16.0-1 at The Tor Project / Applications / Tor Browser Commits: b37978db by Henry Wilkes at 2026-09-08T11:53:20+00:00 TB 45218: YEC 2026 assets. - - - - - 2 changed files: - browser/components/abouttor/content/aboutTor.html - toolkit/locales/en-US/toolkit/global/tor-browser.ftl Changes: ===================================== browser/components/abouttor/content/aboutTor.html ===================================== @@ -36,8 +36,8 @@ <!-- Year End Campaign (YEC). --> <article id="yec-banner" aria-labelledby="yec-heading"> <img id="yec-image" alt="" /> - <h2 id="yec-heading"></h2> - <p id="yec-body"></p> + <h2 id="yec-heading" data-l10n-id="yec-2026-heading"></h2> + <p id="yec-body" data-l10n-id="yec-2026-body"></p> <p id="yec-matching"></p> <a id="yec-donate-link" target="_blank"> <span data-l10n-id="yec-donate-button"></span> ===================================== toolkit/locales/en-US/toolkit/global/tor-browser.ftl ===================================== @@ -784,6 +784,11 @@ dropped-support-notification-linux-32-bit = The next major version of { -brand-p dropped-support-notification-linux-32-bit-expired = { -brand-product-name } no longer supports 32-bit Linux. Please install { -brand-product-name } on a 64-bit Linux operating system to continue receiving important security updates. dropped-support-notification-dismiss-button = Got it +## Year end campaign 2026. + +yec-2026-heading = Tor: powered by you +yec-2026-body = Unlike Big Tech, Tor doesn’t sell your data to make money. Instead, 6,490 donors every year keep Tor strong. Join the movement with a donation today! + ## Year end campaign. yec-donate-button = Donate now View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/b37978d… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/b37978d… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-153.2.0esr-16.0-1] 2 commits: fixup! TB 40562: Added Tor Browser preferences to 000-tor-browser.js
by morgan (@morgan) 08 Sep '26

08 Sep '26
morgan pushed to branch tor-browser-153.2.0esr-16.0-1 at The Tor Project / Applications / Tor Browser Commits: 0a4c8822 by Henry Wilkes at 2026-09-08T11:51:34+00:00 fixup! TB 40562: Added Tor Browser preferences to 000-tor-browser.js TB 45262: Hide the reset PBM button. - - - - - b5450a03 by Henry Wilkes at 2026-09-08T11:51:34+00:00 fixup! TB 41736: Customize toolbar for tor-browser. TB 45262: Hide the reset PBM button. - - - - - 2 changed files: - browser/app/profile/000-tor-browser.js - browser/components/customizableui/CustomizableUI.sys.mjs Changes: ===================================== browser/app/profile/000-tor-browser.js ===================================== @@ -58,6 +58,8 @@ pref("browser.base-browser-support-url", "https://support.torproject.org/tor-bro // tor-browser#40701: Add new download warning pref("browser.download.showTorWarning", true); +// tor-browser#45262: Hide "reset PBM" burn/fire button. +pref("browser.privatebrowsing.resetPBM.enabled", false); // Tor connection setting preferences. ===================================== browser/components/customizableui/CustomizableUI.sys.mjs ===================================== @@ -78,7 +78,7 @@ const NoScriptId = "_73a6fe31-595d-460b-a920-fcc0f8843232_-browser-action"; /** * The current version for tor browser. */ -var kVersionTorBrowser = 1; +var kVersionTorBrowser = 2; /** * Buttons removed from built-ins by version they were removed. kVersion must be @@ -215,13 +215,6 @@ XPCOMUtils.defineLazyPreferenceGetter( } ); -XPCOMUtils.defineLazyPreferenceGetter( - lazy, - "resetPBMToolbarButtonEnabled", - "browser.privatebrowsing.resetPBM.enabled", - false -); - XPCOMUtils.defineLazyPreferenceGetter( lazy, "sidebarRevampEnabled", @@ -387,7 +380,11 @@ var CustomizableUIInternal = { AppConstants.MOZ_DEV_EDITION ? "developer-button" : null, lazy.ippEnabled ? "ipprotection-button" : null, "fxa-toolbar-menu-button", - lazy.resetPBMToolbarButtonEnabled ? "reset-pbm-toolbar-button" : null, + // Remove reset-pbm-toolbar-button unconditionally. + // NOTE: If we want to re-show this button, we may want to position it + // elsewhere (just after security-level-button), and we will likely want + // to migrate existing users so that it takes the place of the + // new-identity-button. tor-browser#45262. ].filter(name => name); this.registerArea( @@ -1126,6 +1123,17 @@ var CustomizableUIInternal = { } } } + + if (currentVersion < 2) { + // Remove the reset-pbm button that was added in version 24 in + // `updateForNewVersion`. tor-browser#45262. + for (const placements of Object.values(gSavedState.placements)) { + let buttonIndex = placements.indexOf("reset-pbm-toolbar-button"); + if (buttonIndex != -1) { + placements.splice(buttonIndex, 1); + } + } + } }, /** View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/d673cb… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/d673cb… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-153.2.0esr-16.0-1] fixup! [android] Modify UI/UX
by Pier Angelo Vendrame (@pierov) 08 Sep '26

08 Sep '26
Pier Angelo Vendrame pushed to branch tor-browser-153.2.0esr-16.0-1 at The Tor Project / Applications / Tor Browser Commits: d673cb2a by Beatriz Rizental at 2026-09-07T14:55:23-03:00 fixup! [android] Modify UI/UX Bug 44695: Drop unnecessary Android test patch - - - - - 1 changed file: - mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/SupportUtilsTest.kt Changes: ===================================== mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/SupportUtilsTest.kt ===================================== @@ -33,10 +33,10 @@ class SupportUtilsTest { Locale.forLanguageTag("fr"), ), ) - // assertEquals( - // "https://www.mozilla.org/firefox/android/notes", - // SupportUtils.WHATS_NEW_URL, - // ) + assertEquals( + "https://www.mozilla.org/firefox/android/notes", + SupportUtils.WHATS_NEW_URL, + ) } @Test View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/d673cb2… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/d673cb2… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-153.2.0esr-16.0-1] Bug 2052011 - Remove inline JS from about:config in GeckoView. r=geckoview-reviewers,nalexander
by Dan Ballard (@dan) 03 Sep '26

03 Sep '26
Dan Ballard pushed to branch tor-browser-153.2.0esr-16.0-1 at The Tor Project / Applications / Tor Browser Commits: c76b89e2 by Tom Schuster at 2026-09-03T14:34:52-07:00 Bug 2052011 - Remove inline JS from about:config in GeckoView. r=geckoview-reviewers,nalexander Differential Revision: https://phabricator.services.mozilla.com/D310051 - - - - - 2 changed files: - mobile/shared/chrome/geckoview/config.js - mobile/shared/chrome/geckoview/config.xhtml Changes: ===================================== mobile/shared/chrome/geckoview/config.js ===================================== @@ -73,6 +73,28 @@ var NewPrefDialog = { this._intValue = document.getElementById("new-pref-value-int"); this._positiveButton = document.getElementById("positive-button"); + + document + .getElementById("new-pref-toggle-button") + .addEventListener("click", () => this.toggleShowHide()); + document + .getElementById("pref-toggle-button") + .addEventListener("click", () => this.toggleBoolValue()); + document + .getElementById("negative-button") + .addEventListener("click", () => this.hide()); + this._positiveButton.addEventListener("click", () => this.create()); + + this._prefNameInputElt.addEventListener("focus", event => + this.focusName(event) + ); + this._prefNameInputElt.addEventListener("input", event => + this.updateName(event) + ); + + this._prefTypeSelectElt.addEventListener("change", event => { + this.type = event.target.value; + }); }, // Called to update positive button to display text ("Create"/"Change), and enabled/disabled status @@ -235,6 +257,21 @@ var AboutConfig = { // Setup the prefs observers Services.prefs.addObserver("", this); + + this.filterInput.addEventListener("input", () => + AboutConfig.bufferFilterInput() + ); + + document.getElementById("content").addEventListener("touchstart", () => { + this.filterInput.blur(); + }); + + document + .getElementById("copy-pref-name") + .addEventListener("click", () => this.clipboardCopy("name")); + document + .getElementById("copy-pref-value") + .addEventListener("click", () => this.clipboardCopy("value")); }, // Uninit the main AboutConfig dialog @@ -711,3 +748,12 @@ Pref.prototype = { } }, }; + +window.addEventListener("load", () => { + NewPrefDialog.init(); + AboutConfig.init(); +}); + +window.addEventListener("unload", () => { + AboutConfig.uninit(); +}); ===================================== mobile/shared/chrome/geckoview/config.xhtml ===================================== @@ -24,19 +24,10 @@ ></script> </head> - <body - onload=" - NewPrefDialog.init(); - AboutConfig.init(); - " - onunload="AboutConfig.uninit()" - > + <body> <div class="toolbar"> <div class="toolbar-container"> - <div - id="new-pref-toggle-button" - onclick="NewPrefDialog.toggleShowHide()" - /> + <div id="new-pref-toggle-button" /> <div class="toolbar-item" id="filter-container"> <div id="filter-search-button" /> @@ -45,13 +36,12 @@ type="search" data-l10n-id="config-toolbar-search" value="" - oninput="AboutConfig.bufferFilterInput()" /> </div> </div> </div> - <div id="content" ontouchstart="AboutConfig.filterInput.blur();"> + <div id="content"> <div id="new-pref-container"> <li class="pref-item" id="new-pref-item"> <div class="pref-item-line"> @@ -60,13 +50,8 @@ id="new-pref-name" type="text" data-l10n-id="config-new-pref-name" - onfocus="NewPrefDialog.focusName(event)" - oninput="NewPrefDialog.updateName(event)" /> - <select - id="new-pref-type" - onchange="NewPrefDialog.type = event.target.value" - > + <select id="new-pref-type"> <option value="boolean" data-l10n-id="config-new-pref-value-boolean" @@ -90,7 +75,7 @@ /> <div class="pref-button toggle" - onclick="NewPrefDialog.toggleBoolValue()" + id="pref-toggle-button" data-l10n-id="config-pref-toggle-button" ></div> </div> @@ -113,13 +98,11 @@ <div class="pref-button cancel" id="negative-button" - onclick="NewPrefDialog.hide()" data-l10n-id="config-new-pref-cancel-button" ></div> <div class="pref-button create" id="positive-button" - onclick="NewPrefDialog.create(event)" data-l10n-id="config-new-pref-create-button" ></div> </div> @@ -135,12 +118,12 @@ <menu type="context" id="prefs-context-menu"> <menuitem + id="copy-pref-name" data-l10n-id="config-context-menu-copy-pref-name" - onclick="AboutConfig.clipboardCopy('name')" ></menuitem> <menuitem + id="copy-pref-value" data-l10n-id="config-context-menu-copy-pref-value" - onclick="AboutConfig.clipboardCopy('value')" ></menuitem> </menu> </body> View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/c76b89e… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/c76b89e… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-153.2.0esr-16.0-1] 2 commits: TB 45269 [android]: Completely disable search suggestion feature
by Dan Ballard (@dan) 03 Sep '26

03 Sep '26
Dan Ballard pushed to branch tor-browser-153.2.0esr-16.0-1 at The Tor Project / Applications / Tor Browser Commits: b14a6e22 by clairehurst at 2026-09-03T12:53:37-07:00 TB 45269 [android]: Completely disable search suggestion feature - - - - - 420a1811 by clairehurst at 2026-09-03T12:53:37-07:00 fixup! TB 44653 [android]: Disable 'Allow search suggestions in private sessions' prompt presented in RR 148 android TB 45269 [android]: Completely disable search suggestion feature. Note to rebaser: After squashing this commit into "TB 44653 [android]: Disable 'Allow search suggestions in private sessions' prompt presented in RR 148 android", I think that it would make sense to then squash that commit into TB 45269 [android]: Completely disable search suggestion feature - - - - - 3 changed files: - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/search/SearchEngineFragment.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt - mobile/android/fenix/app/src/main/res/xml/search_settings_preferences.xml Changes: ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/search/SearchEngineFragment.kt ===================================== @@ -69,10 +69,6 @@ class SearchEngineFragment : PreferenceFragmentCompat(), SystemInsetsPaddedFragm initialiseVoiceSearchPreference(showVoiceSearchPreference) updateDefaultSearchEnginePreference() - val searchSuggestionsPreference = - requirePreference<SwitchPreferenceCompat>(R.string.pref_key_show_search_suggestions).apply { - isChecked = context.components.settings.shouldShowSearchSuggestions - } val searchWidgetPreference = requirePreference<SwitchPreferenceCompat>(R.string.pref_key_search_widget_installed_2).apply { @@ -101,7 +97,6 @@ class SearchEngineFragment : PreferenceFragmentCompat(), SystemInsetsPaddedFragm return false } } - searchSuggestionsPreference.onPreferenceChangeListener = SharedPreferenceUpdater() showBookmarkSuggestions.onPreferenceChangeListener = SharedPreferenceUpdater() showClipboardSuggestions.onPreferenceChangeListener = SharedPreferenceUpdater() autocompleteURLsPreference.onPreferenceChangeListener = SharedPreferenceUpdater() ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt ===================================== @@ -1674,10 +1674,7 @@ class Settings( fun incrementShowLoginsSecureWarningSyncCount() = loginsSecureWarningSyncCount.increment() - val shouldShowSearchSuggestions by booleanPreference( - appContext.getPreferenceKey(R.string.pref_key_show_search_suggestions), - default = false, - ) + val shouldShowSearchSuggestions = false val shouldAutocompleteInAwesomebar by booleanPreference( appContext.getPreferenceKey(R.string.pref_key_enable_autocomplete_urls), @@ -1689,28 +1686,27 @@ class Settings( default = false, ) - var shouldShowSearchSuggestionsInPrivate by booleanPreference( - appContext.getPreferenceKey(R.string.pref_key_show_search_suggestions_in_private), - default = true, - ) + var shouldShowSearchSuggestionsInPrivate + get() = false + set(value) {} /** * Indicates if the user have enabled trending search in search suggestions. */ - internal var trendingSearchSuggestionsEnabled by booleanPreference( - appContext.getPreferenceKey(R.string.pref_key_show_trending_search_suggestions), - default = false, - ) + internal var trendingSearchSuggestionsEnabled + get() = false + set(value) {} /** * Indicates if the user have enabled recent search in the search suggestions setting preference. */ - internal var shouldShowRecentSearchSuggestions by booleanPreference( - appContext.getPreferenceKey(R.string.pref_key_show_recent_search_suggestions), - default = false, - ) + internal var shouldShowRecentSearchSuggestions + get() = false + set(value) {} - var showSearchSuggestionsInPrivateOnboardingFinished = false + var showSearchSuggestionsInPrivateOnboardingFinished + get() = false + set(value) {} fun incrementVisitedInstallableCount() = pwaInstallableVisitCount.increment() ===================================== mobile/android/fenix/app/src/main/res/xml/search_settings_preferences.xml ===================================== @@ -24,18 +24,6 @@ android:title="@string/preferences_add_search_widget_from_settings"/> </PreferenceCategory> - <PreferenceCategory - android:title="@string/preferences_search_engines_suggestions" - android:selectable="false" - app:iconSpaceReserved="false" - android:layout="@layout/preference_category_no_icon_style"> - <SwitchPreferenceCompat - app:iconSpaceReserved="false" - android:defaultValue="true" - android:key="@string/pref_key_show_search_suggestions" - android:title="@string/preferences_show_search_suggestions" /> - </PreferenceCategory> - <PreferenceCategory android:title="@string/preferences_settings_address_bar" android:selectable="false" View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/8d218f… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/8d218f… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] Bug 41866: Temporarily remove x86 in TorVPN signing scripts
by Dan Ballard (@dan) 03 Sep '26

03 Sep '26
Dan Ballard pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: 908664e4 by Nicolas Vigier at 2026-09-03T12:43:22-07:00 Bug 41866: Temporarily remove x86 in TorVPN signing scripts TorVPN releases won't include an x86 apk until tpo/core/onionmasq#191 is fixed. - - - - - 2 changed files: - tools/signing/download-torvpn-release.torvpn - tools/signing/linux-signer-sign-android-apks Changes: ===================================== tools/signing/download-torvpn-release.torvpn ===================================== @@ -24,7 +24,7 @@ test $# -ne 1 && \ tmpdir=$(mktemp -p "$script_dir/../../tmp" -d) trap "rm -Rf $tmpdir" EXIT cd $tmpdir -for arch in arm64v8a armeabiv7a universal x86 x86_64 +for arch in arm64v8a armeabiv7a universal x86_64 do case "$arch" in arm64v8a) ===================================== tools/signing/linux-signer-sign-android-apks ===================================== @@ -7,7 +7,7 @@ source "$script_dir/functions" topdir="$script_dir/../.." ARCHS="armv7 aarch64 x86_64" -test "$SIGNING_PROJECTNAME" = 'torvpn' && ARCHS="$ARCHS x86 multiarch" +test "$SIGNING_PROJECTNAME" = 'torvpn' && ARCHS="$ARCHS multiarch" projname=$(project-name) # tbb_version_type, tbb_version and SIGNING_PROJECTNAME are used in # wrappers/sign-apk, so we export them View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/9… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/9… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-153.2.0esr-16.0-1] fixup! BB 45171: Disable split view.
by brizental (@brizental) 03 Sep '26

03 Sep '26
brizental pushed to branch tor-browser-153.2.0esr-16.0-1 at The Tor Project / Applications / Tor Browser Commits: 8d218fc4 by Beatriz Rizental at 2026-09-03T09:41:20-03:00 fixup! BB 45171: Disable split view. Bug 44431: Disable about:opentabs - - - - - 2 changed files: - browser/components/about/AboutRedirector.cpp - browser/components/about/components.conf Changes: ===================================== browser/components/about/AboutRedirector.cpp ===================================== @@ -102,9 +102,12 @@ static const RedirEntry kRedirMap[] = { nsIAboutModule::URI_CAN_LOAD_IN_PRIVILEGEDABOUT_PROCESS | nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT | nsIAboutModule::IS_SECURE_CHROME_UI}, +// Drop about:opentabs. tor-browser#44431. +#ifndef BASE_BROWSER_VERSION {"opentabs", "chrome://browser/content/tabbrowser/opentabs.html", nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI | nsIAboutModule::HIDE_FROM_ABOUTABOUT}, +#endif {"policies", "chrome://browser/content/policies/aboutPolicies.html", nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI}, {"privatebrowsing", "about:blank", BASE_BROWSER_HOME_PAGE_FLAGS}, ===================================== browser/components/about/components.conf ===================================== @@ -16,7 +16,7 @@ pages = [ 'manual', 'messagepreview', 'newtab', - 'opentabs', + # Removed 'opentabs'. tor-browser#44431. 'policies', 'preferences', 'privatebrowsing', View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/8d218fc… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/8d218fc… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.