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
  • ----- 2025 -----
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2018 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2017 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2016 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2015 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2014 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
tbb-commits@lists.torproject.org

September 2025

  • 1 participants
  • 213 discussions
[Git][tpo/applications/tor-browser][tor-browser-140.2.0esr-15.0-1] 3 commits: fixup! BB 43564: Modify ./mach bootstrap for Base Browser
by brizental (@brizental) 04 Sep '25

04 Sep '25
brizental pushed to branch tor-browser-140.2.0esr-15.0-1 at The Tor Project / Applications / Tor Browser Commits: 35347c26 by Beatriz Rizental at 2025-09-04T14:28:01+02:00 fixup! BB 43564: Modify ./mach bootstrap for Base Browser - - - - - f17c4e08 by Beatriz Rizental at 2025-09-04T14:28:30+02:00 fixup! BB 43564: Modify ./mach bootstrap for Tor Browser - - - - - c8b4882e by Beatriz Rizental at 2025-09-04T14:51:58+02:00 fixup! Add CI for Base Browser Run all of our python tests everytime. This is a quick workaround for tests to pass, before I address it properly in tor-browser#44149 - - - - - 5 changed files: - .gitlab/ci/jobs/test/python-test.yml - build/moz.configure/bootstrap.configure - python/mozbuild/mozbuild/tbbutils.py - python/mozbuild/mozbuild/test/python.toml - + python/mozbuild/mozbuild/test/test_tbbutils.py Changes: ===================================== .gitlab/ci/jobs/test/python-test.yml ===================================== @@ -17,7 +17,7 @@ python-test: - firefox script: - ./mach configure --with-base-browser-version=0.0.0 - - .gitlab/ci/jobs/helpers.py --get-changed-files | xargs -0 --no-run-if-empty ./mach python-test -v + - ./mach python-test --subsuite base-browser rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' || ($CI_COMMIT_BRANCH && $CI_COMMIT_REF_PROTECTED == 'true' && $CI_PIPELINE_SOURCE == 'push') changes: ===================================== build/moz.configure/bootstrap.configure ===================================== @@ -205,9 +205,7 @@ def bootstrap_path(path, **kwargs): if not target.tor_browser_build_alias: return False - artifact = mozbuild.tbbutils.get_artifact_name( - path_parts[0], target, tasks.prefix - ) + artifact = mozbuild.tbbutils.get_artifact_name(path_parts[0], tasks.prefix) if not artifact: log.info("%s is not mapped to a tbb artifact", path_parts[0]) return False ===================================== python/mozbuild/mozbuild/tbbutils.py ===================================== @@ -45,7 +45,7 @@ ARTIFACT_NAME_MAP = { } -def get_artifact_name(original_artifact_name, target, host): +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: @@ -76,7 +76,7 @@ def get_artifact_path(url, artifact, target, prefix=""): def filter_files(files, keyword): return [file for file in files if keyword in file] - artifact_files = filter_files(files, artifact) + artifact_files = [file for file in files if file.startswith(artifact)] if len(artifact_files) == 1: return f"{url}/{path}/{artifact_files[0]}" @@ -84,8 +84,13 @@ def get_artifact_path(url, artifact, target, prefix=""): files_per_os = filter_files(artifact_files, target.tor_browser_build_alias) # If there are files in the folder, but they don't have the OS in the name - # it means we can get any of them because they can be used to build for any OS. - # So let's just get the first one. + # it probably means we can get any of them because they can be used to build + # for any OS. So let's just get the first one. + # + # Note: It could be the case that the artifact _is_ OS dependant, but there + # just are no files for the OS we are looking for. In that case, this will + # return an incorrect artifact. This should not happen often though and is + # something we cannot address until artifact names are standardized on tbb. if len(files_per_os) == 0: return f"{url}/{artifact}/{artifact_files[0]}" ===================================== python/mozbuild/mozbuild/test/python.toml ===================================== @@ -111,6 +111,9 @@ subsuite = "mozbuild" ["test_rewrite_mozbuild.py"] +["test_tbbutils.py"] +subsuite = "base-browser" + ["test_telemetry.py"] ["test_telemetry_settings.py"] ===================================== python/mozbuild/mozbuild/test/test_tbbutils.py ===================================== @@ -0,0 +1,151 @@ +import unittest +from types import SimpleNamespace +from unittest.mock import MagicMock, patch + +import mozunit + +from mozbuild.tbbutils import get_artifact_path, list_files_http + + +class TestGetArtifactName(unittest.TestCase): + def setUp(self): + self.artifact = "artifact" + self.host = "linux64" + + @patch("mozbuild.tbbutils.TOR_BROWSER_BUILD_ARTIFACTS", new=["artifact"]) + def test_artifact_in_tbb_artifacts(self): + from mozbuild.tbbutils import get_artifact_name + + result = get_artifact_name(self.artifact, self.host) + self.assertEqual(result, self.artifact) + + @patch("mozbuild.tbbutils.ARTIFACT_NAME_MAP", new={"artifact": "tcafitra"}) + def test_host_is_not_linux64(self): + from mozbuild.tbbutils import get_artifact_name + + result = get_artifact_name(self.artifact, "linux64-aarch64") + self.assertIsNone(result) + + @patch("mozbuild.tbbutils.ARTIFACT_NAME_MAP", new={"artifact": "tcafitra"}) + def test_mapped_artifact(self): + from mozbuild.tbbutils import get_artifact_name + + result = get_artifact_name(self.artifact, self.host) + self.assertEqual(result, self.artifact[::-1]) + + +class TestGetArtifactPath(unittest.TestCase): + def setUp(self): + self.url = "http://example.com" + self.artifact = "artifact" + # This is just an example target which is valid. But it doesn't make + # any difference and could be anything for these tests. + self.target = SimpleNamespace(tor_browser_build_alias="linux", cpu="x86_64") + + @patch("mozbuild.tbbutils.list_files_http") + def test_no_files_returns_none(self, mock_list_files): + mock_list_files.return_value = [] + result = get_artifact_path(self.url, self.artifact, self.target) + self.assertIsNone(result) + + @patch("mozbuild.tbbutils.list_files_http") + def test_single_artifact_match(self, mock_list_files): + mock_list_files.return_value = ["artifact-1.zip"] + result = get_artifact_path(self.url, self.artifact, self.target) + self.assertEqual(result, f"{self.url}/{self.artifact}/artifact-1.zip") + + @patch("mozbuild.tbbutils.list_files_http") + def test_artifact_without_os_returns_first(self, mock_list_files): + mock_list_files.return_value = ["artifact-1.zip", "artifact-2.zip"] + result = get_artifact_path(self.url, self.artifact, self.target) + self.assertTrue(result.startswith(f"{self.url}/{self.artifact}/")) + self.assertIn("artifact-", result) + + @patch("mozbuild.tbbutils.list_files_http") + def test_artifact_with_os_match(self, mock_list_files): + mock_list_files.return_value = [ + "artifact-windows.zip", + "artifact-linux.zip", + ] + result = get_artifact_path(self.url, self.artifact, self.target) + self.assertEqual(result, f"{self.url}/{self.artifact}/artifact-linux.zip") + + @patch("mozbuild.tbbutils.list_files_http") + def test_artifact_with_cpu_match(self, mock_list_files): + mock_list_files.return_value = [ + "artifact-linux-arm.zip", + "artifact-linux-x86_64.zip", + ] + result = get_artifact_path(self.url, self.artifact, self.target) + self.assertEqual( + result, f"{self.url}/{self.artifact}/artifact-linux-x86_64.zip" + ) + + @patch("mozbuild.tbbutils.list_files_http") + def test_artifact_with_prefix(self, mock_list_files): + mock_list_files.return_value = ["artifact-1.zip"] + + prefix = "prefix" + result = get_artifact_path(self.url, self.artifact, self.target, prefix=prefix) + self.assertEqual(result, f"{self.url}/{prefix}/artifact-1.zip") + mock_list_files.assert_called_with(f"{self.url}/{prefix}?C=M;O=D") + + +class TestListFilesHttp(unittest.TestCase): + def setUp(self): + self.url = "http://example.com" + + @patch("mozbuild.tbbutils.urlopen") + def test_non_200_status_returns_empty(self, mock_urlopen): + mock_resp = MagicMock() + mock_resp.status = 404 + mock_resp.read.return_value = b"" + mock_urlopen.return_value.__enter__.return_value = mock_resp + + result = list_files_http(self.url) + self.assertEqual(result, []) + + @patch("mozbuild.tbbutils.urlopen") + def test_exception_returns_empty(self, mock_urlopen): + mock_urlopen.side_effect = Exception("network error") + result = list_files_http(self.url) + self.assertEqual(result, []) + + @patch("mozbuild.tbbutils.urlopen") + def test_regular_links(self, mock_urlopen): + html = b""" + <html><body> + <a href="../">Parent</a> + <a href="file1.zip">file1</a> + <a href="file2.zip">file2</a> + </body></html> + """ + mock_resp = MagicMock() + mock_resp.status = 200 + mock_resp.read.return_value = html + mock_urlopen.return_value.__enter__.return_value = mock_resp + + result = list_files_http(self.url) + self.assertEqual(result, ["file1.zip", "file2.zip"]) + + @patch("mozbuild.tbbutils.urlopen") + def test_tor_expert_bundle_rewrites(self, mock_urlopen): + html = """ + <a href="tor-expert-bundle">bundle</a> + """ + mock_resp = MagicMock() + mock_resp.status = 200 + mock_resp.read.return_value = html.encode() + mock_urlopen.return_value.__enter__.return_value = mock_resp + + result = list_files_http(self.url) + self.assertEqual( + result, + [ + "tor-expert-bundle/tor-expert-bundle.tar.gz", + ], + ) + + +if __name__ == "__main__": + mozunit.main() View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/8a7c97… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/8a7c97… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/torbrowser-launcher][main] 2 commits: Add Arabic language .desktop
by asciiwolf (@asciiwolf) 04 Sep '25

04 Sep '25
asciiwolf pushed to branch main at The Tor Project / Applications / torbrowser-launcher Commits: 56a8ede5 by torran at 2025-09-04T12:34:48+00:00 Add Arabic language .desktop - - - - - c2cd70b5 by asciiwolf at 2025-09-04T12:34:49+00:00 Merge branch 'arabic' into 'main' Add Arabic language .desktop See merge request tpo/applications/torbrowser-launcher!29 - - - - - 2 changed files: - share/applications/org.torproject.torbrowser-launcher.desktop - share/applications/org.torproject.torbrowser-launcher.settings.desktop Changes: ===================================== share/applications/org.torproject.torbrowser-launcher.desktop ===================================== @@ -1,5 +1,6 @@ [Desktop Entry] Name=Tor Browser +Name[ar]=متصفح تور Name[be]=Tor Browser Name[cs]=Tor Browser Name[da]=Tor Browser @@ -10,6 +11,7 @@ Name[pt_BR]=Navegador Tor Name[sv]=Tor Browser Name[tr]=Tor Browser GenericName=Tor Browser +GenericName[ar]=متصفح تور GenericName[be]=Tor Browser GenericName[da]=Tor Browser GenericName[es]=Navegador Tor @@ -17,6 +19,7 @@ GenericName[hr]=Tor preglednik GenericName[hu]=Tor böngésző indító GenericName[tr]=Tor Browser Comment=Launch Tor Browser +Comment[ar]=شغّل متصفح تور Comment[be]=Запуск Tor Browser Comment[cs]=Spustit Tor Browser Comment[da]=Start Tor Browser ===================================== share/applications/org.torproject.torbrowser-launcher.settings.desktop ===================================== @@ -1,5 +1,6 @@ [Desktop Entry] Name=Tor Browser Launcher Settings +Name[ar]=إعدادات مشغّل متصفح تور Name[be]=Налады запускальніка Tor Browser Name[cs]=Tor Browser Launcher nastavení Name[da]=Indstillinger for Tor Browser-opstarter @@ -12,12 +13,14 @@ Name[ru]=Tor Browser (настройки запуска) Name[sv]=Inställningar för Tor Browser Launcher Name[tr]=Tor Browser Başlatıcı Ayarları GenericName=Tor Browser Launcher Settings +GenericName[ar]=إعدادات مشغّل متصفح تور GenericName[be]=Налады запускальніка Tor Browser GenericName[da]=Indstillinger for Tor Browser-opstarter GenericName[hr]=Tor preglednik – postavke pokretanja GenericName[hu]=Tor-böngésző indító beállításai GenericName[tr]=Tor Browser Başlatıcı Ayarları Comment=Tor Browser Launcher Settings +Comment[ar]=إعدادات مشغّل متصفح تور Comment[be]=Налады запускальніка Tor Browser Comment[cs]=Tor Browser Launcher nastavení Comment[da]=Indstillinger for Tor Browser-opstarter View it on GitLab: https://gitlab.torproject.org/tpo/applications/torbrowser-launcher/-/compar… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/torbrowser-launcher/-/compar… 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.2.0esr-15.0-1] fixup! TB 2176: Rebrand Firefox to TorBrowser
by morgan (@morgan) 03 Sep '25

03 Sep '25
morgan pushed to branch tor-browser-140.2.0esr-15.0-1 at The Tor Project / Applications / Tor Browser Commits: 8a7c971f by Henry Wilkes at 2025-09-03T15:39:26+01:00 fixup! TB 2176: Rebrand Firefox to TorBrowser TB 44142: Add missing document_pdf.svg file. - - - - - 6 changed files: - + browser/branding/tb-alpha/content/document_pdf.svg - browser/branding/tb-alpha/content/jar.mn - + browser/branding/tb-nightly/content/document_pdf.svg - browser/branding/tb-nightly/content/jar.mn - + browser/branding/tb-release/content/document_pdf.svg - browser/branding/tb-release/content/jar.mn Changes: ===================================== browser/branding/tb-alpha/content/document_pdf.svg ===================================== @@ -0,0 +1,12 @@ +<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path d="M37.5 9.53728C37.5 9.26197 37.7226 9.03846 37.9979 9.03729L163.745 8.50263L218.5 62.7471V247.317C218.5 247.593 218.276 247.817 218 247.817H38C37.7239 247.817 37.5 247.593 37.5 247.317V9.53728Z" fill="#FAFAFA" stroke="#80808E" stroke-width="3"/> + <path fill-rule="evenodd" clip-rule="evenodd" d="M152 127C152 140.255 141.255 151 128 151C114.745 151 104 140.255 104 127C104 113.745 114.745 103 128 103C141.255 103 152 113.745 152 127ZM142.625 127C142.625 135.077 136.077 141.625 128 141.625C119.923 141.625 113.375 135.077 113.375 127C113.375 118.923 119.923 112.375 128 112.375C136.077 112.375 142.625 118.923 142.625 127Z" fill="#CFCFD8"/> + <path fill-rule="evenodd" clip-rule="evenodd" d="M128 169C151.196 169 170 150.196 170 127C170 103.804 151.196 85 128 85C104.804 85 86 103.804 86 127C86 150.196 104.804 169 128 169ZM128 159.625C146.018 159.625 160.625 145.018 160.625 127C160.625 108.982 146.018 94.375 128 94.375C109.982 94.375 95.375 108.982 95.375 127C95.375 145.018 109.982 159.625 128 159.625Z" fill="#CFCFD8"/> + <path fill-rule="evenodd" clip-rule="evenodd" d="M128 187C161.137 187 188 160.137 188 127C188 93.8629 161.137 67 128 67C94.8629 67 68 93.8629 68 127C68 160.137 94.8629 187 128 187ZM128 177.625C155.959 177.625 178.625 154.959 178.625 127C178.625 99.0406 155.959 76.375 128 76.375C100.041 76.375 77.375 99.0406 77.375 127C77.375 154.959 100.041 177.625 128 177.625Z" fill="#CFCFD8"/> + <path d="M68 127C68 160.137 94.8629 187 128 187V67C94.8629 67 68 93.8629 68 127Z" fill="#CFCFD8"/> + <rect x="28" y="136" width="200" height="100" fill="#FF0000"/> + <rect x="29.5" y="137.5" width="197" height="97" stroke="black" stroke-opacity="0.25" stroke-width="3"/> + <path d="M65.4878 194.342V213.441H53V158H72.5629C86.5327 158 93.5176 163.889 93.5176 175.668C93.5176 181.236 91.5072 185.746 87.4864 189.2C83.4913 192.628 78.1431 194.342 71.4417 194.342H65.4878ZM65.4878 167.588V184.87H70.3978C77.0477 184.87 80.3726 181.957 80.3726 176.132C80.3726 170.436 77.0477 167.588 70.3978 167.588H65.4878Z" fill="white"/> + <path d="M107.767 213.441V158H127.407C147.099 158 156.945 167.008 156.945 185.025C156.945 193.659 154.251 200.554 148.864 205.709C143.503 210.864 136.351 213.441 127.407 213.441H107.767ZM120.255 168.168V203.312H126.441C131.853 203.312 136.093 201.688 139.16 198.44C142.253 195.193 143.8 190.772 143.8 185.179C143.8 179.896 142.266 175.746 139.199 172.73C136.158 169.689 131.879 168.168 126.363 168.168H120.255Z" fill="white"/> + <path d="M203.051 168.624H183.488V182.233H201.466V192.362H183.488V213.897H171V158.456H203.051V168.624Z" fill="white"/> +</svg> ===================================== browser/branding/tb-alpha/content/jar.mn ===================================== @@ -9,6 +9,8 @@ browser.jar: content/branding/about-logo.svg content/branding/about-logo(a)2x.png content/branding/about-wordmark.svg + content/branding/document.ico (../document.ico) + content/branding/document_pdf.svg content/branding/firefox-wordmark.svg content/branding/icon16.png (../default16.png) content/branding/icon32.png (../default32.png) ===================================== browser/branding/tb-nightly/content/document_pdf.svg ===================================== @@ -0,0 +1,12 @@ +<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path d="M37.5 9.53728C37.5 9.26197 37.7226 9.03846 37.9979 9.03729L163.745 8.50263L218.5 62.7471V247.317C218.5 247.593 218.276 247.817 218 247.817H38C37.7239 247.817 37.5 247.593 37.5 247.317V9.53728Z" fill="#FAFAFA" stroke="#80808E" stroke-width="3"/> + <path fill-rule="evenodd" clip-rule="evenodd" d="M152 127C152 140.255 141.255 151 128 151C114.745 151 104 140.255 104 127C104 113.745 114.745 103 128 103C141.255 103 152 113.745 152 127ZM142.625 127C142.625 135.077 136.077 141.625 128 141.625C119.923 141.625 113.375 135.077 113.375 127C113.375 118.923 119.923 112.375 128 112.375C136.077 112.375 142.625 118.923 142.625 127Z" fill="#CFCFD8"/> + <path fill-rule="evenodd" clip-rule="evenodd" d="M128 169C151.196 169 170 150.196 170 127C170 103.804 151.196 85 128 85C104.804 85 86 103.804 86 127C86 150.196 104.804 169 128 169ZM128 159.625C146.018 159.625 160.625 145.018 160.625 127C160.625 108.982 146.018 94.375 128 94.375C109.982 94.375 95.375 108.982 95.375 127C95.375 145.018 109.982 159.625 128 159.625Z" fill="#CFCFD8"/> + <path fill-rule="evenodd" clip-rule="evenodd" d="M128 187C161.137 187 188 160.137 188 127C188 93.8629 161.137 67 128 67C94.8629 67 68 93.8629 68 127C68 160.137 94.8629 187 128 187ZM128 177.625C155.959 177.625 178.625 154.959 178.625 127C178.625 99.0406 155.959 76.375 128 76.375C100.041 76.375 77.375 99.0406 77.375 127C77.375 154.959 100.041 177.625 128 177.625Z" fill="#CFCFD8"/> + <path d="M68 127C68 160.137 94.8629 187 128 187V67C94.8629 67 68 93.8629 68 127Z" fill="#CFCFD8"/> + <rect x="28" y="136" width="200" height="100" fill="#FF0000"/> + <rect x="29.5" y="137.5" width="197" height="97" stroke="black" stroke-opacity="0.25" stroke-width="3"/> + <path d="M65.4878 194.342V213.441H53V158H72.5629C86.5327 158 93.5176 163.889 93.5176 175.668C93.5176 181.236 91.5072 185.746 87.4864 189.2C83.4913 192.628 78.1431 194.342 71.4417 194.342H65.4878ZM65.4878 167.588V184.87H70.3978C77.0477 184.87 80.3726 181.957 80.3726 176.132C80.3726 170.436 77.0477 167.588 70.3978 167.588H65.4878Z" fill="white"/> + <path d="M107.767 213.441V158H127.407C147.099 158 156.945 167.008 156.945 185.025C156.945 193.659 154.251 200.554 148.864 205.709C143.503 210.864 136.351 213.441 127.407 213.441H107.767ZM120.255 168.168V203.312H126.441C131.853 203.312 136.093 201.688 139.16 198.44C142.253 195.193 143.8 190.772 143.8 185.179C143.8 179.896 142.266 175.746 139.199 172.73C136.158 169.689 131.879 168.168 126.363 168.168H120.255Z" fill="white"/> + <path d="M203.051 168.624H183.488V182.233H201.466V192.362H183.488V213.897H171V158.456H203.051V168.624Z" fill="white"/> +</svg> ===================================== browser/branding/tb-nightly/content/jar.mn ===================================== @@ -9,6 +9,8 @@ browser.jar: content/branding/about-logo.svg content/branding/about-logo(a)2x.png content/branding/about-wordmark.svg + content/branding/document.ico (../document.ico) + content/branding/document_pdf.svg content/branding/firefox-wordmark.svg content/branding/icon16.png (../default16.png) content/branding/icon32.png (../default32.png) ===================================== browser/branding/tb-release/content/document_pdf.svg ===================================== @@ -0,0 +1,12 @@ +<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path d="M37.5 9.53728C37.5 9.26197 37.7226 9.03846 37.9979 9.03729L163.745 8.50263L218.5 62.7471V247.317C218.5 247.593 218.276 247.817 218 247.817H38C37.7239 247.817 37.5 247.593 37.5 247.317V9.53728Z" fill="#FAFAFA" stroke="#80808E" stroke-width="3"/> + <path fill-rule="evenodd" clip-rule="evenodd" d="M152 127C152 140.255 141.255 151 128 151C114.745 151 104 140.255 104 127C104 113.745 114.745 103 128 103C141.255 103 152 113.745 152 127ZM142.625 127C142.625 135.077 136.077 141.625 128 141.625C119.923 141.625 113.375 135.077 113.375 127C113.375 118.923 119.923 112.375 128 112.375C136.077 112.375 142.625 118.923 142.625 127Z" fill="#CFCFD8"/> + <path fill-rule="evenodd" clip-rule="evenodd" d="M128 169C151.196 169 170 150.196 170 127C170 103.804 151.196 85 128 85C104.804 85 86 103.804 86 127C86 150.196 104.804 169 128 169ZM128 159.625C146.018 159.625 160.625 145.018 160.625 127C160.625 108.982 146.018 94.375 128 94.375C109.982 94.375 95.375 108.982 95.375 127C95.375 145.018 109.982 159.625 128 159.625Z" fill="#CFCFD8"/> + <path fill-rule="evenodd" clip-rule="evenodd" d="M128 187C161.137 187 188 160.137 188 127C188 93.8629 161.137 67 128 67C94.8629 67 68 93.8629 68 127C68 160.137 94.8629 187 128 187ZM128 177.625C155.959 177.625 178.625 154.959 178.625 127C178.625 99.0406 155.959 76.375 128 76.375C100.041 76.375 77.375 99.0406 77.375 127C77.375 154.959 100.041 177.625 128 177.625Z" fill="#CFCFD8"/> + <path d="M68 127C68 160.137 94.8629 187 128 187V67C94.8629 67 68 93.8629 68 127Z" fill="#CFCFD8"/> + <rect x="28" y="136" width="200" height="100" fill="#FF0000"/> + <rect x="29.5" y="137.5" width="197" height="97" stroke="black" stroke-opacity="0.25" stroke-width="3"/> + <path d="M65.4878 194.342V213.441H53V158H72.5629C86.5327 158 93.5176 163.889 93.5176 175.668C93.5176 181.236 91.5072 185.746 87.4864 189.2C83.4913 192.628 78.1431 194.342 71.4417 194.342H65.4878ZM65.4878 167.588V184.87H70.3978C77.0477 184.87 80.3726 181.957 80.3726 176.132C80.3726 170.436 77.0477 167.588 70.3978 167.588H65.4878Z" fill="white"/> + <path d="M107.767 213.441V158H127.407C147.099 158 156.945 167.008 156.945 185.025C156.945 193.659 154.251 200.554 148.864 205.709C143.503 210.864 136.351 213.441 127.407 213.441H107.767ZM120.255 168.168V203.312H126.441C131.853 203.312 136.093 201.688 139.16 198.44C142.253 195.193 143.8 190.772 143.8 185.179C143.8 179.896 142.266 175.746 139.199 172.73C136.158 169.689 131.879 168.168 126.363 168.168H120.255Z" fill="white"/> + <path d="M203.051 168.624H183.488V182.233H201.466V192.362H183.488V213.897H171V158.456H203.051V168.624Z" fill="white"/> +</svg> ===================================== browser/branding/tb-release/content/jar.mn ===================================== @@ -9,6 +9,8 @@ browser.jar: content/branding/about-logo.svg content/branding/about-logo(a)2x.png content/branding/about-wordmark.svg + content/branding/document.ico (../document.ico) + content/branding/document_pdf.svg content/branding/firefox-wordmark.svg content/branding/icon16.png (../default16.png) content/branding/icon32.png (../default32.png) View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/8a7c971… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/8a7c971… 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 41429: Add a note about user safety to Tor Browser Alpha blog posts
by morgan (@morgan) 03 Sep '25

03 Sep '25
morgan pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: 184032e2 by Morgan at 2025-09-02T18:40:18+00:00 Bug 41429: Add a note about user safety to Tor Browser Alpha blog posts - - - - - 1 changed file: - tools/signing/create-blog-post Changes: ===================================== tools/signing/create-blog-post ===================================== @@ -15,11 +15,13 @@ 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='' 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/)." fi blog_dir="$content_dir/$blog_dir_base-"$(echo $tbb_version | sed 's/\.//g') @@ -55,6 +57,8 @@ This version includes important [security updates](https://www.mozilla.org/en-US 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/1… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/1… 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.2.0esr-15.0-1] fixup! TB 41089: Add tor-browser build scripts + Makefile to tor-browser
by brizental (@brizental) 02 Sep '25

02 Sep '25
brizental pushed to branch tor-browser-140.2.0esr-15.0-1 at The Tor Project / Applications / Tor Browser Commits: 1a52ef09 by Beatriz Rizental at 2025-09-02T10:17:09+02:00 fixup! TB 41089: Add tor-browser build scripts + Makefile to tor-browser - - - - - 1 changed file: - tools/torbrowser/fetch.sh Changes: ===================================== tools/torbrowser/fetch.sh ===================================== @@ -6,7 +6,7 @@ BINARIES_DIR="$1" # download the current downloads.json wget https://aus1.torproject.org/torbrowser/update_3/alpha/downloads.json # get url for latest alpha linux package -TOR_BROWSER_VERSION=$(grep -Eo "\"version\":\"[0-9.a]+\"" downloads.json | grep -Eo "[0-9.a]+") +TOR_BROWSER_VERSION=$(grep -Eo "\"version\"\s*:\s*\"[0-9.a]+\"" downloads.json | grep -Eo "[0-9.a]+") if [ "$(uname)" = "Darwin" ]; then TOR_BROWSER_PACKAGE="tor-browser-macos-${TOR_BROWSER_VERSION}.dmg" else View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/1a52ef0… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/1a52ef0… 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 41522: Fix issue in tools/signing/do-all-signing
by boklm (@boklm) 01 Sep '25

01 Sep '25
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: f444b714 by Nicolas Vigier at 2025-09-01T17:58:11+02:00 Bug 41522: Fix issue in tools/signing/do-all-signing Fix issue introduced in 821c192ed9def86b92a20bc8878a7c519230996f. - - - - - 1 changed file: - tools/signing/do-all-signing Changes: ===================================== tools/signing/do-all-signing ===================================== @@ -285,6 +285,6 @@ do_step download-unsigned-sha256sums-gpg-signatures-from-people-tpo do_step sync-local-to-staticiforme do_step sync-scripts-to-staticiforme do_step staticiforme-prepare-cdn-dist-upload -[ "$SIGNING_PROJECTNAME" != 'torvpn' ] && ! is_legacy \ +[ "$SIGNING_PROJECTNAME" != 'torvpn' ] && ! is_legacy && \ do_step upload-update_responses-to-staticiforme do_step finished-signing-clean-linux-signer View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/f… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/f… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser-update-responses][main] 4 commits: alpha: new version, 15.0a2 (linux-x86_64)
by ma1 (@ma1) 01 Sep '25

01 Sep '25
ma1 pushed to branch main at The Tor Project / Applications / mullvad-browser-update-responses Commits: 5f7d18b5 by hackademix at 2025-09-01T17:57:52+02:00 alpha: new version, 15.0a2 (linux-x86_64) - - - - - a6cd7410 by hackademix at 2025-09-01T17:57:52+02:00 alpha: new version, 15.0a2 (macos) - - - - - 15bad32d by hackademix at 2025-09-01T17:57:53+02:00 alpha: new version, 15.0a2 (windows-x86_64) - - - - - 3b5a988b by hackademix at 2025-09-01T17:57:53+02:00 alpha: new version, 15.0a2 - - - - - 31 changed files: - update_1/alpha/download-linux-x86_64.json - update_1/alpha/download-macos.json - update_1/alpha/download-windows-x86_64.json - update_1/alpha/downloads.json - update_1/alpha/linux-x86_64/.htaccess - − update_1/alpha/linux-x86_64/update-14.5a4-15.0a1-linux-x86_64.xml - − update_1/alpha/linux-x86_64/update-14.5a5-15.0a1-linux-x86_64.xml - + update_1/alpha/linux-x86_64/update-14.5a5-15.0a2-linux-x86_64.xml - − update_1/alpha/linux-x86_64/update-14.5a6-15.0a1-linux-x86_64.xml - + update_1/alpha/linux-x86_64/update-14.5a6-15.0a2-linux-x86_64.xml - + update_1/alpha/linux-x86_64/update-15.0a1-15.0a2-linux-x86_64.xml - − update_1/alpha/linux-x86_64/update-15.0a1-linux-x86_64.xml - + update_1/alpha/linux-x86_64/update-15.0a2-linux-x86_64.xml - update_1/alpha/macos/.htaccess - − update_1/alpha/macos/update-14.5a4-15.0a1-macos.xml - − update_1/alpha/macos/update-14.5a5-15.0a1-macos.xml - + update_1/alpha/macos/update-14.5a5-15.0a2-macos.xml - − update_1/alpha/macos/update-14.5a6-15.0a1-macos.xml - + update_1/alpha/macos/update-14.5a6-15.0a2-macos.xml - + update_1/alpha/macos/update-15.0a1-15.0a2-macos.xml - − update_1/alpha/macos/update-15.0a1-macos.xml - + update_1/alpha/macos/update-15.0a2-macos.xml - update_1/alpha/windows-x86_64/.htaccess - − update_1/alpha/windows-x86_64/update-14.5a4-15.0a1-windows-x86_64.xml - − update_1/alpha/windows-x86_64/update-14.5a5-15.0a1-windows-x86_64.xml - + update_1/alpha/windows-x86_64/update-14.5a5-15.0a2-windows-x86_64.xml - − update_1/alpha/windows-x86_64/update-14.5a6-15.0a1-windows-x86_64.xml - + update_1/alpha/windows-x86_64/update-14.5a6-15.0a2-windows-x86_64.xml - + update_1/alpha/windows-x86_64/update-15.0a1-15.0a2-windows-x86_64.xml - − update_1/alpha/windows-x86_64/update-15.0a1-windows-x86_64.xml - + update_1/alpha/windows-x86_64/update-15.0a2-windows-x86_64.xml The diff was not included because it is too large. View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser-update-respo… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser-update-respo… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-update-responses][main] 6 commits: alpha: new version, 15.0a2 (linux-i686)
by ma1 (@ma1) 01 Sep '25

01 Sep '25
ma1 pushed to branch main at The Tor Project / Applications / Tor Browser update responses Commits: dc9fa649 by hackademix at 2025-09-01T17:56:11+02:00 alpha: new version, 15.0a2 (linux-i686) - - - - - 25195a5a by hackademix at 2025-09-01T17:56:12+02:00 alpha: new version, 15.0a2 (linux-x86_64) - - - - - c7192a84 by hackademix at 2025-09-01T17:56:12+02:00 alpha: new version, 15.0a2 (macos) - - - - - 14a067ef by hackademix at 2025-09-01T17:56:13+02:00 alpha: new version, 15.0a2 (windows-i686) - - - - - 2d6691d8 by hackademix at 2025-09-01T17:56:13+02:00 alpha: new version, 15.0a2 (windows-x86_64) - - - - - 50e88572 by hackademix at 2025-09-01T17:56:14+02:00 alpha: new version, 15.0a2 - - - - - 43 changed files: - update_3/alpha/download-android-aarch64.json - update_3/alpha/download-android-armv7.json - update_3/alpha/download-android-x86.json - update_3/alpha/download-android-x86_64.json - update_3/alpha/download-linux-i686.json - update_3/alpha/download-linux-x86_64.json - update_3/alpha/download-macos.json - update_3/alpha/download-windows-i686.json - update_3/alpha/download-windows-x86_64.json - update_3/alpha/downloads.json - update_3/alpha/linux-i686/.htaccess - update_3/alpha/linux-i686/update-14.5a4-15.0a1-linux-i686.xml → update_3/alpha/linux-i686/update-14.5a5-15.0a2-linux-i686.xml - update_3/alpha/linux-i686/update-14.5a5-15.0a1-linux-i686.xml → update_3/alpha/linux-i686/update-14.5a6-15.0a2-linux-i686.xml - update_3/alpha/linux-i686/update-14.5a6-15.0a1-linux-i686.xml → update_3/alpha/linux-i686/update-15.0a1-15.0a2-linux-i686.xml - update_3/alpha/linux-i686/update-15.0a1-linux-i686.xml → update_3/alpha/linux-i686/update-15.0a2-linux-i686.xml - update_3/alpha/linux-x86_64/.htaccess - update_3/alpha/linux-x86_64/update-14.5a4-15.0a1-linux-x86_64.xml → update_3/alpha/linux-x86_64/update-14.5a5-15.0a2-linux-x86_64.xml - update_3/alpha/linux-x86_64/update-14.5a5-15.0a1-linux-x86_64.xml → update_3/alpha/linux-x86_64/update-14.5a6-15.0a2-linux-x86_64.xml - update_3/alpha/linux-x86_64/update-14.5a6-15.0a1-linux-x86_64.xml → update_3/alpha/linux-x86_64/update-15.0a1-15.0a2-linux-x86_64.xml - update_3/alpha/linux-x86_64/update-15.0a1-linux-x86_64.xml → update_3/alpha/linux-x86_64/update-15.0a2-linux-x86_64.xml - update_3/alpha/macos/.htaccess - update_3/alpha/macos/update-14.5a6-15.0a1-macos.xml → update_3/alpha/macos/update-14.5a5-15.0a2-macos.xml - update_3/alpha/macos/update-14.5a4-15.0a1-macos.xml → update_3/alpha/macos/update-14.5a6-15.0a2-macos.xml - update_3/alpha/macos/update-14.5a5-15.0a1-macos.xml → update_3/alpha/macos/update-15.0a1-15.0a2-macos.xml - update_3/alpha/macos/update-15.0a1-macos.xml → update_3/alpha/macos/update-15.0a2-macos.xml - update_3/alpha/windows-i686/.htaccess - − update_3/alpha/windows-i686/update-14.5a4-15.0a1-windows-i686.xml - − update_3/alpha/windows-i686/update-14.5a5-15.0a1-windows-i686.xml - + update_3/alpha/windows-i686/update-14.5a5-15.0a2-windows-i686.xml - − update_3/alpha/windows-i686/update-14.5a6-15.0a1-windows-i686.xml - + update_3/alpha/windows-i686/update-14.5a6-15.0a2-windows-i686.xml - + update_3/alpha/windows-i686/update-15.0a1-15.0a2-windows-i686.xml - − update_3/alpha/windows-i686/update-15.0a1-windows-i686.xml - + update_3/alpha/windows-i686/update-15.0a2-windows-i686.xml - update_3/alpha/windows-x86_64/.htaccess - − update_3/alpha/windows-x86_64/update-14.5a4-15.0a1-windows-x86_64.xml - − update_3/alpha/windows-x86_64/update-14.5a5-15.0a1-windows-x86_64.xml - + update_3/alpha/windows-x86_64/update-14.5a5-15.0a2-windows-x86_64.xml - − update_3/alpha/windows-x86_64/update-14.5a6-15.0a1-windows-x86_64.xml - + update_3/alpha/windows-x86_64/update-14.5a6-15.0a2-windows-x86_64.xml - + update_3/alpha/windows-x86_64/update-15.0a1-15.0a2-windows-x86_64.xml - − update_3/alpha/windows-x86_64/update-15.0a1-windows-x86_64.xml - + update_3/alpha/windows-x86_64/update-15.0a2-windows-x86_64.xml The diff was not included because it is too large. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-update-responses… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-update-responses… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] 2 commits: Bug 41064: Update tools/signing/README
by morgan (@morgan) 01 Sep '25

01 Sep '25
morgan pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: 7d122642 by Nicolas Vigier at 2025-09-01T16:53:45+02:00 Bug 41064: Update tools/signing/README - - - - - 7b232a13 by Nicolas Vigier at 2025-09-01T17:22:25+02:00 Bug 41064: Add tools/signing/machines-setup/README.md - - - - - 2 changed files: - tools/signing/README - + tools/signing/machines-setup/README.md Changes: ===================================== tools/signing/README ===================================== @@ -1,10 +1,11 @@ -The files in this directory are a large part of what we use when signing -releases. The scripts are meant to be templates, though, at the moment -omitting specific paths and credential information. +This directory contains the scripts used to sign Tor Browser, Mullvad +Browser and Tor VPN. -Additionally, when starting to use them for your own signing setup don't forget -to adapt the locale list if needed. The entitlement files, however, are kept -up-to-date. +For information about using those scripts, see the `Release Prep` gitlab +issue templates in the `.gitlab/issue_templates` directory. + +The scripts in the machines-setup/ directory are used to setup the +signing machines (see README.md file in that directory for more details). The scripts in the nightly/ directory are used to sign and publish the nightly updates. ===================================== tools/signing/machines-setup/README.md ===================================== @@ -0,0 +1,37 @@ +This directory contains the scripts used to setup the signing machines. + +It handles everything in the setup, except installation of the signing +keys, which is done manually. + +# Deploying changes on the signing machines + +To deploy changes on the signing machines you need: +* access to the `root` account (either running `su -` and entering the + `root` password, or having your ssh key in `~root/.ssh/authorized_keys`) +* access to the `setup` account via ssh (the `setup-signing-machine` + script should be updated to add your key there) + +Deploying changes to the signing machines is done with the following two scripts: +* upload-tbb-to-signing-machine +* setup-signing-machine + +## upload-tbb-to-signing-machine + +This script should be run from your local machine (from which you access +the signing machine). It will create a tarball of tor-browser-build from +the `HEAD` commit, upload it to the signing machine and extract it in +the `/signing` directory. In addition it will download and upload to +the signing machine the tools used in the signing process. + +Before running the script you may edit the line +`signing_machine='linux-signer'` to change the hostname of the signing +machine. + +## setup-signing-machine + +This script should be run on the signing machine as root. It will install +required packages, create user accounts and setup signing tools. + +After running `upload-tbb-to-signing-machine`, open a root shell on the +signing machine and run +`/signing/tor-browser-build/tools/signing/machines-setup/setup-signing-machine`. 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-140.2.0esr-15.0-1] 2 commits: fixup! TB 31286: Implementation of bridge, proxy, and firewall settings in...
by morgan (@morgan) 01 Sep '25

01 Sep '25
morgan pushed to branch tor-browser-140.2.0esr-15.0-1 at The Tor Project / Applications / Tor Browser Commits: d6e3fcfd by Henry Wilkes at 2025-09-01T16:30:49+01:00 fixup! TB 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#connection TB 44145: Use --icon-color and --icon-color-critical for the connection status icons. - - - - - cf3594e3 by Henry Wilkes at 2025-09-01T16:32:22+01:00 fixup! TB 27476: Implement about:torconnect captive portal within Tor Browser TB 44145: Use --icon-color and --icon-color-critical for the connection status icons. - - - - - 2 changed files: - browser/components/torpreferences/content/torPreferences.css - toolkit/components/torconnect/content/torConnectTitlebarStatus.css Changes: ===================================== browser/components/torpreferences/content/torPreferences.css ===================================== @@ -57,8 +57,8 @@ button.spoof-button-disabled { height: 18px; margin-inline-end: 8px; -moz-context-properties: fill, stroke; - fill: currentColor; - stroke: currentColor; + fill: var(--icon-color); + stroke: var(--icon-color); } #network-status-internet-area .network-status-icon { @@ -79,13 +79,7 @@ button.spoof-button-disabled { #network-status-tor-area.status-blocked .network-status-icon { /* Same as .tor-connect-status-potentially-blocked. */ - stroke: #c50042; -} - -@media (prefers-color-scheme: dark) { - #network-status-tor-area.status-blocked .network-status-icon { - stroke: #ff9aa2; - } + stroke: var(--icon-color-critical); } .network-status-label { ===================================== toolkit/components/torconnect/content/torConnectTitlebarStatus.css ===================================== @@ -12,8 +12,8 @@ #tor-connect-titlebar-status img { -moz-context-properties: fill, stroke; - fill: currentColor; - stroke: currentColor; + fill: var(--icon-color); + stroke: var(--icon-color); width: 16px; height: 16px; object-fit: none; @@ -30,21 +30,23 @@ * we assign the potentially-blocked class, we do *not* expect to be connected * at the same time, so we only expect this first frame to be visible in this * state. */ - stroke: #c50042; -} - -@media (prefers-color-scheme: dark) { - #tor-connect-titlebar-status.tor-connect-status-potentially-blocked img { - stroke: #ff9aa2; - } + stroke: var(--icon-color-critical); } #tor-connect-titlebar-status.tor-connect-status-connected img { object-position: var(--tor-connected-offset); } -#tor-connect-titlebar-status.tor-connect-status-connected { - color: var(--tor-text-color); +@media not ((prefers-contrast) or (forced-colors)) { + /* Make the connected text and icon purple. */ + #tor-connect-titlebar-status.tor-connect-status-connected { + color: var(--tor-text-color); + } + + #tor-connect-titlebar-status.tor-connect-status-connected img { + fill: var(--tor-text-color); + stroke: var(--tor-text-color); + } } @keyframes onion-not-connected-to-connected { @@ -63,6 +65,7 @@ } #tor-connect-titlebar-status.tor-connect-status-connected.tor-connect-status-animate-transition img { + transition: fill 1000ms, stroke 1000ms; animation-name: onion-not-connected-to-connected; animation-delay: 200ms; animation-fill-mode: both; View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/3cf311… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/3cf311… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 18
  • 19
  • 20
  • 21
  • 22
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.