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 -----
  • 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

  • 1 participants
  • 20047 discussions
[Git][tpo/applications/tor-browser-build][main] 3 commits: Create a Default issue template in similar style as in tor-browser.git
by morgan (@morgan) 27 Jan '26

27 Jan '26
morgan pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: 7e46a153 by Morgan at 2026-01-27T11:14:23+00:00 Create a Default issue template in similar style as in tor-browser.git - - - - - 13e078df by Morgan at 2026-01-27T11:14:23+00:00 Add Bug Report and Revert issue templates - - - - - 2ad598cb by Morgan at 2026-01-27T11:14:23+00:00 Tweak issue template formatting for consistency - - - - - 11 changed files: - + .gitlab/issue_templates/000 Bug Report.md - .gitlab/issue_templates/Backport.md → .gitlab/issue_templates/010 Backport.md - + .gitlab/issue_templates/020 Revert.md - .gitlab/issue_templates/Uplift.md → .gitlab/issue_templates/030 Uplift.md - .gitlab/issue_templates/Release Prep - Tor Browser Alpha.md → .gitlab/issue_templates/040 Release Prep - Tor Browser Alpha.md - .gitlab/issue_templates/Release Prep - Tor Browser Stable.md → .gitlab/issue_templates/041 Release Prep - Tor Browser Stable.md - .gitlab/issue_templates/Release Prep - Tor Browser Legacy.md → .gitlab/issue_templates/042 Release Prep - Tor Browser Legacy.md - .gitlab/issue_templates/Release Prep - Mullvad Browser Alpha.md → .gitlab/issue_templates/050 Release Prep - Mullvad Browser Alpha.md - .gitlab/issue_templates/Release Prep - Mullvad Browser Stable.md → .gitlab/issue_templates/051 Release Prep - Mullvad Browser Stable.md - .gitlab/issue_templates/Release Prep - Tor VPN.md → .gitlab/issue_templates/060 Release Prep - Tor VPN.md - + .gitlab/issue_templates/Default.md Changes: ===================================== .gitlab/issue_templates/000 Bug Report.md ===================================== @@ -0,0 +1,43 @@ +# 🐞 Bug Report +<!-- +Use this template to report problems with the build system. Runtime +bugs for products built by the build system should be opened in their +respective repositories: +- Tor Browser: https://gitlab.torproject.org/tpo/applications/tor-browser +- Mullvad Browser: https://gitlab.torproject.org/tpo/applications/mullvad-browser +- Tor VPN: https://gitlab.torproject.org/tpo/applications/vpn/ + +The issue's title MUST provide a succinct description of the problem. + +Some good (hypothetical) titles: +- Required perl dependency missing from debian repositories +- Tor Browser macOS builds not reproducible +- Intermittent failure running make fetch + +Please DO NOT include information about platform in the title, it is redundant +with our labeling system! +--> + +## Reproduction steps +<!-- +Provide specific steps developers can follow to reproduce your issue. +--> + +## Expected behaviour +<!-- +Provide a description of the expected results. +--> + +## Actual behaviour +<!-- +Provide a description of what actually occurs and any relevant logs. +--> + +## Host Environment +<!-- +Please provide information about your host build environment (Linux distribution, version, +CPU architecture, etc) +--> + +/label ~"Apps::Product::BuildSystem" +/label ~"Apps::Type::Bug" ===================================== .gitlab/issue_templates/Backport.md → .gitlab/issue_templates/010 Backport.md ===================================== @@ -1,3 +1,5 @@ +# ⬅️ Backport Patchset + <!-- Title: Backport tor-browser-build-browser#12345: Title of Issue @@ -5,24 +7,22 @@ Title: This is an issue for tracking back-porting a patch-set (e.g. from main to maint-15.0) --> -## Backport Patchset - -### Book-keeping +## Book-keeping -#### Gitlab Issue(s) +### Gitlab Issue(s) - tor-browser#12345 - mullvad-browser#123 - tor-browser-build#12345 -#### Merge Request(s) +### Merge Request(s) - tor-browser-build!1234 -#### Target Channels +### Target Channels - [ ] maint-15.0 - [ ] maint-13.5 -### Notes +## Notes <!-- whatever additional info, context, etc that would be helpful for backporting --> ===================================== .gitlab/issue_templates/020 Revert.md ===================================== @@ -0,0 +1,46 @@ +# ❌ Revert Patchset +<!-- +This is an issue for tracking reverting a patch-set (e.g. Time-gated features +which are no longer needed after the expiration date) + +Please ensure the title has the following format: + +- Revert tor-browser-build#12345: Title of original issue +--> + +## Bookkeeping + +### Time Window +<!-- +When should this patchset be reverted? +--> + +- **Revert-After Date** + - Date: + +### Issue(s) +<!-- issue associated with the original patchset --> +- tor-browser#xxxxx +- mullvad-browser#xyz +- tor-browser-build#xxxxx + +### Merge Request(s) +<!-- merge-request associated with the original patchset --> +- tor-browser-build!xxxx + +### Target Channels +<!-- Which channel has the commits we need to revert? --> +- [ ] main +- [ ] maint-15.0 + +## Notes + +<!-- whatever additional info, context, etc that would be helpful for reverting --> + + +<!-- Do not edit beneath this line <3 --> + +--- + +/label ~"Apps::Product::TorBrowserBuild" +/label ~"Apps::Type::Chore" ===================================== .gitlab/issue_templates/Uplift.md → .gitlab/issue_templates/030 Uplift.md ===================================== @@ -1,3 +1,5 @@ +# ⬆️ Uplift Patchset + <!-- Title: Uplift tor-browser-build#12345: Title of Issue @@ -6,20 +8,18 @@ This is an issue for tracking uplift of a patch-set to an upstream build-depende --> -## Uplift Patchset - -### Book-keeping +## Book-keeping -#### Gitlab Issue(s) +### Gitlab Issue(s) - tor-browser-build#12345 -#### Merge Request(s) +### Merge Request(s) - tor-browser-build!1234 -#### Upstream Project Issue(s): +### Upstream Project Issue(s): -### Notes +## Notes <!-- whatever additional info, context, etc that would be helpful for uplifting --> ===================================== .gitlab/issue_templates/Release Prep - Tor Browser Alpha.md → .gitlab/issue_templates/040 Release Prep - Tor Browser Alpha.md ===================================== @@ -1,4 +1,4 @@ -# Release Prep Tor Browser Alpha +# 🧅 Release Prep Tor Browser Alpha - **NOTE** It is assumed the `tor-browser` alpha rebase and security backport tasks have been completed - **NOTE** This can/is often done in conjunction with the equivalent Mullvad Browser release prep issue ===================================== .gitlab/issue_templates/Release Prep - Tor Browser Stable.md → .gitlab/issue_templates/041 Release Prep - Tor Browser Stable.md ===================================== @@ -1,4 +1,4 @@ -# Release Prep Tor Browser Stable +# 🧅 Release Prep Tor Browser Stable - **NOTE** It is assumed the `tor-browser` release rebase and security backport tasks have been completed - **NOTE** This can/is often done in conjunction with the equivalent Mullvad Browser release prep issue ===================================== .gitlab/issue_templates/Release Prep - Tor Browser Legacy.md → .gitlab/issue_templates/042 Release Prep - Tor Browser Legacy.md ===================================== @@ -1,4 +1,4 @@ -# Release Prep Tor Browser Legacy +# 🧅 Release Prep Tor Browser Legacy - **NOTE** It is assumed the `tor-browser` release rebase and security backport tasks have been completed ===================================== .gitlab/issue_templates/Release Prep - Mullvad Browser Alpha.md → .gitlab/issue_templates/050 Release Prep - Mullvad Browser Alpha.md ===================================== @@ -1,4 +1,4 @@ -# Release Prep Mullvad Browser Alpha +# 🌐 Release Prep Mullvad Browser Alpha - **NOTE** It is assumed the `mullvad-browser` alpha rebase and security backport tasks have been completed - **NOTE** This can/is often done in conjunction with the equivalent Tor Browser release prep issue ===================================== .gitlab/issue_templates/Release Prep - Mullvad Browser Stable.md → .gitlab/issue_templates/051 Release Prep - Mullvad Browser Stable.md ===================================== @@ -1,4 +1,4 @@ -# Release Prep Mullvad Browser Stable +# 🌐 Release Prep Mullvad Browser Stable - **NOTE** It is assumed the `mullvad-browser` release rebase and security backport tasks have been completed - **NOTE** This can/is often done in conjunction with the equivalent Tor Browser release prep issue ===================================== .gitlab/issue_templates/Release Prep - Tor VPN.md → .gitlab/issue_templates/060 Release Prep - Tor VPN.md ===================================== @@ -1,4 +1,4 @@ -# Release Prep Tor VPN +# 🔑 Release Prep Tor VPN - **NOTE** It is assumed the `vpn` release has been tagged in the `vpn.git` repository ===================================== .gitlab/issue_templates/Default.md ===================================== @@ -0,0 +1,20 @@ +# Open a new Issue + +Please select the appropriate issue template from the **Description** drop-down. + +--- + +- 🐞 **Bug Report** - report a problem with the browser +- 💡 **Proposal** - suggest a new feature + +*NOTE*: the following issue types are intended for internal use + +- ⬅️ **Backport** - cherry-pick change to other release channels +- ❌ **Revert** - revert a change +- ⬆️ **Uplift** - uplift change to upstream project +- 🧅 **Release Prep - Tor Browser Alpha** - prepare a new Tor Browser Alpha Release +- 🧅 **Release Prep - Tor Browser Stable** - prepare a new Tor Browser Stable Release +- 🧅 **Release Prep - Tor Browser Legacy** - prepare a new Tor Browser Legacy Release +- 🌐 **Release Prep - Mullvad Browser Alpha** - prepare a new Mullvad Browser Alpha Release +- 🌐 **Release Prep - Mullvad Browser Stable** - prepare a new Mullvad Browser Stable Release +- 🔑 **Release Prep - Tor VPN** - prepare a new TorVPN Release View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] Update create-blog-post script
by morgan (@morgan) 27 Jan '26

27 Jan '26
morgan pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: e75179ba by Morgan at 2026-01-27T11:12:07+00:00 Update create-blog-post script - move the alpha-channel reminder closer to top of blog post - link to the Future of Tor Browser Alpha blog-post in the reminder - - - - - 1 changed file: - tools/signing/create-blog-post Changes: ===================================== tools/signing/create-blog-post ===================================== @@ -15,13 +15,17 @@ then lead=../../../assets/static/images/blog/tor-browser-stable.png title="New Release: Tor Browser $tbb_version" download_page='https://www.torproject.org/download/' - reminder='' + alpha_reminder='' else blog_dir_base="new-alpha-release-tor-browser" lead=../../../assets/static/images/blog/tor-browser-alpha.png title="New Alpha Release: Tor Browser $tbb_version" download_page='https://www.torproject.org/download/alpha/' - reminder="⚠️ **Reminder**: Tor Browser Alpha release channel is for [testing only](https://community.torproject.org/user-research/become-tester/). If you are at risk or need strong anonymity, stick with the [stable release channel](https://www.torproject.org/download/)." + alpha_reminder="⚠️ **Reminder**: The Tor Browser Alpha release-channel is for [testing only](https://community.torproject.org/user-research/become-tester/). As such, Tor Browser Alpha is not intended for general use because it is more likely to include bugs affecting usability, security, and privacy. + +Moreover, Tor Browser Alphas are now based on Firefox's betas. Please read more about this important change in the [Future of Tor Browser Alpha](https://blog.torproject.org/future-of-tor-browser-alpha/) blog post. + +If you are an at-risk user, require strong anonymity, or just want a reliably-working browser, please stick with the [stable release channel](https://www.torproject.org/download/)." fi blog_dir="$content_dir/$blog_dir_base-"$(echo $tbb_version | sed 's/\.//g') @@ -49,16 +53,17 @@ releases summary: Tor Browser $tbb_version is now available from the Tor Browser download page and also from our distribution directory. --- body: + Tor Browser $tbb_version is now available from the [Tor Browser download page]($download_page) and also from our [distribution directory](https://www.torproject.org/dist/torbrowser/$tbb_version/). This version includes important [security updates](https://www.mozilla.org/en-US/security/advisories/) to Firefox. +$alpha_reminder + ## Send us your feedback If you find a bug or have a suggestion for how we could improve this release, [please let us know](https://support.torproject.org/misc/bug-or-feedback/). -$reminder - ## Full changelog EOF View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/e… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/e… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-140.7.0esr-15.0-1] fixup! [android] Modify add-on support
by ma1 (@ma1) 26 Jan '26

26 Jan '26
ma1 pushed to branch tor-browser-140.7.0esr-15.0-1 at The Tor Project / Applications / Tor Browser Commits: 2b6f6d20 by hackademix at 2026-01-26T20:50:45+01:00 fixup! [android] Modify add-on support TB 44533: Install bundled NoScript extension at least once per build install - - - - - 3 changed files: - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/TorBrowserFeatures.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt - mobile/android/fenix/app/src/main/res/values/preference_keys.xml Changes: ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/TorBrowserFeatures.kt ===================================== @@ -115,15 +115,19 @@ object TorBrowserFeatures { ) } /** - * Install NoScript as a user WebExtension if we have not already done so. + * Install NoScript if we have not done it yet for this browser version. * AMO signature is checked, but automatic updates still need to be enabled. */ - if (!settings.noscriptInstalled) { + val extensionsVersion = + org.mozilla.geckoview.BuildConfig.MOZ_APP_VERSION + "-" + + org.mozilla.geckoview.BuildConfig.MOZ_APP_BUILDID + "-" + + org.mozilla.fenix.BuildConfig.VCS_HASH + if (settings.extensionsVersion != extensionsVersion) { installNoScript( context, runtime, onSuccess = { - settings.noscriptInstalled = true + settings.extensionsVersion = extensionsVersion logger.debug("NoScript extension was installed successfully") }, onError = { throwable -> ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt ===================================== @@ -2151,14 +2151,9 @@ class Settings(private val appContext: Context) : PreferencesHolder { default = false, ) - var noscriptInstalled by booleanPreference( - appContext.getPreferenceKey(R.string.pref_key_noscript_installed), - default = false - ) - - var noscriptUpdated by intPreference( - appContext.getPreferenceKey(R.string.pref_key_noscript_updated), - default = 0 + var extensionsVersion by stringPreference( + appContext.getPreferenceKey(R.string.pref_key_extensions_version), + default = "" ) var httpsEverywhereRemoved by booleanPreference( ===================================== mobile/android/fenix/app/src/main/res/values/preference_keys.xml ===================================== @@ -475,8 +475,7 @@ <string name="pref_key_setup_step_theme" translatable="false">pref_key_setup_step_theme</string> <string name="pref_key_setup_step_extensions" translatable="false">pref_key_setup_step_extensions</string> - <string name="pref_key_noscript_installed" translatable="false">pref_key_noscript_installed</string> - <string name="pref_key_noscript_updated" translatable="false">pref_key_noscript_updated</string> + <string name="pref_key_extensions_version" translatable="false">pref_key_extensions_version</string> <string name="pref_key_https_everywhere_removed" translatable="false">pref_key_https_everywhere_removed</string> <!-- Security Level Settings --> View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/2b6f6d2… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/2b6f6d2… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-147.0a1-16.0-2] fixup! [android] Modify add-on support
by ma1 (@ma1) 26 Jan '26

26 Jan '26
ma1 pushed to branch tor-browser-147.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: 3aaba973 by hackademix at 2026-01-26T20:40:28+01:00 fixup! [android] Modify add-on support TB 44533: Install bundled NoScript extension at least once per build install - - - - - 3 changed files: - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/TorBrowserFeatures.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt - mobile/android/fenix/app/src/main/res/values/preference_keys.xml Changes: ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/TorBrowserFeatures.kt ===================================== @@ -115,15 +115,19 @@ object TorBrowserFeatures { ) } /** - * Install NoScript as a user WebExtension if we have not already done so. + * Install NoScript if we have not done it yet for this browser version. * AMO signature is checked, but automatic updates still need to be enabled. */ - if (!settings.noscriptInstalled) { + val extensionsVersion = + org.mozilla.geckoview.BuildConfig.MOZ_APP_VERSION + "-" + + org.mozilla.geckoview.BuildConfig.MOZ_APP_BUILDID + "-" + + org.mozilla.fenix.BuildConfig.VCS_HASH + if (settings.extensionsVersion != extensionsVersion) { installNoScript( context, runtime, onSuccess = { - settings.noscriptInstalled = true + settings.extensionsVersion = extensionsVersion logger.debug("NoScript extension was installed successfully") }, onError = { throwable -> ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt ===================================== @@ -2481,14 +2481,9 @@ class Settings( default = false, ) - var noscriptInstalled by booleanPreference( - appContext.getPreferenceKey(R.string.pref_key_noscript_installed), - default = false - ) - - var noscriptUpdated by intPreference( - appContext.getPreferenceKey(R.string.pref_key_noscript_updated), - default = 0 + var extensionsVersion by stringPreference( + appContext.getPreferenceKey(R.string.pref_key_extensions_version), + default = "" ) var httpsEverywhereRemoved by booleanPreference( ===================================== mobile/android/fenix/app/src/main/res/values/preference_keys.xml ===================================== @@ -523,8 +523,7 @@ <string name="pref_key_tab_manager_enhancements" translatable="false">pref_key_tab_manager_enhancements</string> <string name="pref_key_tab_manager_opening_animation" translatable="false">pref_key_tab_manager_opening_animation</string> - <string name="pref_key_noscript_installed" translatable="false">pref_key_noscript_installed</string> - <string name="pref_key_noscript_updated" translatable="false">pref_key_noscript_updated</string> + <string name="pref_key_extensions_version" translatable="false">pref_key_extensions_version</string> <string name="pref_key_https_everywhere_removed" translatable="false">pref_key_https_everywhere_removed</string> <!-- Security Level Settings --> View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/3aaba97… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/3aaba97… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-147.0a1-16.0-2] fixup! TB 42655 [android]: Implement "New circuit for this site" on Android
by Dan Ballard (@dan) 26 Jan '26

26 Jan '26
Dan Ballard pushed to branch tor-browser-147.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: c7867cc3 by clairehurst at 2026-01-26T08:13:43-08:00 fixup! TB 42655 [android]: Implement "New circuit for this site" on Android Bug 44523: New circuit seems to have disappeared from 147 on Android - - - - - 5 changed files: - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/MenuDialogFragment.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/compose/MainMenu.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarMenuController.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarMenu.kt Changes: ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/MenuDialogFragment.kt ===================================== @@ -117,6 +117,9 @@ import org.mozilla.fenix.webcompat.middleware.DefaultWebCompatReporterRetrievalS import org.mozilla.fenix.webcompat.middleware.WebCompatInfoDeserializer import com.google.android.material.R as materialR +import mozilla.components.browser.engine.gecko.GeckoEngineSession +import android.util.Log + // EXPANDED_MIN_RATIO is used for BottomSheetBehavior.halfExpandedRatio(). // That value needs to be less than the PEEK_HEIGHT. // If EXPANDED_MIN_RATIO is greater than the PEEK_HEIGHT, then there will be @@ -785,6 +788,13 @@ class MenuDialogFragment : BottomSheetDialogFragment() { }, ) }, + onNewCircuitButtonClick = { + components.core.store.state.selectedTab?.let { + (it.engineState.engineSession as GeckoEngineSession).newTorCircuit() + components.useCases.sessionUseCases.reload.invoke(it.id) + dismiss() + } ?: Log.e("MenuDialogFragment", "selectedTab was null, tab and tor circuit not refreshed") + }, ) } ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/compose/MainMenu.kt ===================================== @@ -169,6 +169,7 @@ fun MainMenu( extensionsMenuItemDescription: String?, moreSettingsSubmenu: @Composable () -> Unit, extensionSubmenu: @Composable () -> Unit, + onNewCircuitButtonClick: () -> Unit, ) { MenuFrame( contentModifier = Modifier @@ -290,6 +291,7 @@ fun MainMenu( extensionsMenuItemDescription = extensionsMenuItemDescription, moreSettingsSubmenu = moreSettingsSubmenu, extensionSubmenu = extensionSubmenu, + onNewCircuitButtonClick = onNewCircuitButtonClick, ) } @@ -363,6 +365,7 @@ private fun ToolsAndActionsMenuGroup( extensionsMenuItemDescription: String?, moreSettingsSubmenu: @Composable () -> Unit, extensionSubmenu: @Composable () -> Unit, + onNewCircuitButtonClick: (() -> Unit)?, ) { MenuGroup { val labelId = R.string.browser_menu_desktop_site @@ -380,6 +383,12 @@ private fun ToolsAndActionsMenuGroup( menuItemState = if (isPdf) MenuItemState.DISABLED else MenuItemState.ENABLED } + MenuItem( + label = stringResource(R.string.library_new_circuit), + beforeIconPainter = painterResource(R.drawable.new_circuit), + onClick = onNewCircuitButtonClick, + ) + if (isBookmarked) { MenuItem( label = stringResource(id = R.string.browser_menu_edit_bookmark), @@ -764,6 +773,7 @@ private fun MenuDialogPreview() { onShareButtonClick = {}, moreSettingsSubmenu = {}, extensionSubmenu = {}, + onNewCircuitButtonClick = {}, ) } } @@ -853,6 +863,7 @@ private fun MenuDialogPrivatePreview( onWebExtensionMenuItemClick = {}, ) }, + onNewCircuitButtonClick = {}, ) } } ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarMenuController.kt ===================================== @@ -453,6 +453,7 @@ class DefaultBrowserToolbarMenuController( navController.navigateSafe(R.id.browserFragment, directions) } + // Remove once moz deletes this old UI (Toolbar Menu is being replaced by MainMenu) ToolbarMenu.Item.NewTorCircuit -> { currentSession?.let { sessionUseCases.reload.invoke(it.id) @@ -612,6 +613,7 @@ class DefaultBrowserToolbarMenuController( ), ) + // Remove once moz deletes this old UI (Toolbar Menu is being replaced by MainMenu) ToolbarMenu.Item.NewTorCircuit -> { /* Tor doesn't use telemetry and therefore this doesn't need to be implemented */ } ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt ===================================== @@ -228,6 +228,7 @@ open class DefaultToolbarMenu( onItemTapped.invoke(ToolbarMenu.Item.NewTab) } + // Remove once moz deletes this old UI (Toolbar Menu is being replaced by MainMenu) private val newCircuitItem = BrowserMenuImageText( context.getString(R.string.library_new_circuit), R.drawable.new_circuit, @@ -409,6 +410,7 @@ open class DefaultToolbarMenu( listOfNotNull( if (shouldUseBottomToolbar) null else menuToolbar, newTabItem, + // Remove once moz deletes this old UI (Toolbar Menu is being replaced by MainMenu) BrowserMenuDivider(), newCircuitItem, BrowserMenuDivider(), ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarMenu.kt ===================================== @@ -70,6 +70,7 @@ interface ToolbarMenu { object Passwords : Item() object Downloads : Item() object NewTab : Item() + // Remove once moz deletes this old UI (Toolbar Menu is being replaced by MainMenu) object NewTorCircuit : Item() } View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/c7867cc… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/c7867cc… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-147.0a1-16.0-2] fixup! BB 43564: Modify ./mach bootstrap for Base Browser
by brizental (@brizental) 26 Jan '26

26 Jan '26
brizental pushed to branch tor-browser-147.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: 2bd84cd7 by Beatriz Rizental at 2026-01-26T16:12:43+01:00 fixup! BB 43564: Modify ./mach bootstrap for Base Browser - - - - - 1 changed file: - build/moz.configure/bootstrap.configure Changes: ===================================== build/moz.configure/bootstrap.configure ===================================== @@ -198,7 +198,7 @@ def bootstrap_path(path, **kwargs): path_prefix = path_parts.pop(0) # Small hack because extensions are inside the browser folder. - if path_parts[0] in ("noscript", ): + if path_parts[0] in ("noscript",): path_prefix = "browser" def try_tbb_bootstrap(exists): View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/2bd84cd… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/2bd84cd… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-147.0a1-16.0-2] TB 41822: Hide the default browser settings.
by henry (@henry) 26 Jan '26

26 Jan '26
henry pushed to branch tor-browser-147.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: 95c3241f by Henry Wilkes at 2026-01-26T14:59:34+00:00 TB 41822: Hide the default browser settings. - - - - - 1 changed file: - browser/components/preferences/main.js Changes: ===================================== browser/components/preferences/main.js ===================================== @@ -1187,6 +1187,10 @@ const DefaultBrowserHelper = { * @type {boolean} */ get canCheck() { + if (AppConstants.BASE_BROWSER_VERSION) { + // Disabled for Tor Browser. tor-browser#44343 and tor-browser#41822. + return false; + } return ( this.shellSvc && /** View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/95c3241… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/95c3241… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-147.0a1-16.0-2] fixup! TB 43564: Modify ./mach bootstrap for Tor Browser
by brizental (@brizental) 26 Jan '26

26 Jan '26
brizental pushed to branch tor-browser-147.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: 2241fb56 by Beatriz Rizental at 2026-01-26T11:27:33-03:00 fixup! TB 43564: Modify ./mach bootstrap for Tor Browser Function name update and reformatting - - - - - 1 changed file: - python/mozbuild/mozbuild/backend/base.py Changes: ===================================== python/mozbuild/mozbuild/backend/base.py ===================================== @@ -282,23 +282,12 @@ class BuildBackend(LoggingMixin): if app == "mobile/android": # Set up NoScript extension # We put it in the srcdir... It will be moved to the APK in the gradle build. - if noscript_location: - noscript_target = ( - Path(config.topsrcdir) - / "mobile/android/fenix/app/src/main/assets/extensions" - / noscript_target_filename - ) - self.log( - logging.INFO, - "_setup_tor_browser_environment", - { - "noscript_location": noscript_location, - "noscript_target": str(noscript_target), - }, - "Creating symlink for NoScript from {noscript_location} to {noscript_target}", - ) - - _infallible_symlink(noscript_location, noscript_target) + self._setup_extension_symlink( + noscript_location, + noscript_target_filename, + Path(config.topsrcdir) + / "mobile/android/fenix/app/src/main/assets/extensions", + ) if app == "browser": tbdir = Path(config.topobjdir) / "dist" / "bin" @@ -362,13 +351,15 @@ class BuildBackend(LoggingMixin): paths["tor_config"].mkdir(parents=True, exist_ok=True) for file in ["geoip", "geoip6", "torrc-defaults"]: target = paths["tor_config"] / file - _infallible_symlink(expert_bundle_location / "data" / file, target) + self._create_or_replace_symlink( + expert_bundle_location / "data" / file, target + ) # Set up Conjure documentation conjust_docs_location = paths["docs"] / "conjure" conjust_docs_location.mkdir(parents=True, exist_ok=True) conjure_readme = conjust_docs_location / "README.CONJURE.md" - _infallible_symlink( + self._create_or_replace_symlink( expert_bundle_location / "tor/pluggable_transports/README.CONJURE.md", conjure_readme, @@ -385,21 +376,21 @@ class BuildBackend(LoggingMixin): # We only want the PT executables. if os.access(file, os.X_OK) or file.suffix.lower() == ".exe": target = pluggable_transports_target / file.name - _infallible_symlink(file, target) + self._create_or_replace_symlink(file, target) # Setup Tor binary for item in Path(expert_bundle_location / "tor").iterdir(): target = paths["tor_bin"] / item.name if item.is_file(): - _infallible_symlink(item, target) + self._create_or_replace_symlink(item, target) # Set up licenses licenses_location = paths["docs"] / "Licenses" licenses_location.mkdir(parents=True, exist_ok=True) for item in (expert_bundle_location / "docs").iterdir(): target = licenses_location / item.name - _infallible_symlink(item, target) + self._create_or_replace_symlink(item, target) def post_build(self, config, output, jobs, verbose, status): """Called late during 'mach build' execution, after `build(...)` has finished. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/2241fb5… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/2241fb5… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-147.0a1-16.0-2] fixup! BB 43564: Modify ./mach bootstrap for Base Browser
by brizental (@brizental) 26 Jan '26

26 Jan '26
brizental pushed to branch tor-browser-147.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: b447dfc5 by Beatriz Rizental at 2026-01-26T11:21:23-03:00 fixup! BB 43564: Modify ./mach bootstrap for Base Browser Generalize extension symlinking code. - - - - - 3 changed files: - build/moz.configure/basebrowser-resources.configure - build/moz.configure/bootstrap.configure - python/mozbuild/mozbuild/backend/base.py Changes: ===================================== build/moz.configure/basebrowser-resources.configure ===================================== @@ -27,7 +27,7 @@ option( "noscript", no_unpack=True, when=depends("--with-noscript")(lambda x: not x) ), ) -@checking("for noscript") +@checking("for noscript extension") @imports(_from="pathlib", _import="Path") def noscript(value, mozbuild_state_path, _bootstrapped): if value: ===================================== build/moz.configure/bootstrap.configure ===================================== @@ -197,8 +197,8 @@ def bootstrap_path(path, **kwargs): if path_parts[0] == "clang-tools": path_prefix = path_parts.pop(0) - # Small hack because noscript is inside the browser folder. - if path_parts[0] == "noscript": + # Small hack because extensions are inside the browser folder. + if path_parts[0] in ("noscript", ): path_prefix = "browser" def try_tbb_bootstrap(exists): ===================================== python/mozbuild/mozbuild/backend/base.py ===================================== @@ -243,29 +243,42 @@ class BuildBackend(LoggingMixin): with open(mozpath.join(dir, ".purgecaches"), "w") as f: f.write("\n") - def _setup_tor_browser_environment(self, config): + def _create_or_replace_symlink(self, src, dst): + try: + os.symlink(src, dst) + except OSError as e: + if e.errno == errno.EEXIST: + # If the symlink already exists, remove it and try again. + os.remove(dst) + os.symlink(src, dst) + else: + return + + def _setup_extension_symlink(self, location, target_filename, exts_path): + if not location: + return + + target = exts_path / target_filename + + self.log( + logging.INFO, + "_setup_extension_symlink", + { + "location": location, + "target": str(target), + }, + "Creating symlink for extension from {location} to {target}", + ) + + exts_path.mkdir(parents=True, exist_ok=True) + self._create_or_replace_symlink(location, target) + + def _setup_base_browser_environment(self, config): app = config.substs["MOZ_BUILD_APP"] noscript_target_filename = "{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi" noscript_location = config.substs.get("NOSCRIPT") - def _infallible_symlink(src, dst): - try: - os.symlink(src, dst) - except OSError as e: - if e.errno == errno.EEXIST: - # If the symlink already exists, remove it and try again. - os.remove(dst) - os.symlink(src, dst) - else: - self.log( - logging.ERROR, - "_setup_tor_browser_environment", - {}, - "Error creating symlink.", - ) - return - if app == "mobile/android": # Set up NoScript extension # We put it in the srcdir... It will be moved to the APK in the gradle build. @@ -312,7 +325,7 @@ class BuildBackend(LoggingMixin): if fonts_location: self.log( logging.INFO, - "_setup_tor_browser_environment", + "_setup_base_browser_environment", { "fonts_location": fonts_location, "fonts_target": str(paths["fonts"]), @@ -322,23 +335,13 @@ class BuildBackend(LoggingMixin): for file in Path(fonts_location).iterdir(): target = paths["fonts"] / file.name - _infallible_symlink(file, target) + self._create_or_replace_symlink(file, target) - # Set up NoScript extension - if noscript_location: - noscript_target = paths["exts"] / noscript_target_filename - self.log( - logging.INFO, - "_setup_tor_browser_environment", - { - "noscript_location": noscript_location, - "noscript_target": str(noscript_target), - }, - "Creating symlink for NoScript from {noscript_location} to {noscript_target}", - ) - - paths["exts"].mkdir(parents=True, exist_ok=True) - _infallible_symlink(noscript_location, noscript_target) + self._setup_extension_symlink( + noscript_location, + noscript_target_filename, + paths["exts"], + ) expert_bundle_location = config.substs.get("TOR_EXPERT_BUNDLE") if expert_bundle_location: @@ -417,7 +420,7 @@ class BuildBackend(LoggingMixin): self._write_purgecaches(config) if status == 0: - self._setup_tor_browser_environment(config) + self._setup_base_browser_environment(config) return status View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/b447dfc… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/b447dfc… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-147.0a1-16.0-2] fixup! BB 43564: Modify ./mach bootstrap for Base Browser
by brizental (@brizental) 26 Jan '26

26 Jan '26
brizental pushed to branch base-browser-147.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: 9882c796 by Beatriz Rizental at 2026-01-26T11:13:37-03:00 fixup! BB 43564: Modify ./mach bootstrap for Base Browser Generalize extension symlinking code. - - - - - 3 changed files: - build/moz.configure/basebrowser-resources.configure - build/moz.configure/bootstrap.configure - python/mozbuild/mozbuild/backend/base.py Changes: ===================================== build/moz.configure/basebrowser-resources.configure ===================================== @@ -27,7 +27,7 @@ option( "noscript", no_unpack=True, when=depends("--with-noscript")(lambda x: not x) ), ) -@checking("for noscript") +@checking("for noscript extension") @imports(_from="pathlib", _import="Path") def noscript(value, mozbuild_state_path, _bootstrapped): if value: ===================================== build/moz.configure/bootstrap.configure ===================================== @@ -197,8 +197,8 @@ def bootstrap_path(path, **kwargs): if path_parts[0] == "clang-tools": path_prefix = path_parts.pop(0) - # Small hack because noscript is inside the browser folder. - if path_parts[0] == "noscript": + # Small hack because extensions are inside the browser folder. + if path_parts[0] in ("noscript", ): path_prefix = "browser" def try_tbb_bootstrap(exists): ===================================== python/mozbuild/mozbuild/backend/base.py ===================================== @@ -243,23 +243,42 @@ class BuildBackend(LoggingMixin): with open(mozpath.join(dir, ".purgecaches"), "w") as f: f.write("\n") - def _setup_tor_browser_environment(self, config): + def _create_or_replace_symlink(self, src, dst): + try: + os.symlink(src, dst) + except OSError as e: + if e.errno == errno.EEXIST: + # If the symlink already exists, remove it and try again. + os.remove(dst) + os.symlink(src, dst) + else: + return + + def _setup_extension_symlink(self, location, target_filename, exts_path): + if not location: + return + + target = exts_path / target_filename + + self.log( + logging.INFO, + "_setup_extension_symlink", + { + "location": location, + "target": str(target), + }, + "Creating symlink for extension from {location} to {target}", + ) + + exts_path.mkdir(parents=True, exist_ok=True) + self._create_or_replace_symlink(location, target) + + def _setup_base_browser_environment(self, config): app = config.substs["MOZ_BUILD_APP"] noscript_target_filename = "{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi" noscript_location = config.substs.get("NOSCRIPT") - def _infallible_symlink(src, dst): - try: - os.symlink(src, dst) - except OSError as e: - if e.errno == errno.EEXIST: - # If the symlink already exists, remove it and try again. - os.remove(dst) - os.symlink(src, dst) - else: - return - if app == "browser": tbdir = Path(config.topobjdir) / "dist" / "bin" @@ -281,7 +300,7 @@ class BuildBackend(LoggingMixin): if fonts_location: self.log( logging.INFO, - "_setup_tor_browser_environment", + "_setup_base_browser_environment", { "fonts_location": fonts_location, "fonts_target": str(paths["fonts"]), @@ -291,23 +310,13 @@ class BuildBackend(LoggingMixin): for file in Path(fonts_location).iterdir(): target = paths["fonts"] / file.name - _infallible_symlink(file, target) - - # Set up NoScript extension - if noscript_location: - noscript_target = paths["exts"] / noscript_target_filename - self.log( - logging.INFO, - "_setup_tor_browser_environment", - { - "noscript_location": noscript_location, - "noscript_target": str(noscript_target), - }, - "Creating symlink for NoScript from {noscript_location} to {noscript_target}", - ) + self._create_or_replace_symlink(file, target) - paths["exts"].mkdir(parents=True, exist_ok=True) - _infallible_symlink(noscript_location, noscript_target) + self._setup_extension_symlink( + noscript_location, + noscript_target_filename, + paths["exts"], + ) def post_build(self, config, output, jobs, verbose, status): """Called late during 'mach build' execution, after `build(...)` has finished. @@ -328,7 +337,7 @@ class BuildBackend(LoggingMixin): self._write_purgecaches(config) if status == 0: - self._setup_tor_browser_environment(config) + self._setup_base_browser_environment(config) return status View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/9882c79… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/9882c79… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-147.0a1-16.0-2] 2 commits: fixup! BB 43564: Modify ./mach bootstrap for Base Browser
by brizental (@brizental) 26 Jan '26

26 Jan '26
brizental pushed to branch mullvad-browser-147.0a1-16.0-2 at The Tor Project / Applications / Mullvad Browser Commits: e913cc4c by Beatriz Rizental at 2026-01-26T10:35:04-03:00 fixup! BB 43564: Modify ./mach bootstrap for Base Browser Generalize extension symlinking code. - - - - - d3c6d733 by Beatriz Rizental at 2026-01-26T11:09:02-03:00 MB 43564: Modify ./mach bootstrap for Mullvad Browser - - - - - 5 changed files: - build/moz.configure/basebrowser-resources.configure - build/moz.configure/bootstrap.configure - python/mozboot/mozboot/bootstrap.py - python/mozbuild/mozbuild/backend/base.py - python/mozbuild/mozbuild/tbbutils.py Changes: ===================================== build/moz.configure/basebrowser-resources.configure ===================================== @@ -27,7 +27,7 @@ option( "noscript", no_unpack=True, when=depends("--with-noscript")(lambda x: not x) ), ) -@checking("for noscript") +@checking("for noscript extension") @imports(_from="pathlib", _import="Path") def noscript(value, mozbuild_state_path, _bootstrapped): if value: @@ -49,6 +49,84 @@ def noscript(value, mozbuild_state_path, _bootstrapped): set_config("NOSCRIPT", noscript) +option( + "--with-ublock", + env="UBLOCK", + nargs=1, + default=None, + help="Path to ublock .xpi extension archive.", +) + + +@depends( + "--with-ublock", + mozbuild_state_path, + bootstrap_path( + "ublock", no_unpack=True, when=depends("--with-ublock")(lambda x: not x) + ), +) +@checking("for ublock extension") +@imports(_from="pathlib", _import="Path") +def ublock(value, mozbuild_state_path, _bootstrapped): + if value: + path = Path(value[0]) + if path.is_file() and path.suffix == ".xpi": + return value[0] + else: + die("--with-ublock must be an existing .xpi file") + + bootstrapped_location = Path(mozbuild_state_path) / "browser" + for file in bootstrapped_location.glob(f"*.xpi"): + if "ublock" in file.name: + return str(bootstrapped_location / file) + + # ublock is not required for building. + return None + + +set_config("UBLOCK", ublock) + + +option( + "--with-mullvad-extension", + env="MULLVAD_EXTENSION", + nargs=1, + default=None, + help="Path to mullvad extension .xpi extension archive.", +) + + +@depends( + "--with-mullvad-extension", + mozbuild_state_path, + bootstrap_path( + "mullvad-browser-extension", + no_unpack=True, + when=depends("--with-mullvad-extension")(lambda x: not x), + ), +) +@checking("for mullvad extension") +@imports(_from="pathlib", _import="Path") +def mullvad_extension(value, mozbuild_state_path, _bootstrapped): + if value: + path = Path(value[0]) + if path.is_file() and path.suffix == ".xpi": + return value[0] + else: + die("--with-mullvad-extension must be an existing .xpi file") + + bootstrapped_location = Path(mozbuild_state_path) / "browser" + for file in bootstrapped_location.glob(f"*.xpi"): + if "mullvad-browser-extension" in file.name: + return str(bootstrapped_location / file) + + # mullvad extension is not required for building. + return None + + +set_config("MULLVAD_EXTENSION", mullvad_extension) + + option( "--with-tor-browser-fonts", env="TOR_BROWSER_FONTS", ===================================== build/moz.configure/bootstrap.configure ===================================== @@ -197,8 +197,12 @@ def bootstrap_path(path, **kwargs): if path_parts[0] == "clang-tools": path_prefix = path_parts.pop(0) - # Small hack because noscript is inside the browser folder. - if path_parts[0] == "noscript": + # Small hack because extensions are inside the browser folder. + if path_parts[0] in ( + "noscript", + "ublock", + "mullvad-browser-extension", + ): path_prefix = "browser" def try_tbb_bootstrap(exists): ===================================== python/mozboot/mozboot/bootstrap.py ===================================== @@ -49,28 +49,28 @@ Note on Artifact Mode: Artifact builds download prebuilt C++ components rather than building them locally. Artifact builds are faster! -Artifact builds are recommended for people working on Tor Browser or +Artifact builds are recommended for people working on Mullvad Browser or Base Browser for Android frontends, or the GeckoView Java API. They are unsuitable for those working on C++ code. For more information see: https://firefox-source-docs.mozilla.org/contributing/build/artifact_builds.…. -# Note to Base Browser developers +# Note to Mullvad Browser developers This is still highly experimental. Expect bugs! -Please choose the version of Base Browser you want to build (see note above): +Please choose the version of Mullvad Browser you want to build (see note above): %s Your choice: """ APPLICATIONS = OrderedDict( [ - ("Base Browser for Desktop Artifact Mode", "browser_artifact_mode"), - ("Base Browser for Desktop", "browser"), + ("Mullvad Browser for Desktop Artifact Mode", "browser_artifact_mode"), + ("Mullvad Browser for Desktop", "browser"), ( - "GeckoView/Base Browser for Android Artifact Mode", + "GeckoView/Mullvad Browser for Android Artifact Mode", "mobile_android_artifact_mode", ), - ("GeckoView/Base Browser for Android", "mobile_android"), + ("GeckoView/Mullvad Browser for Android", "mobile_android"), ("SpiderMonkey JavaScript engine", "js"), ] ) ===================================== python/mozbuild/mozbuild/backend/base.py ===================================== @@ -243,22 +243,47 @@ class BuildBackend(LoggingMixin): with open(mozpath.join(dir, ".purgecaches"), "w") as f: f.write("\n") - def _setup_tor_browser_environment(self, config): + def _create_or_replace_symlink(self, src, dst): + try: + os.symlink(src, dst) + except OSError as e: + if e.errno == errno.EEXIST: + # If the symlink already exists, remove it and try again. + os.remove(dst) + os.symlink(src, dst) + else: + return + + def _setup_extension_symlink(self, location, target_filename, exts_path): + if not location: + return + + target = exts_path / target_filename + + self.log( + logging.INFO, + "_setup_extension_symlink", + { + "location": location, + "target": str(target), + }, + "Creating symlink for extension from {location} to {target}", + ) + + exts_path.mkdir(parents=True, exist_ok=True) + self._create_or_replace_symlink(location, target) + + def _setup_base_browser_environment(self, config): app = config.substs["MOZ_BUILD_APP"] noscript_target_filename = "{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi" noscript_location = config.substs.get("NOSCRIPT") - def _infallible_symlink(src, dst): - try: - os.symlink(src, dst) - except OSError as e: - if e.errno == errno.EEXIST: - # If the symlink already exists, remove it and try again. - os.remove(dst) - os.symlink(src, dst) - else: - return + ublock_target_filename = "uBlock0(a)raymondhill.net.xpi" + ublock_location = config.substs.get("UBLOCK") + + mullvad_extension_target_filename = "{d19a89b9-76c1-4a61-bcd4-49e8de916403}.xpi" + mullvad_extension_location = config.substs.get("MULLVAD_EXTENSION") if app == "browser": tbdir = Path(config.topobjdir) / "dist" / "bin" @@ -281,7 +306,7 @@ class BuildBackend(LoggingMixin): if fonts_location: self.log( logging.INFO, - "_setup_tor_browser_environment", + "_setup_base_browser_environment", { "fonts_location": fonts_location, "fonts_target": str(paths["fonts"]), @@ -291,23 +316,25 @@ class BuildBackend(LoggingMixin): for file in Path(fonts_location).iterdir(): target = paths["fonts"] / file.name - _infallible_symlink(file, target) + self._create_or_replace_symlink(file, target) - # Set up NoScript extension - if noscript_location: - noscript_target = paths["exts"] / noscript_target_filename - self.log( - logging.INFO, - "_setup_tor_browser_environment", - { - "noscript_location": noscript_location, - "noscript_target": str(noscript_target), - }, - "Creating symlink for NoScript from {noscript_location} to {noscript_target}", - ) + self._setup_extension_symlink( + noscript_location, + noscript_target_filename, + paths["exts"], + ) - paths["exts"].mkdir(parents=True, exist_ok=True) - _infallible_symlink(noscript_location, noscript_target) + self._setup_extension_symlink( + ublock_location, + ublock_target_filename, + paths["exts"], + ) + + self._setup_extension_symlink( + mullvad_extension_location, + mullvad_extension_target_filename, + paths["exts"], + ) def post_build(self, config, output, jobs, verbose, status): """Called late during 'mach build' execution, after `build(...)` has finished. @@ -328,7 +355,7 @@ class BuildBackend(LoggingMixin): self._write_purgecaches(config) if status == 0: - self._setup_tor_browser_environment(config) + self._setup_base_browser_environment(config) return status ===================================== python/mozbuild/mozbuild/tbbutils.py ===================================== @@ -22,10 +22,12 @@ def list_files_http(url): return links -TOR_BROWSER_BUILD_ARTIFACTS = [ - # Tor Browser Build-only artifacts, these artifacts are not common with Firefox. +MULLVAD_BROWSER_BUILD_ARTIFACTS = [ + # Mullvad Browser Build-only artifacts, these artifacts are not common with Firefox. + "mullvad-browser-extension", "noscript", "fonts", + "ublock", ] # Mapping of artifacts from taskcluster to tor-browser-build. @@ -55,7 +57,7 @@ def get_artifact_index(artifact_path): def get_artifact_name(original_artifact_name, host): # These are not build artifacts, they are pre-built artifacts to be added to the final build, # therefore this check can come before the host check. - if original_artifact_name in TOR_BROWSER_BUILD_ARTIFACTS: + if original_artifact_name in MULLVAD_BROWSER_BUILD_ARTIFACTS: return original_artifact_name if host != "linux64": View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/58… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/58… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] Bug 41699: Keep only arch-specifc prefs on Android.
by Pier Angelo Vendrame (@pierov) 26 Jan '26

26 Jan '26
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: c89ca221 by Pier Angelo Vendrame at 2026-01-26T15:02:44+01:00 Bug 41699: Keep only arch-specifc prefs on Android. Currently, our APKs contain preference files for all the architectures. While they are not very big, they are completely useless and, in our situation, every saved byte matters. - - - - - 1 changed file: - projects/browser/build.android Changes: ===================================== projects/browser/build.android ===================================== @@ -70,6 +70,17 @@ function generate_apk { -name '*.js' -or -name '*.mjs' \ -exec /var/tmp/dist/uglifyjs/bin/uglifyjs --in-situ {} \; [% END -%] + [% IF !c("var/android-armv7") -%] + rm -rf armeabi-v7a + [% END -%] + [% IF !c("var/android-aarch64") -%] + rm -rf arm64-v8a + [% END -%] + [% IF !c("var/android-x86_64") -%] + rm -rf x86_64 + [% END -%] + # Notice: we take for granted we never rewrite on the source archive! + # Be sure to change any `rm` with the appropriate command, shall this change. [% c('zip', { zip_src => [ '.' ], zip_args => '-0 ../assets/omni.ja', View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/c… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/c… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] 3 commits: Bug 41684: Move gradle setup back to projects/gradle/config.
by Pier Angelo Vendrame (@pierov) 26 Jan '26

26 Jan '26
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: 98e9c031 by Pier Angelo Vendrame at 2026-01-26T13:02:25+01:00 Bug 41684: Move gradle setup back to projects/gradle/config. - - - - - 5ea37387 by Pier Angelo Vendrame at 2026-01-26T13:02:28+01:00 Bug 41684: Minor cleanup in project configs. While working on this issue, I found that there were several minor changes that we could do to improve consistency with the rest of config files, therefore I thought of doing them in a separate commit first. - - - - - 88ad5449 by Pier Angelo Vendrame at 2026-01-26T15:00:03+01:00 Bug 41684: Use the NDK as Android compiler. We used to use a package with the full Android SDK+NDK. However, we have several projects that only need the NDK. Passing the SDK to them involved unneeded rebuilds for every SDK change, and longer iteration times for toolchain update as a consequence. Projects still needing the Android SDK will need to include both. - - - - - 22 changed files: - + projects/android-ndk/README.md - + projects/android-ndk/build - + projects/android-ndk/config - projects/android-toolchain/README.md → projects/android-sdk/README.md - projects/android-toolchain/build → projects/android-sdk/build - projects/android-toolchain/config → projects/android-sdk/config - projects/android-toolchain/platform-36.1-package.xml → projects/android-sdk/platform-36.1-package.xml - projects/application-services/build - projects/application-services/config - projects/application-services/list_toolchain_updates_checks - projects/browser/build.android - projects/browser/config - projects/geckoview/build_ac_fenix - projects/geckoview/build_common - projects/geckoview/config - projects/geckoview/list_toolchain_updates_checks - projects/glean/build - projects/glean/config - projects/gradle/config - projects/oss-licenses-plugin/build - rbm.conf - tools/signing/machines-setup/upload-tbb-to-signing-machine Changes: ===================================== projects/android-ndk/README.md ===================================== @@ -0,0 +1,8 @@ +This projects downloads and repacks the Android NDK, which we use as the +default compiler for Android. + +We used to set the `android-toolchain` project as `var/compiler`, but most of +the projects only need the NDK, so any error in `android-toolchain` would +trigger unneeded rebuilds, making iteration times longer. + +We keep the NDK version in sync with the version used by Mozilla. ===================================== projects/android-ndk/build ===================================== @@ -0,0 +1,9 @@ +#!/bin/bash +[% c("var/set_default_env") -%] + +unzip -qq $rootdir/[% c("input_files_by_name/ndk")%] +mv android-ndk-r[% c("var/release") %] [% project %] +[% c('tar', { + tar_src => [ project ], + tar_args => '-caf ' _ dest_dir _ '/' _ c('filename'), + }) %] ===================================== projects/android-ndk/config ===================================== @@ -0,0 +1,18 @@ +# vim: filetype=yaml sw=2 +filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]' +version: 29.0.14206865 + +var: + release: 29 + setup: | + mkdir -p /var/tmp/dist + tar -C /var/tmp/dist -xf $rootdir/[% c("compiler_tarfile") %] + export ANDROID_NDK_HOME=/var/tmp/dist/android-ndk/ + export ANDROID_NDK_ROOT=$ANDROID_NDK_HOME + export NDK_HOST_TAG=linux-x86_64 + export PATH=$PATH:$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin + +input_files: + - URL: 'https://dl.google.com/android/repository/android-ndk-r[% c("var/release") %]-linux.zip' + name: ndk + sha256sum: 4abbbcdc842f3d4879206e9695d52709603e52dd68d3c1fff04b3b5e7a308ecf ===================================== projects/android-toolchain/README.md → projects/android-sdk/README.md ===================================== @@ -1,14 +1,14 @@ -This project is configured as `var/compiler` for Android. - -It contains a few versions of the Android SDK, build tools and the NDK. +This project contains some packages that would normally be installed with +`sdkmanager`, such as the build tools, platform tools and platforms. It defines several environment variables that various build systems look for, such as `ANDROID_HOME`. -Optionally, it also prepares gradle. -The output artifact includes only one version of the NDK, because of its huge -size, but the setup commands can use a custom version of the NDK, since some -projects need different versions (e.g., GeckoView and Application Services). +We used to have a single package for the SDK and the NDK. +However, most of native binaries need only the NDK. +Therefore, we decided to split the project, to possibly reduce the iteration +time when updating the toolchains, as it is much easier to get the NDK right at +the first attempt. # Known issues ===================================== projects/android-toolchain/build → projects/android-sdk/build ===================================== @@ -3,20 +3,13 @@ distdir=$rootdir/[% project %] mkdir -p $distdir - -mkdir $distdir/android-sdk-linux -cd $distdir/android-sdk-linux +cd $distdir # Command line tools mkdir -p cmdline-tools unzip -qq $rootdir/[% c("input_files_by_name/android_commandlinetools") %] -d cmdline-tools mv cmdline-tools/cmdline-tools cmdline-tools/[% c("var/commandlinetools_version_string") %] -# NDK -mkdir ndk -unzip -qq $rootdir/[% c("input_files_by_name/android_ndk_compiler")%] -d ndk -ln -s android-ndk-r[% c("var/android_ndk_release_name") %] ndk/[% c("var/android_ndk_revision") %] - # Build tools mkdir build-tools unzip -qq $rootdir/[% c("input_files_by_name/build_tools") %] -d build-tools @@ -38,6 +31,11 @@ mv $rootdir/platform-36.1-package.xml platforms/android-36.1/package.xml # Platform tools unzip -qq $rootdir/[% c("input_files_by_name/platform_tools") %] +# Placeholder for the NDK, as some projects expect the NDK to be in +# $ANDROID_HOME/ndk/<ndk-version>. +# We will add a symlink to the actual NDK in the setup when available. +mkdir ndk + # That's a quirk required by GeckoView but let's have it here instead of in the # project's build script mkdir emulator ===================================== projects/android-toolchain/config → projects/android-sdk/config ===================================== @@ -5,33 +5,12 @@ version: 36.1.0 var: setup: | mkdir -p /var/tmp/dist - tar -C /var/tmp/dist -xf $rootdir/[% c("compiler_tarfile") %] - export ANDROID_HOME=/var/tmp/dist/[% project %]/android-sdk-linux + tar -C /var/tmp/dist -xf $rootdir/[% c("sdk_tarfile") %] + export ANDROID_HOME=/var/tmp/dist/[% project %] + [[ -n "${ANDROID_NDK_HOME}" ]] && ln -s $ANDROID_NDK_HOME $ANDROID_HOME/ndk/[% pc("android-ndk", "version") %] export PATH=$PATH:$ANDROID_HOME/build-tools/[% c("version") %] - # By default we use the old NDK which is the one GeckoView is using. - # However, we can overwrite that per project if needed (e.g. - # application-services is currently on a newer NDK). - # But an NDK is more than 1.5GB, so it does not make sense to copy one that - # is not even used in all containers. Instead, we download the additional - # NDK only in application-services, and adjust the other variables here. - [% IF c("ndk_release") -%] - export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/android-ndk-r[% c("ndk_release") %] - [% ELSE -%] - export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/android-ndk-r[% c("var/android_ndk_release_name") %] - [% END -%] - export ANDROID_NDK_ROOT=$ANDROID_NDK_HOME - export NDK_HOST_TAG=linux-x86_64 - export PATH=$PATH:$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin - [% IF c("gradle_tarfile") -%] - tar -C /var/tmp/dist/[% project %] -xf $rootdir/[% c("gradle_tarfile") %] - export GRADLE_HOME=/var/tmp/dist/[% project %]/gradle - export GRADLE_USER_HOME=$GRADLE_HOME - export PATH=$PATH:$GRADLE_HOME/bin - [% END -%] google_repo: https://dl.google.com/android/repository android_release_dir: android-16 - android_ndk_release_name: '29' - android_ndk_revision: 29.0.14206865 # We need the following two variables for get_build_tools, used by signing # scripts. build_tools_version: 36.1 @@ -45,9 +24,6 @@ input_files: - URL: '[% c("var/google_repo") %]/commandlinetools-linux-[% c("var/commandlinetools_version") %]_latest.zip' name: android_commandlinetools sha256sum: 7ec965280a073311c339e571cd5de778b9975026cfcbe79f2b1cdcb1e15317ee - - URL: '[% c("var/google_repo") %]/android-ndk-r[% c("var/android_ndk_release_name") %]-linux.zip' - name: android_ndk_compiler - sha256sum: 4abbbcdc842f3d4879206e9695d52709603e52dd68d3c1fff04b3b5e7a308ecf - URL: '[% c("var/google_repo") %]/[% c("var/build_tools_filename") %]' name: build_tools sha256sum: '[% c("var/build_tools_sha256sum") %]' ===================================== projects/android-toolchain/platform-36.1-package.xml → projects/android-sdk/platform-36.1-package.xml ===================================== ===================================== projects/application-services/build ===================================== @@ -3,9 +3,10 @@ [% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')), - gradle_tarfile => c("input_files_by_name/gradle"), }) %] -pushd /var/tmp/dist/android-toolchain/android-sdk-linux/build-tools/ +[% pc('android-sdk', 'var/setup', { sdk_tarfile => c("input_files_by_name/android-sdk") }) %] +[% pc('gradle', 'var/setup', { gradle_tarfile => c("input_files_by_name/gradle") }) %] +pushd /var/tmp/dist/android-sdk/build-tools/ unzip $rootdir/'[% c("input_files_by_name/build_tools_35") %]' mv android-15 35.0 popd ===================================== projects/application-services/config ===================================== @@ -48,25 +48,20 @@ steps: - gyp input_files: - project: container-image - pkg_type: build - project: '[% c("var/compiler") %]' name: '[% c("var/compiler") %]' - pkg_type: build + - project: android-sdk + name: android-sdk - project: gradle name: gradle - pkg_type: build - project: rust name: rust - pkg_type: build - project: ninja name: ninja - pkg_type: build - project: uniffi-rs name: uniffi-rs - pkg_type: build - project: glean name: glean - pkg_type: build enable: '[% !c("var/generate_gradle_dependencies_list") %]' # Only Application Services currently requires build tools 35. # So, download them only here, rather than adding them to the shared ===================================== projects/application-services/list_toolchain_updates_checks ===================================== @@ -8,7 +8,7 @@ if (m/^\\s*compileSdkVersion:\\s([^"]*),/) { } EOF needed=$(cat build.gradle | perl -ne "$p") -current='[% pc("android-toolchain", "var/android_api_level") %]' +current=$(echo [% pc("android-sdk", "version") %] | cut -f 1 -d '.') check_update_needed compileSdkVersion "$needed" "$current" ===================================== projects/browser/build.android ===================================== @@ -1,6 +1,7 @@ #!/bin/bash [% c("var/set_default_env") -%] -[% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %] + +[% pc('android-sdk', 'var/setup', { sdk_tarfile => c("input_files_by_name/android-sdk") }) %] [% IF c("var/android-x86_64") -%] tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/node') %] ===================================== projects/browser/config ===================================== @@ -69,9 +69,12 @@ targets: input_files: - project: container-image + - name: '[% c("var/compiler") %]' + project: '[% c("var/compiler") %]' + enable: '[% c("var/macos") %]' - project: firefox name: firefox - enable: '[% ! c("var/android") %]' + enable: '[% !c("var/android") %]' - project: firefox name: firefox-aarch64 enable: '[% c("var/macos_universal") %]' @@ -81,30 +84,11 @@ input_files: name: src-firefox pkg_type: src-tarballs enable: '[% c("var/macos") %]' - - project: geckoview - name: fenix - pkg_type: build_apk - enable: '[% c("var/android") && !c("var/android_single_arch") %]' - - project: geckoview - name: fenix - pkg_type: build - enable: '[% c("var/android") && c("var/android_single_arch") %]' - - project: tor-expert-bundle - name: tor-expert-bundle - enable: '[% c("var/tor-browser") %]' - - project: tor-expert-bundle - name: tor-expert-bundle-aarch64 - enable: '[% c("var/macos_universal") && c("var/tor-browser") %]' - target_replace: - '^torbrowser-macos.*': torbrowser-macos-aarch64 - - project: moat-settings - name: moat-settings - enable: '[% c("var/tor-browser") %]' - project: fonts name: fonts - enable: '[% ! c("var/android") %]' + enable: '[% !c("var/android") %]' - filename: Bundle-Data - enable: '[% ! c("var/android") %]' + enable: '[% !c("var/android") %]' - filename: dmg-root enable: '[% c("var/macos") %]' - URL: https://dist.torproject.org/torbrowser/noscript/noscript-13.5.1.90101984.xpi @@ -118,6 +102,20 @@ input_files: name: mullvad-extension sha256sum: 4597ee6fff6a2f19cbf78a6149d38d12ad8a9d6029b7e36f6c639dc3e07dd2c3 enable: '[% c("var/mullvad-browser") %]' + - project: manual + name: manual + enable: '[% !c("var/android") && c("var/tor-browser") %]' + - project: tor-expert-bundle + name: tor-expert-bundle + enable: '[% c("var/tor-browser") %]' + - project: tor-expert-bundle + name: tor-expert-bundle-aarch64 + enable: '[% c("var/macos_universal") && c("var/tor-browser") %]' + target_replace: + '^torbrowser-macos.*': torbrowser-macos-aarch64 + - project: moat-settings + name: moat-settings + enable: '[% c("var/tor-browser") %]' - filename: 'gtk3-settings.ini' enable: '[% c("var/linux") %]' - project: hfsplus-tools @@ -145,15 +143,20 @@ input_files: name: translation-mullvad-browser pkg_type: mullvad-browser enable: '[% c("var/mullvad-browser") && c("var/windows") && !c("var/testbuild") %]' + - project: geckoview + name: fenix + pkg_type: build_apk + enable: '[% c("var/android") && !c("var/android_single_arch") %]' + - project: geckoview + name: fenix + pkg_type: build + enable: '[% c("var/android") && c("var/android_single_arch") %]' # To generate a new keystore, see how-to-generate-keystore.txt - filename: android-qa.keystore enable: '[% c("var/android") %]' - - name: '[% c("var/compiler") %]' - project: '[% c("var/compiler") %]' - enable: '[% c("var/android") || c("var/macos") %]' - - project: manual - name: manual - enable: '[% ! c("var/android") && c("var/tor-browser") %]' + - project: android-sdk + name: android-sdk + enable: '[% c("var/android") %]' # tor-browser-build#40920 - filename: sort-baseline.py enable: '[% c("var/android") %]' ===================================== projects/geckoview/build_ac_fenix ===================================== @@ -12,7 +12,7 @@ gradle $GRADLE_FLAGS assembleGecko -x lint [% IF c('var/generate_gradle_dependen popd # The build might fail with "file exists" otherwise. -rm -rf /var/tmp/dist/android-toolchain/gradle/glean/pythonenv +rm -rf $GRADLE_HOME/glean/pythonenv echo "Building Fenix $(date)" pushd mobile/android/fenix ===================================== projects/geckoview/build_common ===================================== @@ -1,8 +1,9 @@ [% c("var/set_default_env") -%] [% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')), - gradle_tarfile => c("input_files_by_name/gradle"), }) %] +[% pc('android-sdk', 'var/setup', { sdk_tarfile => c("input_files_by_name/android-sdk") }) %] +[% pc('gradle', 'var/setup', { gradle_tarfile => c("input_files_by_name/gradle") }) %] distdir=/var/tmp/dist builddir=/var/tmp/build outdir="[% dest_dir _ '/' _ c('filename') -%]" ===================================== projects/geckoview/config ===================================== @@ -78,6 +78,9 @@ steps: - name: '[% c("var/compiler") %]' project: '[% c("var/compiler") %]' pkg_type: build + - project: android-sdk + name: android-sdk + pkg_type: build - project: gradle name: gradle pkg_type: build @@ -156,6 +159,8 @@ input_files: refresh_input: 1 - name: '[% c("var/compiler") %]' project: '[% c("var/compiler") %]' + - project: android-sdk + name: android-sdk - project: gradle name: gradle - project: rust ===================================== projects/geckoview/list_toolchain_updates_checks ===================================== @@ -10,7 +10,7 @@ if (m/^\\s*NDK_VERSION\\s*=\\s*"(.+)"/) { } EOF needed=$(cat python/mozboot/mozboot/android.py | perl -ne "$p") -current='r[% pc("android-toolchain", "var/android_ndk_release_name") %]' +current='r[% pc("android-ndk", "var/release") %]' check_update_needed ndk_release_name "$needed" "$current" @@ -22,7 +22,7 @@ if (m/build-tools;(.+)$/) { } EOF needed=$(cat python/mozboot/mozboot/android-packages.txt | perl -ne "$p") -current='[% pc("android-toolchain", "version") %]' +current='[% pc("android-sdk", "version") %]' check_update_needed build_tools "$needed" "$current" @@ -43,7 +43,7 @@ while (<>) { } EOF needed=$(cat python/mozboot/mozboot/android.py | perl -e "$p") -current='[% pc("android-toolchain", "var/commandlinetools_version_string") %]-[% pc("android-toolchain", "var/commandlinetools_version") %]' +current='[% pc("android-sdk", "var/commandlinetools_version_string") %]-[% pc("android-sdk", "var/commandlinetools_version") %]' check_update_needed cmdline-tools "$needed" "$current" ===================================== projects/glean/build ===================================== @@ -3,10 +3,11 @@ [% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')), - gradle_tarfile => c("input_files_by_name/gradle"), }) %] +[% pc('android-sdk', 'var/setup', { sdk_tarfile => c("input_files_by_name/android-sdk") }) %] +[% pc('gradle', 'var/setup', { gradle_tarfile => c("input_files_by_name/gradle") }) %] -pushd /var/tmp/dist/android-toolchain/android-sdk-linux/ +pushd /var/tmp/dist/android-sdk cd build-tools unzip $rootdir/'[% c("input_files_by_name/build_tools_35") %]' mv android-15 35.0.0 ===================================== projects/glean/config ===================================== @@ -23,9 +23,11 @@ steps: - project: container-image - project: '[% c("var/compiler") %]' name: '[% c("var/compiler") %]' + - project: android-sdk + name: android-sdk # These versions of build tools and platform are not the same version needed # by our other projects, therefore we download it only here instead of modifying - # the android-toolchain project. + # the android-sdk project. - URL: 'https://dl.google.com/android/repository/build-tools_r35_linux.zip' name: build_tools_35 sha256sum: bd3a4966912eb8b30ed0d00b0cda6b6543b949d5ffe00bea54c04c81e1561d88 ===================================== projects/gradle/config ===================================== @@ -5,6 +5,11 @@ container: use_container: 1 var: + setup: | + tar -C /var/tmp/dist -xf $rootdir/[% c("gradle_tarfile") %] + export GRADLE_HOME=/var/tmp/dist/gradle + export GRADLE_USER_HOME=$GRADLE_HOME + export PATH=$PATH:$GRADLE_HOME/bin gradle_sha256sum: 8.14.3: bd71102213493060956ec229d946beee57158dbd89d0e62b91bca0fa2c5f3531 ===================================== projects/oss-licenses-plugin/build ===================================== @@ -6,8 +6,7 @@ builddir=/var/tmp/build/[% project %]-[% c('version') %]/[% project %] mkdir -p $distdir $builddir tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.[% c('compress_tar') %] -tar -C /var/tmp/dist -xf [% c('input_files_by_name/gradle') %] -export PATH=/var/tmp/dist/gradle/bin:$PATH +[% pc('gradle', 'var/setup', { gradle_tarfile => c("input_files_by_name/gradle") }) %] gradle_repo=/var/tmp/dist/gradle-dependencies mv $rootdir/[% c('input_files_by_name/gradle-dependencies') %] $gradle_repo ===================================== rbm.conf ===================================== @@ -473,7 +473,7 @@ targets: var: android: 1 platform: android - compiler: android-toolchain + compiler: android-ndk android_min_api: 26 CC: '[% c("var/cross_prefix") %][% c("var/android_min_api") %]-clang' CFLAGS: '-Oz -fvisibility=hidden' ===================================== tools/signing/machines-setup/upload-tbb-to-signing-machine ===================================== @@ -37,9 +37,9 @@ if ! test -f "./out/yubihsm-shell/$yubihsm_filename"; then echo "Fetched $yubihsm_filename" fi -android_build_tools_filename=$(./rbm/rbm showconf --step get_build_tools android-toolchain filename) -if ! test -f "./out/android-toolchain/$android_build_tools_filename"; then - ./rbm/rbm build --step get_build_tools android-toolchain +android_build_tools_filename=$(./rbm/rbm showconf --step get_build_tools android-sdk filename) +if ! test -f "./out/android-sdk/$android_build_tools_filename"; then + ./rbm/rbm build --step get_build_tools android-sdk echo "Fetched $android_build_tools_filename" fi @@ -63,8 +63,8 @@ chmod go+r "./out/yubihsm-shell/$yubihsm_filename" rsync -v "./out/yubihsm-shell/$yubihsm_filename" "$setup_user@$signing_machine:$signing_dir/$yubihsm_filename" echo "Uploading $android_build_tools_filename" -chmod go+r "./out/android-toolchain/$android_build_tools_filename" -rsync -v "./out/android-toolchain/$android_build_tools_filename" "$setup_user@$signing_machine:$signing_dir/$android_build_tools_filename" +chmod go+r "./out/android-sdk/$android_build_tools_filename" +rsync -v "./out/android-sdk/$android_build_tools_filename" "$setup_user@$signing_machine:$signing_dir/$android_build_tools_filename" echo "Extracting $android_build_tools_filename" ssh "$setup_user@$signing_machine" mkdir -p $signing_dir/android-build-tools ssh "$setup_user@$signing_machine" unzip -qo -d $signing_dir/android-build-tools "$signing_dir/$android_build_tools_filename" View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-147.0a1-16.0-2] 2 commits: fixup! Add CI for Tor Browser
by henry (@henry) 26 Jan '26

26 Jan '26
henry pushed to branch tor-browser-147.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: 30b4b8bb by Henry Wilkes at 2026-01-26T13:22:48+00:00 fixup! Add CI for Tor Browser TB 44492: Fix lint warnings. - - - - - bad52bb0 by Henry Wilkes at 2026-01-26T13:22:48+00:00 fixup! TB 43817: Add tests for Tor Browser TB 44492: Fix lint warnings. - - - - - 3 changed files: - .gitlab/ci/jobs/startup-test/startup-test.py - testing/tor/test_circuit_isolation.py - testing/tor/test_network_check.py Changes: ===================================== .gitlab/ci/jobs/startup-test/startup-test.py ===================================== @@ -97,5 +97,6 @@ subprocess.run( download_url, "--thing-to-run", binary, - ] + ], + check=True, ) ===================================== testing/tor/test_circuit_isolation.py ===================================== @@ -10,7 +10,7 @@ TOR_BOOTSTRAP_TIMEOUT = 30000 # 30s class TestCircuitIsolation(MarionetteTestCase): def tearDown(self): self.marionette.restart(in_app=False, clean=True) - super(TestCircuitIsolation, self).tearDown() + super().tearDown() def bootstrap(self): with self.marionette.using_context("chrome"): ===================================== testing/tor/test_network_check.py ===================================== @@ -16,7 +16,7 @@ class TestNetworkCheck(MarionetteTestCase): def tearDown(self): self.marionette.restart(in_app=False, clean=True) - super(TestNetworkCheck, self).tearDown() + super().tearDown() def attemptConnection(self, tries=1): if tries > 3: View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/f2fc0b… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/f2fc0b… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] Bug 41687: Add single `make list_toolchain_updates` command to list all toolchain updates
by boklm (@boklm) 26 Jan '26

26 Jan '26
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: 610c0219 by Nicolas Vigier at 2026-01-26T12:04:07+01:00 Bug 41687: Add single `make list_toolchain_updates` command to list all toolchain updates - - - - - 2 changed files: - Makefile - + tools/list_toolchain_updates Changes: ===================================== Makefile ===================================== @@ -554,6 +554,9 @@ list_translation_updates-release: list_translation_updates-alpha: $(rbm) showconf --target alpha --step list_updates translation list_updates +list_toolchain_updates: + tools/list_toolchain_updates + list_toolchain_updates-firefox-linux: submodule-update $(rbm) build firefox --step list_toolchain_updates --target nightly --target torbrowser-linux-x86_64 ===================================== tools/list_toolchain_updates ===================================== @@ -0,0 +1,35 @@ +#!/bin/bash +# +# This script runs all `make list_toolchain_updates-*` commands, save +# their outputs to a file (tmp/toolchain_updates.txt) and print it +# (again) at the end. +# +set -e + +script_dir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) +cd "$script_dir"/.. + +output_file="$script_dir/../tmp/toolchain_updates.txt" + +rm -f "$output_file" + +function list_toolchain_updates { + for cmd in \ + list_toolchain_updates-firefox-linux \ + list_toolchain_updates-firefox-windows \ + list_toolchain_updates-firefox-macos \ + list_toolchain_updates-application-services \ + list_toolchain_updates-geckoview + do + line_title="** $cmd **" + line_size=$(echo "$line_title" | wc -m) + line_line=$(perl -e 'print "*" x ('$line_size' - 1), "\n"') + echo "$line_line"; echo "$line_title"; echo "$line_line"; echo + make -s $cmd + echo; echo; echo "$line_line"; echo "$line_line"; echo; echo + done +} + +list_toolchain_updates | tee -a "$output_file" + +echo "See also tmp/toolchain_updates.txt" View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/6… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/6… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-147.0a1-16.0-2] fixup! BB 32308: Use direct browser sizing for letterboxing.
by henry (@henry) 26 Jan '26

26 Jan '26
henry pushed to branch mullvad-browser-147.0a1-16.0-2 at The Tor Project / Applications / Mullvad Browser Commits: 58b599ef by henry at 2026-01-26T09:36:32+00:00 fixup! BB 32308: Use direct browser sizing for letterboxing. TB 44535: Make --tabpanel-background-color transparent when letterboxing is enabled. (cherry picked from commit f2fc0bea56d10004f773e2d3c3efe46b8f77e72c) Co-authored-by: Henry Wilkes <henry(a)torproject.org> - - - - - 1 changed file: - toolkit/components/resistfingerprinting/content/letterboxing.css Changes: ===================================== toolkit/components/resistfingerprinting/content/letterboxing.css ===================================== @@ -80,13 +80,9 @@ outline-width: var(--letterboxing-outline-width); } - #tabbrowser-tabpanels { - /* Override the --tabpanel-background-color. - * Also, make sure this remains transparent, otherwise it will overlap the - * parent's corner's border-radius due to it's "position: relative" rule. */ - /* TODO: FIX this for newtab pages. tor-browser#44085 */ - background: transparent; - } + /* Override the --tabpanel-background-color. */ + /* TODO: FIX this for newtab pages. tor-browser#44085 */ + --tabpanel-background-color: transparent; /* stylelint-disable-next-line media-query-no-invalid */ @media -moz-pref("sidebar.revamp") { View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/58b… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/58b… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-147.0a1-16.0-2] fixup! BB 32308: Use direct browser sizing for letterboxing.
by henry (@henry) 26 Jan '26

26 Jan '26
henry pushed to branch base-browser-147.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: 018d2bf1 by henry at 2026-01-26T09:33:20+00:00 fixup! BB 32308: Use direct browser sizing for letterboxing. TB 44535: Make --tabpanel-background-color transparent when letterboxing is enabled. (cherry picked from commit f2fc0bea56d10004f773e2d3c3efe46b8f77e72c) Co-authored-by: Henry Wilkes <henry(a)torproject.org> - - - - - 1 changed file: - toolkit/components/resistfingerprinting/content/letterboxing.css Changes: ===================================== toolkit/components/resistfingerprinting/content/letterboxing.css ===================================== @@ -80,13 +80,9 @@ outline-width: var(--letterboxing-outline-width); } - #tabbrowser-tabpanels { - /* Override the --tabpanel-background-color. - * Also, make sure this remains transparent, otherwise it will overlap the - * parent's corner's border-radius due to it's "position: relative" rule. */ - /* TODO: FIX this for newtab pages. tor-browser#44085 */ - background: transparent; - } + /* Override the --tabpanel-background-color. */ + /* TODO: FIX this for newtab pages. tor-browser#44085 */ + --tabpanel-background-color: transparent; /* stylelint-disable-next-line media-query-no-invalid */ @media -moz-pref("sidebar.revamp") { View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/018d2bf… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/018d2bf… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-147.0a1-16.0-2] fixup! BB 32308: Use direct browser sizing for letterboxing.
by henry (@henry) 26 Jan '26

26 Jan '26
henry pushed to branch tor-browser-147.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: f2fc0bea by Henry Wilkes at 2026-01-22T19:20:56+00:00 fixup! BB 32308: Use direct browser sizing for letterboxing. TB 44535: Make --tabpanel-background-color transparent when letterboxing is enabled. - - - - - 1 changed file: - toolkit/components/resistfingerprinting/content/letterboxing.css Changes: ===================================== toolkit/components/resistfingerprinting/content/letterboxing.css ===================================== @@ -80,13 +80,9 @@ outline-width: var(--letterboxing-outline-width); } - #tabbrowser-tabpanels { - /* Override the --tabpanel-background-color. - * Also, make sure this remains transparent, otherwise it will overlap the - * parent's corner's border-radius due to it's "position: relative" rule. */ - /* TODO: FIX this for newtab pages. tor-browser#44085 */ - background: transparent; - } + /* Override the --tabpanel-background-color. */ + /* TODO: FIX this for newtab pages. tor-browser#44085 */ + --tabpanel-background-color: transparent; /* stylelint-disable-next-line media-query-no-invalid */ @media -moz-pref("sidebar.revamp") { View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/f2fc0be… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/f2fc0be… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-147.0a1-16.0-2] fixup! BB 16285: Exclude ClearKey system for now
by Pier Angelo Vendrame (@pierov) 22 Jan '26

22 Jan '26
Pier Angelo Vendrame pushed to branch base-browser-147.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: 6fb0f0dc by Pier Angelo Vendrame at 2026-01-22T09:23:15+01:00 fixup! BB 16285: Exclude ClearKey system for now BB 44508: Drop clearkey also on Android. - - - - - 1 changed file: - mobile/android/installer/package-manifest.in Changes: ===================================== mobile/android/installer/package-manifest.in ===================================== @@ -88,7 +88,7 @@ #endif ; GMP clearkey plugin -@BINPATH@/@DLL_PREFIX@clearkey@DLL_SUFFIX@ +;@BINPATH@/@DLL_PREFIX@clearkey@DLL_SUFFIX@ [browser] ; [Base Browser Files] View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/6fb0f0d… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/6fb0f0d… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-147.0a1-16.0-2] fixup! BB 16285: Exclude ClearKey system for now
by Pier Angelo Vendrame (@pierov) 22 Jan '26

22 Jan '26
Pier Angelo Vendrame pushed to branch mullvad-browser-147.0a1-16.0-2 at The Tor Project / Applications / Mullvad Browser Commits: d658fd67 by Pier Angelo Vendrame at 2026-01-22T09:22:38+01:00 fixup! BB 16285: Exclude ClearKey system for now BB 44508: Drop clearkey also on Android. - - - - - 1 changed file: - mobile/android/installer/package-manifest.in Changes: ===================================== mobile/android/installer/package-manifest.in ===================================== @@ -88,7 +88,7 @@ #endif ; GMP clearkey plugin -@BINPATH@/@DLL_PREFIX@clearkey@DLL_SUFFIX@ +;@BINPATH@/@DLL_PREFIX@clearkey@DLL_SUFFIX@ [browser] ; [Base Browser Files] View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/d65… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/d65… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-147.0a1-16.0-2] fixup! BB 16285: Exclude ClearKey system for now
by Pier Angelo Vendrame (@pierov) 22 Jan '26

22 Jan '26
Pier Angelo Vendrame pushed to branch tor-browser-147.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: efc1fd64 by Pier Angelo Vendrame at 2026-01-22T09:06:05+01:00 fixup! BB 16285: Exclude ClearKey system for now BB 44508: Drop clearkey also on Android. - - - - - 1 changed file: - mobile/android/installer/package-manifest.in Changes: ===================================== mobile/android/installer/package-manifest.in ===================================== @@ -88,7 +88,7 @@ #endif ; GMP clearkey plugin -@BINPATH@/@DLL_PREFIX@clearkey@DLL_SUFFIX@ +;@BINPATH@/@DLL_PREFIX@clearkey@DLL_SUFFIX@ [browser] ; [Base Browser Files] View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/efc1fd6… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/efc1fd6… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-147.0a1-16.0-2] TB 44507: [android] Drop Sentry as a dependancy
by Pier Angelo Vendrame (@pierov) 22 Jan '26

22 Jan '26
Pier Angelo Vendrame pushed to branch tor-browser-147.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: c7449fd1 by Dan Ballard at 2026-01-21T12:23:14-08:00 TB 44507: [android] Drop Sentry as a dependancy - - - - - 4 changed files: - gradle/libs.versions.toml - mobile/android/android-components/.buildconfig.yml - mobile/android/fenix/app/build.gradle - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Analytics.kt Changes: ===================================== gradle/libs.versions.toml ===================================== @@ -101,7 +101,6 @@ disklrucache = "2.0.2" jna = "5.18.1" okhttp = "4.12.0" okio = "3.15.0" -sentry = "8.27.1" zxing = "3.5.4" [libraries] @@ -272,7 +271,6 @@ mockwebserver = { group = "com.squareup.okhttp3", name = "mockwebserver", versio okhttp = { group = "com.squareup.okhttp3", name = "okhttp", version.ref = "okhttp" } okhttp-urlconnection = { group = "com.squareup.okhttp3", name = "okhttp-urlconnection", version.ref = "okhttp" } okio = { group = "com.squareup.okio", name = "okio", version.ref = "okio" } -sentry = { group = "io.sentry", name = "sentry-android", version.ref = "sentry" } zxing = { group = "com.google.zxing", name = "core", version.ref = "zxing" } [plugins] ===================================== mobile/android/android-components/.buildconfig.yml ===================================== @@ -1645,20 +1645,6 @@ projects: - components:support-test - components:support-utils - components:tooling-lint - components:lib-crash-sentry: - description: A crash reporter for Sentry.io that that uses lib-crash. - path: components/lib/crash-sentry - publish: true - upstream_dependencies: - - components:concept-base - - components:concept-fetch - - components:lib-crash - - components:lib-publicsuffixlist - - components:support-base - - components:support-ktx - - components:support-test - - components:support-utils - - components:tooling-lint components:lib-dataprotect: description: A component using AndroidKeyStore to protect user data. path: components/lib/dataprotect ===================================== mobile/android/fenix/app/build.gradle ===================================== @@ -666,7 +666,6 @@ dependencies { implementation project(':components:ui-tabcounter') implementation project(':components:ui-widgets') implementation project(':components:lib-crash') - implementation project(':components:lib-crash-sentry') implementation project(':components:lib-dataprotect') implementation project(':components:lib-push-firebase') implementation project(':components:lib-state') @@ -727,7 +726,6 @@ dependencies { implementation libs.play.review implementation libs.play.review.ktx implementation libs.protobuf.javalite - implementation libs.sentry debugImplementation libs.androidx.compose.ui.tooling debugImplementation libs.leakcanary ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Analytics.kt ===================================== @@ -14,8 +14,6 @@ import mozilla.components.lib.crash.runtimetagproviders.BuildRuntimeTagProvider import mozilla.components.lib.crash.runtimetagproviders.EnvironmentRuntimeProvider import mozilla.components.lib.crash.runtimetagproviders.ExperimentDataRuntimeTagProvider import mozilla.components.lib.crash.runtimetagproviders.VersionInfoProvider -import mozilla.components.lib.crash.sentry.SentryService -import mozilla.components.lib.crash.sentry.eventprocessors.CrashMetadataEventProcessor import mozilla.components.lib.crash.service.CrashReporterService import mozilla.components.lib.crash.service.GleanCrashReporterService import mozilla.components.lib.crash.service.socorro.MozillaSocorroService @@ -60,37 +58,9 @@ class Analytics( val services = mutableListOf<CrashReporterService>() val distributionId = "Mozilla" - if (isSentryEnabled()) { - // We treat caught exceptions similar to debug logging. - // On the release channel volume of these is too high for our Sentry instances, and - // we get most value out of nightly/beta logging anyway. - val shouldSendCaughtExceptions = when (Config.channel) { - ReleaseChannel.Release -> false - else -> true - } - val sentryService = SentryService( - context, - BuildConfig.SENTRY_TOKEN, - tags = mapOf( - "geckoview" to "$MOZ_APP_VERSION-$MOZ_APP_BUILDID", - "fenix.git" to BuildConfig.VCS_HASH, - ), - environment = BuildConfig.BUILD_TYPE, - sendEventForNativeCrashes = false, // Do not send native crashes to Sentry - sendCaughtExceptions = shouldSendCaughtExceptions, - sentryProjectUrl = getSentryProjectUrl(), - crashMetadataEventProcessor = CrashMetadataEventProcessor(), - ) - - // We only want to initialize Sentry on startup on the main process. - if (context.isMainProcess()) { - runWhenReadyQueue.runIfReadyOrQueue { - sentryService.initIfNeeded() - } - } - - services.add(sentryService) - } + // Bug 44507: Drop Sentry as a dependency + // Since we've removed sentry and it's library (for defence in depth as well as spave saving) + // We can't keep any code that calls a now non existent library // The name "Fenix" here matches the product name on Socorro and is unrelated to the actual app name: // https://bugzilla.mozilla.org/show_bug.cgi?id=1523284 View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/c7449fd… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/c7449fd… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] Bump Firefox version to 147.0a1-2 for nightly builds
by Pier Angelo Vendrame (@pierov) 21 Jan '26

21 Jan '26
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: 6c6dbbb1 by Pier Angelo Vendrame at 2026-01-21T17:53:23+01:00 Bump Firefox version to 147.0a1-2 for nightly builds - - - - - 2 changed files: - projects/firefox/config - projects/geckoview/config Changes: ===================================== projects/firefox/config ===================================== @@ -20,9 +20,9 @@ var: firefox_platform_version: '147.0a1' firefox_version: '[% c("var/firefox_platform_version") %]' browser_series: '16.0' - browser_rebase: 1 + browser_rebase: 2 browser_branch: '[% c("var/browser_series") %]-[% c("var/browser_rebase") %]' - browser_build: 2 + browser_build: 1 copyright_year: '[% exec("git show -s --format=%ci " _ c("git_hash") _ "^{commit}", { exec_noco => 1 }).remove("-.*") %]' nightly_updates_publish_dir: '[% c("var/nightly_updates_publish_dir_prefix") %]nightly-[% c("var/osname") %]' gitlab_project: https://gitlab.torproject.org/tpo/applications/tor-browser ===================================== projects/geckoview/config ===================================== @@ -22,9 +22,9 @@ var: firefox_platform_version: '147.0a1' geckoview_version: '[% c("var/firefox_platform_version") %]' browser_series: '16.0' - browser_rebase: 1 + browser_rebase: 2 browser_branch: '[% c("var/browser_series") %]-[% c("var/browser_rebase") %]' - browser_build: 2 + browser_build: 1 gitlab_project: https://gitlab.torproject.org/tpo/applications/tor-browser git_commit: '[% exec("git rev-parse " _ c("git_hash") _ "^{commit}", { exec_noco => 1 }) %]' deps: View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/6… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/6… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-bundle-testsuite][main] Bug 40096: Disable fetch in rbm-config/tb-build-06.torproject.org.rbm.local.conf
by boklm (@boklm) 21 Jan '26

21 Jan '26
boklm pushed to branch main at The Tor Project / Applications / tor-browser-bundle-testsuite Commits: 247eb051 by Nicolas Vigier at 2026-01-20T11:44:07+01:00 Bug 40096: Disable fetch in rbm-config/tb-build-06.torproject.org.rbm.local.conf - - - - - 1 changed file: - rbm-config/tb-build-06.torproject.org.rbm.local.conf Changes: ===================================== rbm-config/tb-build-06.torproject.org.rbm.local.conf ===================================== @@ -113,15 +113,14 @@ targets: nightly: - ### By default 'fetch' is set to 1 for nightly builds, meaning that new - ### commits will be fetched automatically during each build. You can - ### disable this during development if you want to do rebuilds to test - ### a specific change, but don't want rebuilds caused by unrelated - ### changes, or if you want to decide at which point new commits are - ### fetched. When 'fetch' is set to 'if_needed', new commits will only - ### be fetched if the selected commit (or branch, or tag) is not present, - ### which means that existing branches won't be updated. In that case - ### you can fetch new commits by running 'make fetch'. - fetch: 'if_needed' + ### By default 'fetch' is set to 'if_needed', meaning that new + ### commits will be fetched automatically during each build, if + ### the selected commit (or branch, or tag) is not present, or if + ### it is pointing to a branch. With the nightly target, some projects + ### are pointing to a branch, meaning they will be fetched for each + ### build. If you want to disable automatic fetchs and decide at + ### which point new commits are fetched, you can set 'fetch' to '0' + ### and run `make fetch` when you want to fetch new commits. + fetch: 0 # vim: filetype=yaml sw=2 View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-bundle-testsuite… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-bundle-testsuite… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] Bug 32200: Reduce the size of our OpenSSL build on Android.
by Pier Angelo Vendrame (@pierov) 20 Jan '26

20 Jan '26
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: 2d6d284d by Pier Angelo Vendrame at 2026-01-20T18:34:22+01:00 Bug 32200: Reduce the size of our OpenSSL build on Android. Remove various features we do not use to reduce the size of our Android builds. - - - - - 1 changed file: - projects/openssl/config Changes: ===================================== projects/openssl/config ===================================== @@ -20,7 +20,21 @@ targets: configure_opts: '--cross-compile-prefix=[% c("var/build_target") %]- darwin64-[% c("var/macos_arch") %]-cc enable-ec_nistp_64_gcc_128' android: var: - configure_opts: 'CC=[% c("var/CC") %] android-[% c("var/toolchain_arch") %] -no-shared -D__ANDROID_API__=[% c("var/android_min_api") %] [% c("var/CFLAGS") %]' + configure_opts: | + CC=[% c("var/CC") %] android-[% c("var/toolchain_arch") %] \ + -no-shared -D__ANDROID_API__=[% c("var/android_min_api") %] \ + [% c("var/CFLAGS") %] \ + no-ssl2 no-ssl3 no-tls1 no-tls1_1 \ + no-ocsp no-nextprotoneg no-psk no-srp no-ts \ + no-cmp no-cms no-ct \ + no-dgram no-dtls no-http no-quic no-srtp \ + no-argon2 no-aria no-bf no-blake2 no-camellia no-cast no-des no-dsa \ + no-gost no-idea no-integrity-only-ciphers no-md2 no-md4 no-mdc2 \ + no-ml-dsa no-ocb no-rc2 no-rc4 no-rc5 no-rmd160 no-scrypt no-seed \ + no-siphash no-slh-dsa no-sm2 no-sm3 no-sm4 no-whirlpool \ + no-ec2m no-ssl-trace no-tls-deprecated-ec \ + no-siv \ + no-apps no-async no-comp no-ktls no-legacy no-ui-console no-zlib input_files: - project: container-image View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/2… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/2… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • ...
  • 802
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.