tbb-commits
Threads by month
- ----- 2025 -----
- 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
- 1 participants
- 18631 discussions

[Git][tpo/applications/mullvad-browser-update-responses][main] alpha: new version, 13.5a4
by richard (@richard) 30 Jan '24
by richard (@richard) 30 Jan '24
30 Jan '24
richard pushed to branch main at The Tor Project / Applications / mullvad-browser-update-responses
Commits:
4a352531 by Richard Pospesel at 2024-01-30T11:59:07+00:00
alpha: new version, 13.5a4
- - - - -
29 changed files:
- update_1/alpha/.htaccess
- − update_1/alpha/13.0a6-13.5a3-linux-x86_64-ALL.xml
- − update_1/alpha/13.0a6-13.5a3-macos-ALL.xml
- − update_1/alpha/13.0a6-13.5a3-windows-x86_64-ALL.xml
- − update_1/alpha/13.5a1-13.5a3-linux-x86_64-ALL.xml
- − update_1/alpha/13.5a1-13.5a3-macos-ALL.xml
- − update_1/alpha/13.5a1-13.5a3-windows-x86_64-ALL.xml
- + update_1/alpha/13.5a1-13.5a4-linux-x86_64-ALL.xml
- + update_1/alpha/13.5a1-13.5a4-macos-ALL.xml
- + update_1/alpha/13.5a1-13.5a4-windows-x86_64-ALL.xml
- − update_1/alpha/13.5a2-13.5a3-linux-x86_64-ALL.xml
- − update_1/alpha/13.5a2-13.5a3-macos-ALL.xml
- − update_1/alpha/13.5a2-13.5a3-windows-x86_64-ALL.xml
- + update_1/alpha/13.5a2-13.5a4-linux-x86_64-ALL.xml
- + update_1/alpha/13.5a2-13.5a4-macos-ALL.xml
- + update_1/alpha/13.5a2-13.5a4-windows-x86_64-ALL.xml
- + update_1/alpha/13.5a3-13.5a4-linux-x86_64-ALL.xml
- + update_1/alpha/13.5a3-13.5a4-macos-ALL.xml
- + update_1/alpha/13.5a3-13.5a4-windows-x86_64-ALL.xml
- − update_1/alpha/13.5a3-linux-x86_64-ALL.xml
- − update_1/alpha/13.5a3-macos-ALL.xml
- − update_1/alpha/13.5a3-windows-x86_64-ALL.xml
- + update_1/alpha/13.5a4-linux-x86_64-ALL.xml
- + update_1/alpha/13.5a4-macos-ALL.xml
- + update_1/alpha/13.5a4-windows-x86_64-ALL.xml
- 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
Changes:
=====================================
update_1/alpha/.htaccess
=====================================
@@ -1,22 +1,22 @@
RewriteEngine On
-RewriteRule ^[^/]+/13.5a3/ no-update.xml [last]
-RewriteRule ^Linux_x86_64-gcc3/13.0a6/ALL 13.0a6-13.5a3-linux-x86_64-ALL.xml [last]
-RewriteRule ^Linux_x86_64-gcc3/13.5a1/ALL 13.5a1-13.5a3-linux-x86_64-ALL.xml [last]
-RewriteRule ^Linux_x86_64-gcc3/13.5a2/ALL 13.5a2-13.5a3-linux-x86_64-ALL.xml [last]
-RewriteRule ^Linux_x86_64-gcc3/[^/]+/ALL 13.5a3-linux-x86_64-ALL.xml [last]
-RewriteRule ^Linux_x86_64-gcc3/ 13.5a3-linux-x86_64-ALL.xml [last]
-RewriteRule ^Darwin_x86_64-gcc3/13.0a6/ALL 13.0a6-13.5a3-macos-ALL.xml [last]
-RewriteRule ^Darwin_x86_64-gcc3/13.5a1/ALL 13.5a1-13.5a3-macos-ALL.xml [last]
-RewriteRule ^Darwin_x86_64-gcc3/13.5a2/ALL 13.5a2-13.5a3-macos-ALL.xml [last]
-RewriteRule ^Darwin_x86_64-gcc3/[^/]+/ALL 13.5a3-macos-ALL.xml [last]
-RewriteRule ^Darwin_x86_64-gcc3/ 13.5a3-macos-ALL.xml [last]
-RewriteRule ^Darwin_aarch64-gcc3/13.0a6/ALL 13.0a6-13.5a3-macos-ALL.xml [last]
-RewriteRule ^Darwin_aarch64-gcc3/13.5a1/ALL 13.5a1-13.5a3-macos-ALL.xml [last]
-RewriteRule ^Darwin_aarch64-gcc3/13.5a2/ALL 13.5a2-13.5a3-macos-ALL.xml [last]
-RewriteRule ^Darwin_aarch64-gcc3/[^/]+/ALL 13.5a3-macos-ALL.xml [last]
-RewriteRule ^Darwin_aarch64-gcc3/ 13.5a3-macos-ALL.xml [last]
-RewriteRule ^WINNT_x86_64-gcc3-x64/13.0a6/ALL 13.0a6-13.5a3-windows-x86_64-ALL.xml [last]
-RewriteRule ^WINNT_x86_64-gcc3-x64/13.5a1/ALL 13.5a1-13.5a3-windows-x86_64-ALL.xml [last]
-RewriteRule ^WINNT_x86_64-gcc3-x64/13.5a2/ALL 13.5a2-13.5a3-windows-x86_64-ALL.xml [last]
-RewriteRule ^WINNT_x86_64-gcc3-x64/[^/]+/ALL 13.5a3-windows-x86_64-ALL.xml [last]
-RewriteRule ^WINNT_x86_64-gcc3-x64/ 13.5a3-windows-x86_64-ALL.xml [last]
+RewriteRule ^[^/]+/13.5a4/ no-update.xml [last]
+RewriteRule ^Linux_x86_64-gcc3/13.5a1/ALL 13.5a1-13.5a4-linux-x86_64-ALL.xml [last]
+RewriteRule ^Linux_x86_64-gcc3/13.5a2/ALL 13.5a2-13.5a4-linux-x86_64-ALL.xml [last]
+RewriteRule ^Linux_x86_64-gcc3/13.5a3/ALL 13.5a3-13.5a4-linux-x86_64-ALL.xml [last]
+RewriteRule ^Linux_x86_64-gcc3/[^/]+/ALL 13.5a4-linux-x86_64-ALL.xml [last]
+RewriteRule ^Linux_x86_64-gcc3/ 13.5a4-linux-x86_64-ALL.xml [last]
+RewriteRule ^Darwin_x86_64-gcc3/13.5a1/ALL 13.5a1-13.5a4-macos-ALL.xml [last]
+RewriteRule ^Darwin_x86_64-gcc3/13.5a2/ALL 13.5a2-13.5a4-macos-ALL.xml [last]
+RewriteRule ^Darwin_x86_64-gcc3/13.5a3/ALL 13.5a3-13.5a4-macos-ALL.xml [last]
+RewriteRule ^Darwin_x86_64-gcc3/[^/]+/ALL 13.5a4-macos-ALL.xml [last]
+RewriteRule ^Darwin_x86_64-gcc3/ 13.5a4-macos-ALL.xml [last]
+RewriteRule ^Darwin_aarch64-gcc3/13.5a1/ALL 13.5a1-13.5a4-macos-ALL.xml [last]
+RewriteRule ^Darwin_aarch64-gcc3/13.5a2/ALL 13.5a2-13.5a4-macos-ALL.xml [last]
+RewriteRule ^Darwin_aarch64-gcc3/13.5a3/ALL 13.5a3-13.5a4-macos-ALL.xml [last]
+RewriteRule ^Darwin_aarch64-gcc3/[^/]+/ALL 13.5a4-macos-ALL.xml [last]
+RewriteRule ^Darwin_aarch64-gcc3/ 13.5a4-macos-ALL.xml [last]
+RewriteRule ^WINNT_x86_64-gcc3-x64/13.5a1/ALL 13.5a1-13.5a4-windows-x86_64-ALL.xml [last]
+RewriteRule ^WINNT_x86_64-gcc3-x64/13.5a2/ALL 13.5a2-13.5a4-windows-x86_64-ALL.xml [last]
+RewriteRule ^WINNT_x86_64-gcc3-x64/13.5a3/ALL 13.5a3-13.5a4-windows-x86_64-ALL.xml [last]
+RewriteRule ^WINNT_x86_64-gcc3-x64/[^/]+/ALL 13.5a4-windows-x86_64-ALL.xml [last]
+RewriteRule ^WINNT_x86_64-gcc3-x64/ 13.5a4-windows-x86_64-ALL.xml [last]
=====================================
update_1/alpha/13.0a6-13.5a3-linux-x86_64-ALL.xml deleted
=====================================
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<updates><update type="minor" displayVersion="13.5a3" appVersion="13.5a3" platformVersion="115.6.0" buildID="20231219113348" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5a3" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-linux-x86_64-13.5a3_…" hashFunction="SHA512" hashValue="ad2914a4f0c2b78f7d740fc8d1077767e3c42f12857fbda706c87b5f52cb2e4a415aaa0e4e732764f2fe463ae335b73fe52db6943b02e50fafef11fc42864475" size="106795579" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-linux-x86_64--13.0a6…" hashFunction="SHA512" hashValue="d06ef52fb1061cc60e2b4455845cef391a956b12827d6687e80ef82b685dd7e4b08b163426d4692733c8bc8fc0b69d1c32d840d39638eb99866d83c8c716e100" size="9198850" type="partial"></patch></update></updates>
=====================================
update_1/alpha/13.0a6-13.5a3-macos-ALL.xml deleted
=====================================
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<updates><update type="minor" displayVersion="13.5a3" appVersion="13.5a3" platformVersion="115.6.0" buildID="20231219113348" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5a3" minSupportedOSVersion="16.0.0"><patch URL="https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-macos-13.5a3_ALL.mar" hashFunction="SHA512" hashValue="b3c91729bb0f42aab67440d4119f2574d917c501b0ee958d41eb36914acdf9c2ba40d1aa12755a84744b073941d4ccc1c792e86007fbe05fb545e53dd96aac5f" size="114855415" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-macos--13.0a6-13.5a3…" hashFunction="SHA512" hashValue="ef939f5a129df1a0b253e9ccd5d2d43389d6cdf1883da2cb81e3dd24cb756ba378935630c1234ed5223da078aaf6f980fefdb66ef2cc0b94375dbf61902e06c3" size="14294193" type="partial"></patch></update></updates>
=====================================
update_1/alpha/13.0a6-13.5a3-windows-x86_64-ALL.xml deleted
=====================================
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<updates><update type="minor" displayVersion="13.5a3" appVersion="13.5a3" platformVersion="115.6.0" buildID="20231219113348" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5a3" minSupportedOSVersion="6.1" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-windows-x86_64-13.5a…" hashFunction="SHA512" hashValue="a6ce2a3d2ed55b42354f6559e9cf48f5971728d13f83070331bda042a114bb02d0e06b5dd7dad2db6fc3376ec152d0f92a7fb87d21cf00da398a9bb5577dc1f5" size="88815824" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-windows-x86_64--13.0…" hashFunction="SHA512" hashValue="28c5d75219d14249a9363cf42518ea6954dd00f76fa8100d3c7a52c72430eeb8f370176376082fda5df19b62c36f4ed7373979ab2b3f52bb31d118278abdfb45" size="9817942" type="partial"></patch></update></updates>
=====================================
update_1/alpha/13.5a1-13.5a3-linux-x86_64-ALL.xml deleted
=====================================
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<updates><update type="minor" displayVersion="13.5a3" appVersion="13.5a3" platformVersion="115.6.0" buildID="20231219113348" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5a3" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-linux-x86_64-13.5a3_…" hashFunction="SHA512" hashValue="ad2914a4f0c2b78f7d740fc8d1077767e3c42f12857fbda706c87b5f52cb2e4a415aaa0e4e732764f2fe463ae335b73fe52db6943b02e50fafef11fc42864475" size="106795579" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-linux-x86_64--13.5a1…" hashFunction="SHA512" hashValue="b60a8436420fc9e904499ca9c073e792c207a6b9ef94433bff2f9895c12f482fdfb70d6511c72d548d597562dda90b59e9afd96c7789785f8e8ac5a342423bd4" size="8508777" type="partial"></patch></update></updates>
=====================================
update_1/alpha/13.5a1-13.5a3-macos-ALL.xml deleted
=====================================
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<updates><update type="minor" displayVersion="13.5a3" appVersion="13.5a3" platformVersion="115.6.0" buildID="20231219113348" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5a3" minSupportedOSVersion="16.0.0"><patch URL="https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-macos-13.5a3_ALL.mar" hashFunction="SHA512" hashValue="b3c91729bb0f42aab67440d4119f2574d917c501b0ee958d41eb36914acdf9c2ba40d1aa12755a84744b073941d4ccc1c792e86007fbe05fb545e53dd96aac5f" size="114855415" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-macos--13.5a1-13.5a3…" hashFunction="SHA512" hashValue="238d6a426fc36ab8f117032c54198dfcd36272d03f7e2ed0c2e9b139bfa2ffb6197b3082e57dae827226b137305e10a244de4a3619c8b88d4c00799c41cb3505" size="13597253" type="partial"></patch></update></updates>
=====================================
update_1/alpha/13.5a1-13.5a3-windows-x86_64-ALL.xml deleted
=====================================
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<updates><update type="minor" displayVersion="13.5a3" appVersion="13.5a3" platformVersion="115.6.0" buildID="20231219113348" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5a3" minSupportedOSVersion="6.1" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-windows-x86_64-13.5a…" hashFunction="SHA512" hashValue="a6ce2a3d2ed55b42354f6559e9cf48f5971728d13f83070331bda042a114bb02d0e06b5dd7dad2db6fc3376ec152d0f92a7fb87d21cf00da398a9bb5577dc1f5" size="88815824" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-windows-x86_64--13.5…" hashFunction="SHA512" hashValue="9e289c8b83afbdd9b09bcadbcd93f3f66c36d2ea7965cfd04a6a4e492d0541f3a652361c8db099e2d11a6db0c07023c2acfae478defbb6660c41deb17e45900c" size="9179529" type="partial"></patch></update></updates>
=====================================
update_1/alpha/13.5a1-13.5a4-linux-x86_64-ALL.xml
=====================================
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<updates><update type="minor" displayVersion="13.5a4" appVersion="13.5a4" platformVersion="115.7.0" buildID="20240129155630" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5a4" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5a4" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-linux-x86_64-13.5a4_…" hashFunction="SHA512" hashValue="f4807be1248046f3115f381dbead91fdf8731f3f3ffc76a7eb7bf32eb58f37e3e4cd76861bf6783c53662de6dfd8e3f5e2e193ae49c2828ca8c70eaad512ae9c" size="107916327" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-linux-x86_64--13.5a1…" hashFunction="SHA512" hashValue="7929965bcf3f97ffe3a856248271d3dcbb5999b228858b75f3e1d993bfcfe5d06efecce70f1325edd1fde4edabd0d556b44e6ee56149a0f73e54c55bd773b34a" size="15875405" type="partial"></patch></update></updates>
=====================================
update_1/alpha/13.5a1-13.5a4-macos-ALL.xml
=====================================
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<updates><update type="minor" displayVersion="13.5a4" appVersion="13.5a4" platformVersion="115.7.0" buildID="20240129155630" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5a4" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5a4" minSupportedOSVersion="16.0.0"><patch URL="https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-macos-13.5a4_ALL.mar" hashFunction="SHA512" hashValue="05aa6ee66d4dea52c6fec07d45cb0bc96dc813b3f86db418eb86ecf6dccd44e85c0fb1c7c2450d50b35b1ad8da0a7d16ed16f2083fef7e3e1135774ad278908b" size="115308515" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-macos--13.5a1-13.5a4…" hashFunction="SHA512" hashValue="e49a99198e0046cc0133a69991bc204ec89e4fe07216be40d7a669ecd3b8ac26c889de3a0d161b6be726105369e46d2e92c84177cdde14df968005a5aafe1b1f" size="17266465" type="partial"></patch></update></updates>
=====================================
update_1/alpha/13.5a1-13.5a4-windows-x86_64-ALL.xml
=====================================
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<updates><update type="minor" displayVersion="13.5a4" appVersion="13.5a4" platformVersion="115.7.0" buildID="20240129155630" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5a4" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5a4" minSupportedOSVersion="6.1" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-windows-x86_64-13.5a…" hashFunction="SHA512" hashValue="2681c3052302fa2e791e6c82d2ad48569d8f1622400bd433efe31e7757e8002c0f5c1f2930949f89ee059bc61b2cea2101d56b67f2c506eb6222a0ff709948f6" size="89263680" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-windows-x86_64--13.5…" hashFunction="SHA512" hashValue="69038008b474bf188b13e1c41331de90f0b591f93f961145b744d9df552a423b5e1c17ad36db608e53a68c31249e9c9f31ddba6b7ab066b91ea44aa0c2b17640" size="12871701" type="partial"></patch></update></updates>
=====================================
update_1/alpha/13.5a2-13.5a3-linux-x86_64-ALL.xml deleted
=====================================
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<updates><update type="minor" displayVersion="13.5a3" appVersion="13.5a3" platformVersion="115.6.0" buildID="20231219113348" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5a3" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-linux-x86_64-13.5a3_…" hashFunction="SHA512" hashValue="ad2914a4f0c2b78f7d740fc8d1077767e3c42f12857fbda706c87b5f52cb2e4a415aaa0e4e732764f2fe463ae335b73fe52db6943b02e50fafef11fc42864475" size="106795579" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-linux-x86_64--13.5a2…" hashFunction="SHA512" hashValue="8a7d10996b6b801f1d2858c200049ddf95117ccdcaacc3cb8b5e818312f4b195b231f18bd8f61e5cb1513c1f1791ece281fe503209250896c430c1766b1797af" size="5627360" type="partial"></patch></update></updates>
=====================================
update_1/alpha/13.5a2-13.5a3-macos-ALL.xml deleted
=====================================
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<updates><update type="minor" displayVersion="13.5a3" appVersion="13.5a3" platformVersion="115.6.0" buildID="20231219113348" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5a3" minSupportedOSVersion="16.0.0"><patch URL="https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-macos-13.5a3_ALL.mar" hashFunction="SHA512" hashValue="b3c91729bb0f42aab67440d4119f2574d917c501b0ee958d41eb36914acdf9c2ba40d1aa12755a84744b073941d4ccc1c792e86007fbe05fb545e53dd96aac5f" size="114855415" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-macos--13.5a2-13.5a3…" hashFunction="SHA512" hashValue="e2441d94986928b77ec1606b07cfca59e56f1cba1e6f466e14c8482fff7e33ec0aa78429787b25ba3d0f573060c6bfaad6a6094a26cd28e60c8e2a38891fff18" size="10532560" type="partial"></patch></update></updates>
=====================================
update_1/alpha/13.5a2-13.5a3-windows-x86_64-ALL.xml deleted
=====================================
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<updates><update type="minor" displayVersion="13.5a3" appVersion="13.5a3" platformVersion="115.6.0" buildID="20231219113348" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5a3" minSupportedOSVersion="6.1" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-windows-x86_64-13.5a…" hashFunction="SHA512" hashValue="a6ce2a3d2ed55b42354f6559e9cf48f5971728d13f83070331bda042a114bb02d0e06b5dd7dad2db6fc3376ec152d0f92a7fb87d21cf00da398a9bb5577dc1f5" size="88815824" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-windows-x86_64--13.5…" hashFunction="SHA512" hashValue="07b3258657393586dce54e2c508de7e87969fb6516988dd992573ef57585e9f99a0798afdd1c0c5100f4485c42664e2c88f4566c8022c0c7ba3d90a315fd9cbc" size="6257559" type="partial"></patch></update></updates>
=====================================
update_1/alpha/13.5a2-13.5a4-linux-x86_64-ALL.xml
=====================================
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<updates><update type="minor" displayVersion="13.5a4" appVersion="13.5a4" platformVersion="115.7.0" buildID="20240129155630" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5a4" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5a4" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-linux-x86_64-13.5a4_…" hashFunction="SHA512" hashValue="f4807be1248046f3115f381dbead91fdf8731f3f3ffc76a7eb7bf32eb58f37e3e4cd76861bf6783c53662de6dfd8e3f5e2e193ae49c2828ca8c70eaad512ae9c" size="107916327" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-linux-x86_64--13.5a2…" hashFunction="SHA512" hashValue="615a7a213ae930ab0072f3e4f0eb6ff823e371fb2931e6ea50ab82b47a30acbdc2904e790bd186886da8540e2dc89fa5f8383938acb9de3a81a7552f53527577" size="14878410" type="partial"></patch></update></updates>
=====================================
update_1/alpha/13.5a2-13.5a4-macos-ALL.xml
=====================================
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<updates><update type="minor" displayVersion="13.5a4" appVersion="13.5a4" platformVersion="115.7.0" buildID="20240129155630" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5a4" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5a4" minSupportedOSVersion="16.0.0"><patch URL="https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-macos-13.5a4_ALL.mar" hashFunction="SHA512" hashValue="05aa6ee66d4dea52c6fec07d45cb0bc96dc813b3f86db418eb86ecf6dccd44e85c0fb1c7c2450d50b35b1ad8da0a7d16ed16f2083fef7e3e1135774ad278908b" size="115308515" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-macos--13.5a2-13.5a4…" hashFunction="SHA512" hashValue="dcabe3438794aae6e64d72bfe836ad65cf8454e6db2aef9acaaa07d83d341912a5bf9ccf1b3125ff0cc00846fe6b79b0d775e0d47c3bf1f5777a97356a7148c7" size="16017493" type="partial"></patch></update></updates>
=====================================
update_1/alpha/13.5a2-13.5a4-windows-x86_64-ALL.xml
=====================================
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<updates><update type="minor" displayVersion="13.5a4" appVersion="13.5a4" platformVersion="115.7.0" buildID="20240129155630" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5a4" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5a4" minSupportedOSVersion="6.1" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-windows-x86_64-13.5a…" hashFunction="SHA512" hashValue="2681c3052302fa2e791e6c82d2ad48569d8f1622400bd433efe31e7757e8002c0f5c1f2930949f89ee059bc61b2cea2101d56b67f2c506eb6222a0ff709948f6" size="89263680" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-windows-x86_64--13.5…" hashFunction="SHA512" hashValue="ffe9a835049d044d17e66bcb06c035f145c7cd6913de0f23755fda6a164406bc86fa9dc5297a9fec7eac1b23014f742e9733bd4ddf7cd89a7a979525b2570657" size="11825429" type="partial"></patch></update></updates>
=====================================
update_1/alpha/13.5a3-13.5a4-linux-x86_64-ALL.xml
=====================================
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<updates><update type="minor" displayVersion="13.5a4" appVersion="13.5a4" platformVersion="115.7.0" buildID="20240129155630" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5a4" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5a4" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-linux-x86_64-13.5a4_…" hashFunction="SHA512" hashValue="f4807be1248046f3115f381dbead91fdf8731f3f3ffc76a7eb7bf32eb58f37e3e4cd76861bf6783c53662de6dfd8e3f5e2e193ae49c2828ca8c70eaad512ae9c" size="107916327" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-linux-x86_64--13.5a3…" hashFunction="SHA512" hashValue="5d8408d9e6e701a3ba9ff4e697b55f23d86e6909aa406b23730772631893cb5b6ca8f472fa5a2ffa448bcbf055375afc0775ad82d583ee45a1a1d64e8a3db761" size="13991539" type="partial"></patch></update></updates>
=====================================
update_1/alpha/13.5a3-13.5a4-macos-ALL.xml
=====================================
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<updates><update type="minor" displayVersion="13.5a4" appVersion="13.5a4" platformVersion="115.7.0" buildID="20240129155630" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5a4" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5a4" minSupportedOSVersion="16.0.0"><patch URL="https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-macos-13.5a4_ALL.mar" hashFunction="SHA512" hashValue="05aa6ee66d4dea52c6fec07d45cb0bc96dc813b3f86db418eb86ecf6dccd44e85c0fb1c7c2450d50b35b1ad8da0a7d16ed16f2083fef7e3e1135774ad278908b" size="115308515" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-macos--13.5a3-13.5a4…" hashFunction="SHA512" hashValue="bf3ef67f38db8d9bb85f07dc92c2ee3e70e767c1954c07e9538c1bb6a84a1c98ca1ce280977b78cf90154ceb96e68bb905667e01407de581e1d5556a2ccea26c" size="14099283" type="partial"></patch></update></updates>
=====================================
update_1/alpha/13.5a3-13.5a4-windows-x86_64-ALL.xml
=====================================
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<updates><update type="minor" displayVersion="13.5a4" appVersion="13.5a4" platformVersion="115.7.0" buildID="20240129155630" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5a4" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5a4" minSupportedOSVersion="6.1" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-windows-x86_64-13.5a…" hashFunction="SHA512" hashValue="2681c3052302fa2e791e6c82d2ad48569d8f1622400bd433efe31e7757e8002c0f5c1f2930949f89ee059bc61b2cea2101d56b67f2c506eb6222a0ff709948f6" size="89263680" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-windows-x86_64--13.5…" hashFunction="SHA512" hashValue="55cd47c65f8c38296547bad978c4fae0e51733de4f7970e1ac9f4d01083ebdc06eecee506bf92f6eb2e64c476fa707c5af33ea0c7838acf44217b8706102471e" size="9557366" type="partial"></patch></update></updates>
=====================================
update_1/alpha/13.5a3-linux-x86_64-ALL.xml deleted
=====================================
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<updates><update type="minor" displayVersion="13.5a3" appVersion="13.5a3" platformVersion="115.6.0" buildID="20231219113348" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5a3" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-linux-x86_64-13.5a3_…" hashFunction="SHA512" hashValue="ad2914a4f0c2b78f7d740fc8d1077767e3c42f12857fbda706c87b5f52cb2e4a415aaa0e4e732764f2fe463ae335b73fe52db6943b02e50fafef11fc42864475" size="106795579" type="complete"></patch></update></updates>
=====================================
update_1/alpha/13.5a3-macos-ALL.xml deleted
=====================================
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<updates><update type="minor" displayVersion="13.5a3" appVersion="13.5a3" platformVersion="115.6.0" buildID="20231219113348" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5a3" minSupportedOSVersion="16.0.0"><patch URL="https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-macos-13.5a3_ALL.mar" hashFunction="SHA512" hashValue="b3c91729bb0f42aab67440d4119f2574d917c501b0ee958d41eb36914acdf9c2ba40d1aa12755a84744b073941d4ccc1c792e86007fbe05fb545e53dd96aac5f" size="114855415" type="complete"></patch></update></updates>
=====================================
update_1/alpha/13.5a3-windows-x86_64-ALL.xml deleted
=====================================
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<updates><update type="minor" displayVersion="13.5a3" appVersion="13.5a3" platformVersion="115.6.0" buildID="20231219113348" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5a3" minSupportedOSVersion="6.1" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-windows-x86_64-13.5a…" hashFunction="SHA512" hashValue="a6ce2a3d2ed55b42354f6559e9cf48f5971728d13f83070331bda042a114bb02d0e06b5dd7dad2db6fc3376ec152d0f92a7fb87d21cf00da398a9bb5577dc1f5" size="88815824" type="complete"></patch></update></updates>
=====================================
update_1/alpha/13.5a4-linux-x86_64-ALL.xml
=====================================
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<updates><update type="minor" displayVersion="13.5a4" appVersion="13.5a4" platformVersion="115.7.0" buildID="20240129155630" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5a4" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5a4" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-linux-x86_64-13.5a4_…" hashFunction="SHA512" hashValue="f4807be1248046f3115f381dbead91fdf8731f3f3ffc76a7eb7bf32eb58f37e3e4cd76861bf6783c53662de6dfd8e3f5e2e193ae49c2828ca8c70eaad512ae9c" size="107916327" type="complete"></patch></update></updates>
=====================================
update_1/alpha/13.5a4-macos-ALL.xml
=====================================
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<updates><update type="minor" displayVersion="13.5a4" appVersion="13.5a4" platformVersion="115.7.0" buildID="20240129155630" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5a4" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5a4" minSupportedOSVersion="16.0.0"><patch URL="https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-macos-13.5a4_ALL.mar" hashFunction="SHA512" hashValue="05aa6ee66d4dea52c6fec07d45cb0bc96dc813b3f86db418eb86ecf6dccd44e85c0fb1c7c2450d50b35b1ad8da0a7d16ed16f2083fef7e3e1135774ad278908b" size="115308515" type="complete"></patch></update></updates>
=====================================
update_1/alpha/13.5a4-windows-x86_64-ALL.xml
=====================================
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<updates><update type="minor" displayVersion="13.5a4" appVersion="13.5a4" platformVersion="115.7.0" buildID="20240129155630" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5a4" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5a4" minSupportedOSVersion="6.1" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-windows-x86_64-13.5a…" hashFunction="SHA512" hashValue="2681c3052302fa2e791e6c82d2ad48569d8f1622400bd433efe31e7757e8002c0f5c1f2930949f89ee059bc61b2cea2101d56b67f2c506eb6222a0ff709948f6" size="89263680" type="complete"></patch></update></updates>
=====================================
update_1/alpha/download-linux-x86_64.json
=====================================
@@ -1 +1 @@
-{"binary":"https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-linux-x86_64-13.5a3.…","git_tag":"mb-13.5a3-build1","sig":"https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-linux-x86_64-13.5a3.…","version":"13.5a3"}
\ No newline at end of file
+{"binary":"https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-linux-x86_64-13.5a4.…","git_tag":"mb-13.5a4-build1","sig":"https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-linux-x86_64-13.5a4.…","version":"13.5a4"}
\ No newline at end of file
=====================================
update_1/alpha/download-macos.json
=====================================
@@ -1 +1 @@
-{"binary":"https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-macos-13.5a3.dmg","git_tag":"mb-13.5a3-build1","sig":"https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-macos-13.5a3.dmg.asc","version":"13.5a3"}
\ No newline at end of file
+{"binary":"https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-macos-13.5a4.dmg","git_tag":"mb-13.5a4-build1","sig":"https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-macos-13.5a4.dmg.asc","version":"13.5a4"}
\ No newline at end of file
=====================================
update_1/alpha/download-windows-x86_64.json
=====================================
@@ -1 +1 @@
-{"binary":"https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-windows-x86_64-porta…","git_tag":"mb-13.5a3-build1","sig":"https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-windows-x86_64-porta…","version":"13.5a3"}
\ No newline at end of file
+{"binary":"https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-windows-x86_64-porta…","git_tag":"mb-13.5a4-build1","sig":"https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-windows-x86_64-porta…","version":"13.5a4"}
\ No newline at end of file
=====================================
update_1/alpha/downloads.json
=====================================
@@ -1 +1 @@
-{"downloads":{"linux-x86_64":{"ALL":{"binary":"https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-linux-x86_64-13.5a3.…","sig":"https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-linux-x86_64-13.5a3.…"}},"macos":{"ALL":{"binary":"https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-macos-13.5a3.dmg","sig":"https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-macos-13.5a3.dmg.asc"}},"win64":{"ALL":{"binary":"https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-windows-x86_64-porta…","sig":"https://cdn.mullvad.net/browser/13.5a3/mullvad-browser-windows-x86_64-porta…"}}},"tag":"mb-13.5a3-build1","version":"13.5a3"}
\ No newline at end of file
+{"downloads":{"linux-x86_64":{"ALL":{"binary":"https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-linux-x86_64-13.5a4.…","sig":"https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-linux-x86_64-13.5a4.…"}},"macos":{"ALL":{"binary":"https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-macos-13.5a4.dmg","sig":"https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-macos-13.5a4.dmg.asc"}},"win64":{"ALL":{"binary":"https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-windows-x86_64-porta…","sig":"https://cdn.mullvad.net/browser/13.5a4/mullvad-browser-windows-x86_64-porta…"}}},"tag":"mb-13.5a4-build1","version":"13.5a4"}
\ No newline at end of file
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

[Git][tpo/applications/tor-browser-build][main] 2 commits: Fixed indentation in README.
by Pier Angelo Vendrame (@pierov) 30 Jan '24
by Pier Angelo Vendrame (@pierov) 30 Jan '24
30 Jan '24
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
81929890 by Pier Angelo Vendrame at 2024-01-30T10:34:43+01:00
Fixed indentation in README.
- - - - -
e486334e by NoisyCoil at 2024-01-30T10:34:51+01:00
Bug 41038: Add RPM dependencies to README.
Tested in Fedora 39.
- - - - -
1 changed file:
- README
Changes:
=====================================
README
=====================================
@@ -48,6 +48,17 @@ If you are running Debian or Ubuntu, you can install them with:
libtemplate-perl libxml-libxml-perl libxml-writer-perl \
libyaml-libyaml-perl git mercurial uidmap zstd
+If you are running Fedora, CentOS or RHEL, you can install them with:
+
+# dnf install "perl(YAML::XS)" "perl(File::Basename)" "perl(Getopt::Long)" \
+ "perl(Template)" "perl(IO::Handle)" "perl(IO::CaptureOutput)" \
+ "perl(JSON)" "perl(File::Temp)" "perl(Path::Tiny)" \
+ "perl(File::Path)" "perl(File::Slurp)" \
+ "perl(File::Copy::Recursive)" "perl(String::ShellQuote)"
+ "perl(Sort::Versions)" "perl(Digest::SHA)" "perl(Data::UUID)" \
+ "perl(Data::Dump)" "perl(DateTime)" "perl(XML::Writer)" \
+ "perl(Parallel::ForkManager)" perl-ph mercurial git zstd
+
If you are running an Arch based system, you should be able to install them with:
# pacman -S perl-datetime perl-path-tiny perl-yaml perl-yaml-libyaml \
@@ -228,10 +239,9 @@ be done with the following command:
# apt-get install build-essential python3 automake libtool zip unzip \
autoconf2.13 openjdk-11-jdk gettext-base autotools-dev \
- automake autoconf libtool autopoint libssl-dev \
- pkg-config zlib1g-dev libparallel-forkmanager-perl \
- libfile-slurp-perl bzip2 xz-utils apksigner yasm wget \
- bison gyp tcl python3-venv 7zip jq
+ automake autoconf libtool autopoint libssl-dev pkg-config \
+ zlib1g-dev libparallel-forkmanager-perl libfile-slurp-perl bzip2 \
+ xz-utils apksigner yasm wget bison gyp tcl python3-venv 7zip jq
Note that Debian Bullseye requires the bullseye-backports repository to
get the 7zip package.
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

[Git][tpo/applications/tor-browser-build][main] Bug 41072: Set correct updater_url for Mullvad Browser nightly builds
by boklm (@boklm) 30 Jan '24
by boklm (@boklm) 30 Jan '24
30 Jan '24
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
f1ecbc88 by Nicolas Vigier at 2024-01-30T09:05:17+01:00
Bug 41072: Set correct updater_url for Mullvad Browser nightly builds
- - - - -
1 changed file:
- projects/firefox/config
Changes:
=====================================
projects/firefox/config
=====================================
@@ -89,6 +89,7 @@ targets:
branding_directory_prefix: 'mb'
gitlab_project: https://gitlab.torproject.org/tpo/applications/mullvad-browser
updater_url: 'https://cdn.mullvad.net/browser/update_responses/update_1/'
+ nightly_updates_publish_dir_prefix: mullvadbrowser-
linux-x86_64:
var:
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

[Git][tpo/applications/tor-browser-build][main] Bug 41073: Add required packages for container-less build
by boklm (@boklm) 30 Jan '24
by boklm (@boklm) 30 Jan '24
30 Jan '24
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
056eeab3 by Mynacol at 2024-01-30T08:38:35+01:00
Bug 41073: Add required packages for container-less build
jq and 7zip are both absolutely required, 7zip just recently.
bison, tcl, gyp and python3-venv are scattered around as dependency.
wget is also definitely required, but it's not available in a minimal
docker image.
Besides this, python3, not python2 is required, similarly jdk 11 instead
of 8.
- - - - -
1 changed file:
- README
Changes:
=====================================
README
=====================================
@@ -222,15 +222,19 @@ of containers: the container-image project is still called, but it will
just create an empty file instead of a real container image.
The build without containers is currently only supported for the Android
-builds, and will require that you run Debian Buster and install build
-dependencies for all the components that are built. This can be done
-with the following command:
+builds, and will require that you run Debian Bullseye or Bookworm and
+install build dependencies for all the components that are built. This can
+be done with the following command:
- # apt-get install build-essential python automake libtool zip unzip \
- autoconf2.13 openjdk-8-jdk gettext-base autotools-dev \
+ # apt-get install build-essential python3 automake libtool zip unzip \
+ autoconf2.13 openjdk-11-jdk gettext-base autotools-dev \
automake autoconf libtool autopoint libssl-dev \
pkg-config zlib1g-dev libparallel-forkmanager-perl \
- libfile-slurp-perl bzip2 xz-utils apksigner yasm
+ libfile-slurp-perl bzip2 xz-utils apksigner yasm wget \
+ bison gyp tcl python3-venv 7zip jq
+
+Note that Debian Bullseye requires the bullseye-backports repository to
+get the 7zip package.
Common Build Errors
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/0…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/0…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/firefox-android][firefox-android-115.2.1-13.5-1] fixup! Add Tor integration and UI
by Dan Ballard (@dan) 30 Jan '24
by Dan Ballard (@dan) 30 Jan '24
30 Jan '24
Dan Ballard pushed to branch firefox-android-115.2.1-13.5-1 at The Tor Project / Applications / firefox-android
Commits:
faf7e9bd by clairehurst at 2024-01-29T16:07:17-07:00
fixup! Add Tor integration and UI
- - - - -
30 changed files:
- − fenix/app/src/beta/ic_launcher_monochrome-playstore.png
- − fenix/app/src/debug/ic_launcher-web.png
- − fenix/app/src/main/ic_launcher-web.png
- fenix/app/src/main/java/org/mozilla/fenix/experiments/view/ResearchSurfaceSurvey.kt
- − fenix/app/src/main/res/drawable-hdpi/ic_logo_wordmark_normal.png
- − fenix/app/src/main/res/drawable-hdpi/ic_logo_wordmark_private.png
- − fenix/app/src/main/res/drawable-hdpi/onboarding_default_browser.webp
- − fenix/app/src/main/res/drawable-hdpi/onboarding_notification.webp
- − fenix/app/src/main/res/drawable-hdpi/onboarding_sync.webp
- − fenix/app/src/main/res/drawable-ldrtl/onboarding_dark_theme.xml
- − fenix/app/src/main/res/drawable-ldrtl/onboarding_light_theme.xml
- − fenix/app/src/main/res/drawable-mdpi/ic_logo_wordmark_normal.png
- − fenix/app/src/main/res/drawable-mdpi/ic_logo_wordmark_private.png
- − fenix/app/src/main/res/drawable-night/ic_logo_wordmark_normal.xml
- − fenix/app/src/main/res/drawable-xhdpi/ic_logo_wordmark_normal.png
- − fenix/app/src/main/res/drawable-xhdpi/ic_logo_wordmark_private.png
- − fenix/app/src/main/res/drawable-xhdpi/onboarding_default_browser.webp
- − fenix/app/src/main/res/drawable-xhdpi/onboarding_notification.webp
- − fenix/app/src/main/res/drawable-xhdpi/onboarding_sync.webp
- − fenix/app/src/main/res/drawable-xxhdpi/ic_logo_wordmark_normal.png
- − fenix/app/src/main/res/drawable-xxhdpi/ic_logo_wordmark_private.png
- − fenix/app/src/main/res/drawable-xxhdpi/onboarding_default_browser.webp
- − fenix/app/src/main/res/drawable-xxhdpi/onboarding_notification.webp
- − fenix/app/src/main/res/drawable-xxhdpi/onboarding_sync.webp
- − fenix/app/src/main/res/drawable-xxxhdpi/ic_logo_wordmark_normal.png
- − fenix/app/src/main/res/drawable-xxxhdpi/ic_logo_wordmark_private.png
- − fenix/app/src/main/res/drawable/ic_firefox.xml
- − fenix/app/src/main/res/drawable/ic_launcher_monochrome.xml
- − fenix/app/src/main/res/drawable/ic_scan.xml
- − fenix/app/src/main/res/drawable/ic_wordmark_logo.png
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/firefox-android/-/commit/faf…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/firefox-android/-/commit/faf…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-115.7.0esr-13.5-1] 4 commits: fixup! Bug 31286: Implementation of bridge, proxy, and firewall settings in...
by richard (@richard) 29 Jan '24
by richard (@richard) 29 Jan '24
29 Jan '24
richard pushed to branch tor-browser-115.7.0esr-13.5-1 at The Tor Project / Applications / Tor Browser
Commits:
e16caa30 by Henry Wilkes at 2024-01-29T18:34:30+00:00
fixup! Bug 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#connection
Bug 41913: Add basic validation to user provided bridge dialog, and a
confirmation step.
- - - - -
6fe742ee by Henry Wilkes at 2024-01-29T18:34:30+00:00
fixup! Tor Browser strings
Bug 41913: Add strings for user provided bridge dialog.
- - - - -
7abc2cc1 by Henry Wilkes at 2024-01-29T18:34:30+00:00
fixup! Bug 40597: Implement TorSettings module
Bug 41913: Add public validateBridgeLines method.
- - - - -
fd4565d1 by Henry Wilkes at 2024-01-29T18:34:30+00:00
fixup! Add TorStrings module for localization
Bug 41913: Remove old strings for user provided bridge addresses.
- - - - -
12 changed files:
- browser/components/preferences/preferences.xhtml
- + browser/components/torpreferences/content/bridgemoji/BridgeEmoji.js
- browser/components/torpreferences/content/connectionPane.js
- browser/components/torpreferences/content/connectionPane.xhtml
- browser/components/torpreferences/content/provideBridgeDialog.js
- browser/components/torpreferences/content/provideBridgeDialog.xhtml
- browser/components/torpreferences/content/torPreferences.css
- browser/components/torpreferences/jar.mn
- browser/locales/en-US/browser/tor-browser.ftl
- toolkit/modules/TorSettings.sys.mjs
- toolkit/modules/TorStrings.sys.mjs
- toolkit/torbutton/chrome/locale/en-US/settings.properties
Changes:
=====================================
browser/components/preferences/preferences.xhtml
=====================================
@@ -70,6 +70,7 @@
<script type="module" src="chrome://global/content/elements/moz-support-link.mjs"/>
<script src="chrome://browser/content/migration/migration-wizard.mjs" type="module"></script>
<script type="module" src="chrome://global/content/elements/moz-toggle.mjs"/>
+ <script src="chrome://browser/content/torpreferences/bridgemoji/BridgeEmoji.js"/>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
=====================================
browser/components/torpreferences/content/bridgemoji/BridgeEmoji.js
=====================================
@@ -0,0 +1,199 @@
+"use strict";
+
+{
+ /**
+ * Element to display a single bridge emoji, with a localized name.
+ */
+ class BridgeEmoji extends HTMLElement {
+ static #activeInstances = new Set();
+ static #observer(subject, topic, data) {
+ if (topic === "intl:app-locales-changed") {
+ BridgeEmoji.#updateEmojiLangCode();
+ }
+ }
+
+ static #addActiveInstance(inst) {
+ if (this.#activeInstances.size === 0) {
+ Services.obs.addObserver(this.#observer, "intl:app-locales-changed");
+ this.#updateEmojiLangCode();
+ }
+ this.#activeInstances.add(inst);
+ }
+
+ static #removeActiveInstance(inst) {
+ this.#activeInstances.delete(inst);
+ if (this.#activeInstances.size === 0) {
+ Services.obs.removeObserver(this.#observer, "intl:app-locales-changed");
+ }
+ }
+
+ /**
+ * The language code for emoji annotations.
+ *
+ * null if unset.
+ *
+ * @type {string?}
+ */
+ static #emojiLangCode = null;
+ /**
+ * A promise that resolves to two JSON structures for bridge-emojis.json and
+ * annotations.json, respectively.
+ *
+ * @type {Promise}
+ */
+ static #emojiPromise = Promise.all([
+ fetch(
+ "chrome://browser/content/torpreferences/bridgemoji/bridge-emojis.json"
+ ).then(response => response.json()),
+ fetch(
+ "chrome://browser/content/torpreferences/bridgemoji/annotations.json"
+ ).then(response => response.json()),
+ ]);
+
+ static #unknownStringPromise = null;
+
+ /**
+ * Update #emojiLangCode.
+ */
+ static async #updateEmojiLangCode() {
+ let langCode;
+ const emojiAnnotations = (await BridgeEmoji.#emojiPromise)[1];
+ // Find the first desired locale we have annotations for.
+ // Add "en" as a fallback.
+ for (const bcp47 of [...Services.locale.appLocalesAsBCP47, "en"]) {
+ langCode = bcp47;
+ if (langCode in emojiAnnotations) {
+ break;
+ }
+ // Remove everything after the dash, if there is one.
+ langCode = bcp47.replace(/-.*/, "");
+ if (langCode in emojiAnnotations) {
+ break;
+ }
+ }
+ if (langCode !== this.#emojiLangCode) {
+ this.#emojiLangCode = langCode;
+ this.#unknownStringPromise = document.l10n.formatValue(
+ "tor-bridges-emoji-unknown"
+ );
+ for (const inst of this.#activeInstances) {
+ inst.update();
+ }
+ }
+ }
+
+ /**
+ * Update the bridge emoji to show their corresponding emoji with an
+ * annotation that matches the current locale.
+ */
+ async update() {
+ if (!this.#active) {
+ return;
+ }
+
+ if (!BridgeEmoji.#emojiLangCode) {
+ // No lang code yet, wait until it is updated.
+ return;
+ }
+
+ const doc = this.ownerDocument;
+ const [unknownString, [emojiList, emojiAnnotations]] = await Promise.all([
+ BridgeEmoji.#unknownStringPromise,
+ BridgeEmoji.#emojiPromise,
+ ]);
+
+ const emoji = emojiList[this.#index];
+ let emojiName;
+ if (!emoji) {
+ // Unexpected.
+ this.#img.removeAttribute("src");
+ } else {
+ const cp = emoji.codePointAt(0).toString(16);
+ this.#img.setAttribute(
+ "src",
+ `chrome://browser/content/torpreferences/bridgemoji/svgs/${cp}.svg`
+ );
+ emojiName = emojiAnnotations[BridgeEmoji.#emojiLangCode][cp];
+ }
+ if (!emojiName) {
+ doc.defaultView.console.error(`No emoji for index ${this.#index}`);
+ emojiName = unknownString;
+ }
+ doc.l10n.setAttributes(this, "tor-bridges-emoji-cell", {
+ emojiName,
+ });
+ }
+
+ /**
+ * The index for this bridge emoji.
+ *
+ * @type {integer?}
+ */
+ #index = null;
+ /**
+ * Whether we are active (i.e. in the DOM).
+ *
+ * @type {boolean}
+ */
+ #active = false;
+ /**
+ * The image element.
+ *
+ * @type {HTMLImgElement?}
+ */
+ #img = null;
+
+ constructor(index) {
+ super();
+ this.#index = index;
+ }
+
+ connectedCallback() {
+ if (!this.#img) {
+ this.#img = this.ownerDocument.createElement("img");
+ this.#img.classList.add("tor-bridges-emoji-icon");
+ this.#img.setAttribute("alt", "");
+ this.appendChild(this.#img);
+ }
+
+ this.#active = true;
+ BridgeEmoji.#addActiveInstance(this);
+ this.update();
+ }
+
+ disconnectedCallback() {
+ this.#active = false;
+ BridgeEmoji.#removeActiveInstance(this);
+ }
+
+ /**
+ * Create four bridge emojis for the given address.
+ *
+ * @param {string} bridgeLine - The bridge address.
+ *
+ * @returns {BridgeEmoji[4]} - The bridge emoji elements.
+ */
+ static createForAddress(bridgeLine) {
+ // JS uses UTF-16. While most of these emojis are surrogate pairs, a few
+ // ones fit one UTF-16 character. So we could not use neither indices,
+ // nor substr, nor some function to split the string.
+ // FNV-1a implementation that is compatible with other languages
+ const prime = 0x01000193;
+ const offset = 0x811c9dc5;
+ let hash = offset;
+ const encoder = new TextEncoder();
+ for (const byte of encoder.encode(bridgeLine)) {
+ hash = Math.imul(hash ^ byte, prime);
+ }
+
+ return [
+ ((hash & 0x7f000000) >> 24) | (hash < 0 ? 0x80 : 0),
+ (hash & 0x00ff0000) >> 16,
+ (hash & 0x0000ff00) >> 8,
+ hash & 0x000000ff,
+ ].map(index => new BridgeEmoji(index));
+ }
+ }
+
+ customElements.define("tor-bridge-emoji", BridgeEmoji);
+}
=====================================
browser/components/torpreferences/content/connectionPane.js
=====================================
@@ -299,12 +299,10 @@ const gBridgeGrid = {
this._active = true;
- Services.obs.addObserver(this, "intl:app-locales-changed");
Services.obs.addObserver(this, TorProviderTopics.BridgeChanged);
this._grid.classList.add("grid-active");
- this._updateEmojiLangCode();
this._updateConnectedBridge();
},
@@ -322,7 +320,6 @@ const gBridgeGrid = {
this._grid.classList.remove("grid-active");
- Services.obs.removeObserver(this, "intl:app-locales-changed");
Services.obs.removeObserver(this, TorProviderTopics.BridgeChanged);
},
@@ -337,9 +334,6 @@ const gBridgeGrid = {
this._updateRows();
}
break;
- case "intl:app-locales-changed":
- this._updateEmojiLangCode();
- break;
case TorProviderTopics.BridgeChanged:
this._updateConnectedBridge();
break;
@@ -573,97 +567,6 @@ const gBridgeGrid = {
}
},
- /**
- * The language code for emoji annotations.
- *
- * null if unset.
- *
- * @type {string?}
- */
- _emojiLangCode: null,
- /**
- * A promise that resolves to two JSON structures for bridge-emojis.json and
- * annotations.json, respectively.
- *
- * @type {Promise}
- */
- _emojiPromise: Promise.all([
- fetch(
- "chrome://browser/content/torpreferences/bridgemoji/bridge-emojis.json"
- ).then(response => response.json()),
- fetch(
- "chrome://browser/content/torpreferences/bridgemoji/annotations.json"
- ).then(response => response.json()),
- ]),
-
- /**
- * Update _emojiLangCode.
- */
- async _updateEmojiLangCode() {
- let langCode;
- const emojiAnnotations = (await this._emojiPromise)[1];
- // Find the first desired locale we have annotations for.
- // Add "en" as a fallback.
- for (const bcp47 of [...Services.locale.appLocalesAsBCP47, "en"]) {
- langCode = bcp47;
- if (langCode in emojiAnnotations) {
- break;
- }
- // Remove everything after the dash, if there is one.
- langCode = bcp47.replace(/-.*/, "");
- if (langCode in emojiAnnotations) {
- break;
- }
- }
- if (langCode !== this._emojiLangCode) {
- this._emojiLangCode = langCode;
- for (const row of this._rows) {
- this._updateRowEmojis(row);
- }
- }
- },
-
- /**
- * Update the bridge emojis to show their corresponding emoji with an
- * annotation that matches the current locale.
- *
- * @param {BridgeGridRow} row - The row to update the emojis of.
- */
- async _updateRowEmojis(row) {
- if (!this._emojiLangCode) {
- // No lang code yet, wait until it is updated.
- return;
- }
-
- const [emojiList, emojiAnnotations] = await this._emojiPromise;
- const unknownString = await document.l10n.formatValue(
- "tor-bridges-emoji-unknown"
- );
-
- for (const { cell, img, index } of row.emojis) {
- const emoji = emojiList[index];
- let emojiName;
- if (!emoji) {
- // Unexpected.
- img.removeAttribute("src");
- } else {
- const cp = emoji.codePointAt(0).toString(16);
- img.setAttribute(
- "src",
- `chrome://browser/content/torpreferences/bridgemoji/svgs/${cp}.svg`
- );
- emojiName = emojiAnnotations[this._emojiLangCode][cp];
- }
- if (!emojiName) {
- console.error(`No emoji for index ${index}`);
- emojiName = unknownString;
- }
- document.l10n.setAttributes(cell, "tor-bridges-emoji-cell", {
- emojiName,
- });
- }
- },
-
/**
* Create a new row for the grid.
*
@@ -688,23 +591,14 @@ const gBridgeGrid = {
};
const emojiBlock = row.element.querySelector(".tor-bridges-emojis-block");
- row.emojis = makeBridgeId(bridgeLine).map(index => {
- const cell = document.createElement("span");
- // Each emoji is its own cell, we rely on the fact that makeBridgeId
- // always returns four indices.
+ const BridgeEmoji = customElements.get("tor-bridge-emoji");
+ for (const cell of BridgeEmoji.createForAddress(bridgeLine)) {
+ // Each emoji is its own cell, we rely on the fact that createForAddress
+ // always returns four elements.
cell.setAttribute("role", "gridcell");
cell.classList.add("tor-bridges-grid-cell", "tor-bridges-emoji-cell");
-
- const img = document.createElement("img");
- img.classList.add("tor-bridges-emoji-icon");
- // Accessible name will be set on the cell itself.
- img.setAttribute("alt", "");
-
- cell.appendChild(img);
- emojiBlock.appendChild(cell);
- // Image and text is set in _updateRowEmojis.
- return { cell, img, index };
- });
+ emojiBlock.append(cell);
+ }
for (const [columnIndex, element] of row.element
.querySelectorAll(".tor-bridges-grid-cell")
@@ -735,7 +629,6 @@ const gBridgeGrid = {
this._initRowMenu(row);
this._updateRowStatus(row);
- this._updateRowEmojis(row);
return row;
},
@@ -1870,13 +1763,13 @@ const gBridgeSettings = {
"chrome://browser/content/torpreferences/provideBridgeDialog.xhtml",
{ mode },
result => {
- if (!result.bridgeStrings) {
+ if (!result.bridges?.length) {
return null;
}
return setTorSettings(() => {
TorSettings.bridges.enabled = true;
TorSettings.bridges.source = TorBridgeSource.UserProvided;
- TorSettings.bridges.bridge_strings = result.bridgeStrings;
+ TorSettings.bridges.bridge_strings = result.bridges;
});
}
);
@@ -2292,32 +2185,3 @@ const gConnectionPane = (function () {
};
return retval;
})(); /* gConnectionPane */
-
-/**
- * Convert the given bridgeString into an array of emoji indices between 0 and
- * 255.
- *
- * @param {string} bridgeString - The bridge string.
- *
- * @returns {integer[]} - A list of emoji indices between 0 and 255.
- */
-function makeBridgeId(bridgeString) {
- // JS uses UTF-16. While most of these emojis are surrogate pairs, a few
- // ones fit one UTF-16 character. So we could not use neither indices,
- // nor substr, nor some function to split the string.
- // FNV-1a implementation that is compatible with other languages
- const prime = 0x01000193;
- const offset = 0x811c9dc5;
- let hash = offset;
- const encoder = new TextEncoder();
- for (const byte of encoder.encode(bridgeString)) {
- hash = Math.imul(hash ^ byte, prime);
- }
-
- return [
- ((hash & 0x7f000000) >> 24) | (hash < 0 ? 0x80 : 0),
- (hash & 0x00ff0000) >> 16,
- (hash & 0x0000ff00) >> 8,
- hash & 0x000000ff,
- ];
-}
=====================================
browser/components/torpreferences/content/connectionPane.xhtml
=====================================
@@ -218,6 +218,7 @@
</html:div>
<html:div
id="tor-bridges-grid-display"
+ class="tor-bridges-grid"
role="grid"
aria-labelledby="tor-bridges-current-heading"
></html:div>
=====================================
browser/components/torpreferences/content/provideBridgeDialog.js
=====================================
@@ -4,14 +4,17 @@ const { TorStrings } = ChromeUtils.importESModule(
"resource://gre/modules/TorStrings.sys.mjs"
);
-const { TorSettings, TorBridgeSource } = ChromeUtils.importESModule(
- "resource://gre/modules/TorSettings.sys.mjs"
-);
+const { TorSettings, TorBridgeSource, validateBridgeLines } =
+ ChromeUtils.importESModule("resource://gre/modules/TorSettings.sys.mjs");
const { TorConnect, TorConnectTopics } = ChromeUtils.importESModule(
"resource://gre/modules/TorConnect.sys.mjs"
);
+const { TorParsers } = ChromeUtils.importESModule(
+ "resource://gre/modules/TorParsers.sys.mjs"
+);
+
const gProvideBridgeDialog = {
init() {
this._result = window.arguments[0];
@@ -33,72 +36,264 @@ const gProvideBridgeDialog = {
document.l10n.setAttributes(document.documentElement, titleId);
- const learnMore = document.createXULElement("label");
- learnMore.className = "learnMore text-link";
- learnMore.setAttribute("is", "text-link");
- learnMore.setAttribute("value", TorStrings.settings.learnMore);
- learnMore.addEventListener("click", () => {
- window.top.openTrustedLinkIn(
- TorStrings.settings.learnMoreBridgesURL,
- "tab"
- );
- });
-
- const pieces = TorStrings.settings.provideBridgeDescription.split("%S");
- document
- .getElementById("torPreferences-provideBridge-description")
- .replaceChildren(pieces[0], learnMore, pieces[1] || "");
+ document.l10n.setAttributes(
+ document.getElementById("user-provide-bridge-textarea-label"),
+ // TODO change string when we can also accept Lox share codes.
+ "user-provide-bridge-dialog-textarea-addresses-label"
+ );
- this._textarea = document.getElementById(
- "torPreferences-provideBridge-textarea"
+ this._dialog = document.getElementById("user-provide-bridge-dialog");
+ this._acceptButton = this._dialog.getButton("accept");
+ this._textarea = document.getElementById("user-provide-bridge-textarea");
+ this._errorEl = document.getElementById(
+ "user-provide-bridge-error-message"
+ );
+ this._resultDescription = document.getElementById(
+ "user-provide-result-description"
+ );
+ this._bridgeGrid = document.getElementById(
+ "user-provide-bridge-grid-display"
);
- this._textarea.setAttribute(
- "placeholder",
- TorStrings.settings.provideBridgePlaceholder
+ this._rowTemplate = document.getElementById(
+ "user-provide-bridge-row-template"
);
- this._textarea.addEventListener("input", () => this.onValueChange());
- if (TorSettings.bridges.source == TorBridgeSource.UserProvided) {
- this._textarea.value = TorSettings.bridges.bridge_strings.join("\n");
+ if (mode === "edit") {
+ // Only expected if the bridge source is UseProvided, but verify to be
+ // sure.
+ if (TorSettings.bridges.source == TorBridgeSource.UserProvided) {
+ this._textarea.value = TorSettings.bridges.bridge_strings.join("\n");
+ }
+ } else {
+ // Set placeholder if not editing.
+ document.l10n.setAttributes(
+ this._textarea,
+ // TODO: change string when we can also accept Lox share codes.
+ "user-provide-bridge-dialog-textarea-addresses"
+ );
}
- const dialog = document.getElementById(
- "torPreferences-provideBridge-dialog"
- );
- dialog.addEventListener("dialogaccept", e => {
- this._result.accepted = true;
- });
+ this._textarea.addEventListener("input", () => this.onValueChange());
- this._acceptButton = dialog.getButton("accept");
+ this._dialog.addEventListener("dialogaccept", event =>
+ this.onDialogAccept(event)
+ );
Services.obs.addObserver(this, TorConnectTopics.StateChange);
- this.onValueChange();
- this.onAcceptStateChange();
+ this.setPage("entry");
+ this.checkValue();
},
uninit() {
Services.obs.removeObserver(this, TorConnectTopics.StateChange);
},
+ /**
+ * Set the page to display.
+ *
+ * @param {string} page - The page to show.
+ */
+ setPage(page) {
+ this._page = page;
+ this._dialog.classList.toggle("show-entry-page", page === "entry");
+ this._dialog.classList.toggle("show-result-page", page === "result");
+ if (page === "entry") {
+ this._textarea.focus();
+ } else {
+ // Move focus to the <xul:window> element.
+ // In particular, we do not want to keep the focus on the (same) accept
+ // button (with now different text).
+ document.documentElement.focus();
+ }
+
+ this.updateAcceptDisabled();
+ this.onAcceptStateChange();
+ },
+
+ /**
+ * Callback for whenever the input value changes.
+ */
onValueChange() {
- // TODO: Do some proper value parsing and error reporting. See
- // tor-browser#40552.
- const value = this._textarea.value.trim();
- this._acceptButton.disabled = !value;
- this._result.bridgeStrings = value;
+ this.updateAcceptDisabled();
+ // Reset errors whenever the value changes.
+ this.updateError(null);
},
+ /**
+ * Callback for whenever the accept button may need to change.
+ */
onAcceptStateChange() {
- const connect = TorConnect.canBeginBootstrap;
- this._result.connect = connect;
-
- this._acceptButton.setAttribute(
- "label",
- connect
- ? TorStrings.settings.bridgeButtonConnect
- : TorStrings.settings.bridgeButtonAccept
+ if (this._page === "entry") {
+ document.l10n.setAttributes(
+ this._acceptButton,
+ "user-provide-bridge-dialog-next-button"
+ );
+ this._result.connect = false;
+ } else {
+ this._acceptButton.removeAttribute("data-l10n-id");
+ const connect = TorConnect.canBeginBootstrap;
+ this._result.connect = connect;
+
+ this._acceptButton.setAttribute(
+ "label",
+ connect
+ ? TorStrings.settings.bridgeButtonConnect
+ : TorStrings.settings.bridgeButtonAccept
+ );
+ }
+ },
+
+ /**
+ * Callback for whenever the accept button's might need to be disabled.
+ */
+ updateAcceptDisabled() {
+ this._acceptButton.disabled =
+ this._page === "entry" && validateBridgeLines(this._textarea.value).empty;
+ },
+
+ /**
+ * Callback for when the accept button is pressed.
+ *
+ * @param {Event} event - The dialogaccept event.
+ */
+ onDialogAccept(event) {
+ if (this._page === "result") {
+ this._result.accepted = true;
+ // Continue to close the dialog.
+ return;
+ }
+ // Prevent closing the dialog.
+ event.preventDefault();
+
+ const bridges = this.checkValue();
+ if (!bridges.length) {
+ // Not valid
+ return;
+ }
+ this._result.bridges = bridges;
+ this.updateResult();
+ this.setPage("result");
+ },
+
+ /**
+ * The current timeout for updating the error.
+ *
+ * @type {integer?}
+ */
+ _updateErrorTimeout: null,
+
+ /**
+ * Update the displayed error.
+ *
+ * @param {object?} error - The error to show, or null if no error should be
+ * shown. Should include the "type" property.
+ */
+ updateError(error) {
+ // First clear the existing error.
+ if (this._updateErrorTimeout !== null) {
+ clearTimeout(this._updateErrorTimeout);
+ }
+ this._updateErrorTimeout = null;
+ this._errorEl.removeAttribute("data-l10n-id");
+ this._errorEl.textContent = "";
+ if (error) {
+ this._textarea.setAttribute("aria-invalid", "true");
+ } else {
+ this._textarea.removeAttribute("aria-invalid");
+ }
+ this._textarea.classList.toggle("invalid-input", !!error);
+ this._errorEl.classList.toggle("show-error", !!error);
+
+ if (!error) {
+ return;
+ }
+
+ let errorId;
+ let errorArgs;
+ switch (error.type) {
+ case "invalid-address":
+ errorId = "user-provide-bridge-dialog-address-error";
+ errorArgs = { line: error.line };
+ break;
+ }
+
+ // Wait a small amount of time to actually set the textContent. Otherwise
+ // the screen reader (tested with Orca) may not pick up on the change in
+ // text.
+ this._updateErrorTimeout = setTimeout(() => {
+ document.l10n.setAttributes(this._errorEl, errorId, errorArgs);
+ }, 500);
+ },
+
+ /**
+ * Check the current value in the textarea.
+ *
+ * @returns {string[]} - The bridge addresses, if the entry is valid.
+ */
+ checkValue() {
+ let bridges = [];
+ let error = null;
+ const validation = validateBridgeLines(this._textarea.value);
+ if (!validation.empty) {
+ // If empty, we just disable the button, rather than show an error.
+ if (validation.errorLines.length) {
+ // Report first error.
+ error = {
+ type: "invalid-address",
+ line: validation.errorLines[0],
+ };
+ } else {
+ bridges = validation.validBridges;
+ }
+ }
+ this.updateError(error);
+ return bridges;
+ },
+
+ /**
+ * Update the shown result on the last page.
+ */
+ updateResult() {
+ document.l10n.setAttributes(
+ this._resultDescription,
+ // TODO: Use a different id when added through Lox invite.
+ "user-provide-bridge-dialog-result-addresses"
);
+
+ this._bridgeGrid.replaceChildren();
+
+ for (const bridgeLine of this._result.bridges) {
+ let details;
+ try {
+ details = TorParsers.parseBridgeLine(bridgeLine);
+ } catch (e) {
+ console.error(`Detected invalid bridge line: ${bridgeLine}`, e);
+ }
+
+ const rowEl = this._rowTemplate.content.children[0].cloneNode(true);
+
+ const emojiBlock = rowEl.querySelector(".tor-bridges-emojis-block");
+ const BridgeEmoji = customElements.get("tor-bridge-emoji");
+ for (const cell of BridgeEmoji.createForAddress(bridgeLine)) {
+ // Each emoji is its own cell, we rely on the fact that createForAddress
+ // always returns four elements.
+ cell.setAttribute("role", "gridcell");
+ cell.classList.add("tor-bridges-grid-cell", "tor-bridges-emoji-cell");
+ emojiBlock.append(cell);
+ }
+
+ // TODO: properly handle "vanilla" bridges?
+ document.l10n.setAttributes(
+ rowEl.querySelector(".tor-bridges-type-cell"),
+ "tor-bridges-type-prefix",
+ { type: details?.transport ?? "vanilla" }
+ );
+
+ rowEl.querySelector(".tor-bridges-address-cell").textContent = bridgeLine;
+
+ this._bridgeGrid.append(rowEl);
+ }
},
observe(subject, topic, data) {
=====================================
browser/components/torpreferences/content/provideBridgeDialog.xhtml
=====================================
@@ -8,22 +8,77 @@
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
>
- <dialog id="torPreferences-provideBridge-dialog" buttons="accept,cancel">
+ <dialog
+ id="user-provide-bridge-dialog"
+ buttons="accept,cancel"
+ class="show-entry-page"
+ >
<linkset>
<html:link rel="localization" href="browser/tor-browser.ftl" />
</linkset>
+ <script src="chrome://browser/content/torpreferences/bridgemoji/BridgeEmoji.js" />
<script src="chrome://browser/content/torpreferences/provideBridgeDialog.js" />
- <description>
- <html:div id="torPreferences-provideBridge-description"
- >​<br />​</html:div
- >
- </description>
- <html:textarea
- id="torPreferences-provideBridge-textarea"
- multiline="true"
- rows="3"
- />
+ <html:div id="user-provide-bridge-entry-page">
+ <description id="user-provide-bridge-description">
+ <html:span
+ class="tail-with-learn-more"
+ data-l10n-id="user-provide-bridge-dialog-description"
+ ></html:span>
+ <label
+ is="text-link"
+ class="learnMore text-link"
+ href="about:manual#bridges"
+ useoriginprincipal="true"
+ data-l10n-id="user-provide-bridge-dialog-learn-more"
+ />
+ </description>
+ <html:label
+ id="user-provide-bridge-textarea-label"
+ for="user-provide-bridge-textarea"
+ ></html:label>
+ <html:textarea
+ id="user-provide-bridge-textarea"
+ multiline="true"
+ rows="3"
+ aria-describedby="user-provide-bridge-description"
+ aria-errormessage="user-provide-bridge-error-message"
+ />
+ <html:div id="user-provide-bridge-message-area">
+ <html:span
+ id="user-provide-bridge-error-message"
+ aria-live="assertive"
+ ></html:span>
+ </html:div>
+ </html:div>
+ <html:div id="user-provide-bridge-result-page">
+ <description id="user-provide-result-description" />
+ <!-- NOTE: Unlike #tor-bridge-grid-display, this element is not
+ - interactive, and not a tab-stop. So we use the "table" role rather
+ - than "grid".
+ - NOTE: Using a <html:table> would not allow us the same structural
+ - freedom, so we use a generic div and add the semantics manually. -->
+ <html:div
+ id="user-provide-bridge-grid-display"
+ class="tor-bridges-grid"
+ role="table"
+ ></html:div>
+ <html:template id="user-provide-bridge-row-template">
+ <html:div class="tor-bridges-grid-row" role="row">
+ <html:span
+ class="tor-bridges-type-cell tor-bridges-grid-cell"
+ role="gridcell"
+ ></html:span>
+ <html:span class="tor-bridges-emojis-block" role="none"></html:span>
+ <html:span class="tor-bridges-grid-end-block" role="none">
+ <html:span
+ class="tor-bridges-address-cell tor-bridges-grid-cell"
+ role="gridcell"
+ ></html:span>
+ </html:span>
+ </html:div>
+ </html:template>
+ </html:div>
</dialog>
</window>
=====================================
browser/components/torpreferences/content/torPreferences.css
=====================================
@@ -270,11 +270,14 @@
grid-area: description;
}
-#tor-bridges-grid-display {
+.tor-bridges-grid {
display: grid;
grid-template-columns: max-content repeat(4, max-content) 1fr;
--tor-bridges-grid-column-gap: 8px;
--tor-bridges-grid-column-short-gap: 4px;
+ /* For #tor-bridges-grid-display we want each grid item to have the same
+ * height so that their focus outlines match. */
+ align-items: stretch;
}
#tor-bridges-grid-display:not(.grid-active) {
@@ -283,11 +286,12 @@
.tor-bridges-grid-row {
/* We want each row to act as a row of three items in the
- * #tor-bridges-grid-display grid layout.
+ * .tor-bridges-grid grid layout.
* We also want a 16px spacing between rows, and 8px spacing between columns,
- * which are outside the .tor-bridges-grid-cell's border area. So that
- * clicking these gaps will not focus any item, and their focus outlines do
- * not overlap.
+ * which are outside the .tor-bridges-grid-cell's border area.
+ *
+ * For #tor-bridges-grid-display this should ensure that clicking these gaps
+ * will not focus any item, and their focus outlines do not overlap.
* Moreover, we also want each row to show its .tor-bridges-options-cell when
* the .tor-bridges-grid-row has :hover.
*
@@ -311,7 +315,8 @@
padding-block: 8px;
}
-.tor-bridges-grid-cell:focus-visible {
+#tor-bridges-grid-display .tor-bridges-grid-cell:focus-visible {
+ /* #tor-bridges-grid-display has focus management for its cells. */
outline: var(--in-content-focus-outline);
outline-offset: var(--in-content-focus-outline-offset);
}
@@ -662,8 +667,77 @@ groupbox#torPreferences-bridges-group textarea {
}
/* Provide bridge dialog */
-#torPreferences-provideBridge-textarea {
- margin-top: 16px;
+
+#user-provide-bridge-dialog:not(.show-entry-page) #user-provide-bridge-entry-page {
+ display: none;
+}
+
+#user-provide-bridge-dialog:not(.show-result-page) #user-provide-bridge-result-page {
+ display: none;
+}
+
+#user-provide-bridge-entry-page {
+ flex: 1 0 auto;
+ display: flex;
+ flex-direction: column;
+}
+
+#user-provide-bridge-description {
+ flex: 0 0 auto;
+}
+
+#user-provide-bridge-textarea-label {
+ margin-block: 16px 6px;
+ flex: 0 0 auto;
+ align-self: start;
+}
+
+#user-provide-bridge-textarea {
+ flex: 1 0 auto;
+ align-self: stretch;
+ line-height: 1.3;
+ margin: 0;
+}
+
+#user-provide-bridge-message-area {
+ flex: 0 0 auto;
+ margin-block: 8px 12px;
+ align-self: end;
+}
+
+#user-provide-bridge-message-area::after {
+ /* Zero width space, to ensure we are always one line high. */
+ content: "\200B";
+}
+
+#user-provide-bridge-textarea.invalid-input {
+ border-color: var(--in-content-danger-button-background);
+ outline-color: var(--in-content-danger-button-background);
+}
+
+#user-provide-bridge-error-message {
+ color: var(--in-content-error-text-color);
+}
+
+#user-provide-bridge-error-message.not(.show-error) {
+ display: none;
+}
+
+#user-provide-bridge-result-page {
+ flex: 1 1 0;
+ min-height: 0;
+ display: flex;
+ flex-direction: column;
+}
+
+#user-provide-result-description {
+ flex: 0 0 auto;
+}
+
+#user-provide-bridge-grid-display {
+ flex: 0 1 auto;
+ overflow: auto;
+ margin-block: 8px;
}
/* Connection settings dialog */
=====================================
browser/components/torpreferences/jar.mn
=====================================
@@ -22,6 +22,7 @@ browser.jar:
content/browser/torpreferences/connectionPane.xhtml (content/connectionPane.xhtml)
content/browser/torpreferences/torPreferences.css (content/torPreferences.css)
content/browser/torpreferences/bridge-qr-onion-mask.svg (content/bridge-qr-onion-mask.svg)
+ content/browser/torpreferences/bridgemoji/BridgeEmoji.js (content/bridgemoji/BridgeEmoji.js)
content/browser/torpreferences/bridgemoji/bridge-emojis.json (content/bridgemoji/bridge-emojis.json)
content/browser/torpreferences/bridgemoji/annotations.json (content/bridgemoji/annotations.json)
content/browser/torpreferences/bridgemoji/svgs/ (content/bridgemoji/svgs/*.svg)
=====================================
browser/locales/en-US/browser/tor-browser.ftl
=====================================
@@ -176,3 +176,19 @@ user-provide-bridge-dialog-add-title =
# Used when the user is replacing their existing bridges with new ones.
user-provide-bridge-dialog-replace-title =
.title = Replace your bridges
+# Description shown when adding new bridges, replacing existing bridges, or editing existing bridges.
+user-provide-bridge-dialog-description = Use bridges provided by a trusted organisation or someone you know.
+# "Learn more" link shown in the "Add new bridges"/"Replace your bridges" dialog.
+user-provide-bridge-dialog-learn-more = Learn more
+# Short accessible name for the bridge addresses text area.
+user-provide-bridge-dialog-textarea-addresses-label = Bridge addresses
+# Placeholder shown when adding new bridge addresses.
+user-provide-bridge-dialog-textarea-addresses =
+ .placeholder = Paste your bridge addresses here
+# Error shown when one of the address lines is invalid.
+# $line (Number) - The line number for the invalid address.
+user-provide-bridge-dialog-address-error = Incorrectly formatted bridge address on line { $line }.
+
+user-provide-bridge-dialog-result-addresses = The following bridges were entered by you.
+user-provide-bridge-dialog-next-button =
+ .label = Next
=====================================
toolkit/modules/TorSettings.sys.mjs
=====================================
@@ -9,6 +9,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
TorProviderBuilder: "resource://gre/modules/TorProviderBuilder.sys.mjs",
TorProviderTopics: "resource://gre/modules/TorProviderBuilder.sys.mjs",
Lox: "resource://gre/modules/Lox.sys.mjs",
+ TorParsers: "resource://gre/modules/TorParsers.sys.mjs",
});
ChromeUtils.defineLazyGetter(lazy, "logger", () => {
@@ -103,26 +104,61 @@ export const TorProxyType = Object.freeze({
* Split a blob of bridge lines into an array with single lines.
* Lines are delimited by \r\n or \n and each bridge string can also optionally
* have 'bridge' at the beginning.
- * We split the text by \r\n, we trim the lines, remove the bridge prefix and
- * filter out any remaiing empty item.
+ * We split the text by \r\n, we trim the lines, remove the bridge prefix.
*
- * @param {string} aBridgeStrings The text with the lines
+ * @param {string} bridgeLines The text with the lines
* @returns {string[]} An array where each bridge line is an item
*/
-function parseBridgeStrings(aBridgeStrings) {
- // replace carriage returns ('\r') with new lines ('\n')
- aBridgeStrings = aBridgeStrings.replace(/\r/g, "\n");
- // then replace contiguous new lines ('\n') with a single one
- aBridgeStrings = aBridgeStrings.replace(/[\n]+/g, "\n");
-
+function splitBridgeLines(bridgeLines) {
// Split on the newline and for each bridge string: trim, remove starting
// 'bridge' string.
- // Finally, discard entries that are empty strings; empty strings could occur
- // if we receive a new line containing only whitespace.
- const splitStrings = aBridgeStrings.split("\n");
- return splitStrings
- .map(val => val.trim().replace(/^bridge\s+/i, ""))
- .filter(bridgeString => bridgeString !== "");
+ // Replace whitespace with standard " ".
+ // NOTE: We only remove the bridge string part if it is followed by a
+ // non-whitespace.
+ return bridgeLines.split(/\r?\n/).map(val =>
+ val
+ .trim()
+ .replace(/^bridge\s+(\S)/i, "$1")
+ .replace(/\s+/, " ")
+ );
+}
+
+/**
+ * @typedef {Object} BridgeValidationResult
+ *
+ * @property {integer[]} errorLines - The lines that contain errors. Counting
+ * from 1.
+ * @property {boolean} empty - Whether the given string contains no bridges.
+ * @property {string[]} validBridges - The valid bridge lines found.
+ */
+/**
+ * Validate the given bridge lines.
+ *
+ * @param {string} bridgeLines - The bridge lines to validate, separated by
+ * newlines.
+ *
+ * @returns {BridgeValidationResult}
+ */
+export function validateBridgeLines(bridgeLines) {
+ let empty = true;
+ const errorLines = [];
+ const validBridges = [];
+ for (const [index, bridge] of splitBridgeLines(bridgeLines).entries()) {
+ if (!bridge) {
+ // Empty line.
+ continue;
+ }
+ empty = false;
+ try {
+ // TODO: Have a more comprehensive validation parser.
+ lazy.TorParsers.parseBridgeLine(bridge);
+ } catch {
+ errorLines.push(index + 1);
+ continue;
+ }
+ validBridges.push(bridge);
+ }
+ return { empty, errorLines, validBridges };
}
/**
@@ -269,7 +305,8 @@ class TorSettingsImpl {
if (Array.isArray(val)) {
return [...val];
}
- return parseBridgeStrings(val);
+ // Split the bridge strings, discarding empty.
+ return splitBridgeLines(val).filter(val => val);
},
copy: val => [...val],
equal: (val1, val2) => this.#arrayEqual(val1, val2),
=====================================
toolkit/modules/TorStrings.sys.mjs
=====================================
@@ -139,10 +139,6 @@ const Loader = {
solveTheCaptcha: "Solve the CAPTCHA to request a bridge.",
captchaTextboxPlaceholder: "Enter the characters from the image",
incorrectCaptcha: "The solution is not correct. Please try again.",
- // Provide bridge dialog
- provideBridgeDescription:
- "Add a bridge provided by a trusted organization or someone you know. If you don’t have a bridge, you can request one from the Tor Project. %S",
- provideBridgePlaceholder: "type address:port (one per line)",
// Connection settings dialog
connectionSettingsDialogTitle: "Connection Settings",
connectionSettingsDialogHeader:
=====================================
toolkit/torbutton/chrome/locale/en-US/settings.properties
=====================================
@@ -75,10 +75,6 @@ settings.solveTheCaptcha=Solve the CAPTCHA to request a bridge.
settings.captchaTextboxPlaceholder=Enter the characters from the image
settings.incorrectCaptcha=The solution is not correct. Please try again.
-# Translation note: %S is a Learn more link.
-settings.provideBridgeDescription=Add a bridge provided by a trusted organization or someone you know. If you don’t have a bridge, you can request one from the Tor Project. %S
-settings.provideBridgePlaceholder=type address:port (one per line)
-
# Connection settings dialog
settings.connectionSettingsDialogTitle=Connection Settings
settings.connectionSettingsDialogHeader=Configure how Tor Browser connects to the Internet
@@ -126,3 +122,6 @@ settings.bridgeAddManually=Add a Bridge Manually…
# Provide bridge dialog
settings.provideBridgeTitleAdd=Add a Bridge Manually
+# Translation note: %S is a Learn more link.
+settings.provideBridgeDescription=Add a bridge provided by a trusted organization or someone you know. If you don’t have a bridge, you can request one from the Tor Project. %S
+settings.provideBridgePlaceholder=type address:port (one per line)
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/366c81…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/366c81…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build] Pushed new tag mb-13.5a4-build1
by richard (@richard) 29 Jan '24
by richard (@richard) 29 Jan '24
29 Jan '24
richard pushed new tag mb-13.5a4-build1 at The Tor Project / Applications / tor-browser-build
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/tree/mb-…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser] Pushed new tag mullvad-browser-115.7.0esr-13.5-1-build2
by richard (@richard) 29 Jan '24
by richard (@richard) 29 Jan '24
29 Jan '24
richard pushed new tag mullvad-browser-115.7.0esr-13.5-1-build2 at The Tor Project / Applications / Mullvad Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/tree/mullv…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Bug 41051, 41052: Tor, Mullvad Browser 13.5a4 Release Prep
by richard (@richard) 29 Jan '24
by richard (@richard) 29 Jan '24
29 Jan '24
richard pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
ecb3b0bf by Richard Pospesel at 2024-01-29T17:40:35+00:00
Bug 41051,41052: Tor,Mullvad Browser 13.5a4 Release Prep
- - - - -
12 changed files:
- projects/browser/Bundle-Data/Docs-MB/ChangeLog.txt
- projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt
- projects/browser/allowed_addons.json
- projects/browser/config
- projects/firefox-android/config
- projects/firefox/config
- projects/geckoview/config
- projects/go/config
- projects/manual/config
- projects/translation/config
- projects/zlib/config
- rbm.conf
Changes:
=====================================
projects/browser/Bundle-Data/Docs-MB/ChangeLog.txt
=====================================
@@ -1,3 +1,47 @@
+Mullvad Browser 13.5a4 - January 29 2024
+ * All Platforms
+ * Updated Firefox to 115.7.0esr
+ * Updated uBlock Origin to 1.55.0
+ * Bug 261: Rebase Mullvad Browser Alpha onto Firefox 115.7.0esr [mullvad-browser]
+ * Bug 41917: Make the appearance of letterboxing look more intentional [tor-browser]
+ * Bug 42374: spoof english leaks via numberingSystem: numbers (non-latn) or decimal separator (latn) [tor-browser]
+ * Build System
+ * All Platforms
+ * Bug 42337: Enable GeckoDriver for all desktop platforms [tor-browser]
+ * Bug 41037: Set time on signing machine before starting signing [tor-browser-build]
+ * Bug 41045: Dump more information about build times on Firefox [tor-browser-build]
+ * Bug 41056: Make it possible to use templates in var/torbrowser_incremental_from [tor-browser-build]
+ * Bug 41057: make fetch is not fetching mullvad repo [tor-browser-build]
+ * Bug 41059: Update keyring/torbrowser.gpg with updated key [tor-browser-build]
+ * Windows
+ * Bug 40606: Use Clang to compile NSIS [tor-browser-build]
+ * Bug 40900: Update NSIS to 3.09 [tor-browser-build]
+ * Bug 41065: Do a cleanup of the NSIS script [tor-browser-build]
+ * Linux
+ * Bug 41046: Use the final path for Linux debug symbols [tor-browser-build]
+
+Mullvad Browser 13.0.9 - January 23 2024
+ * All Platforms
+ * Updated Firefox to 115.7.0esr
+ * Updated uBlock Origin to 1.55.0
+ * Bug 249: BrowserHost has null mRoot when applying initial window size in debug [mullvad-browser]
+ * Bug 260: Rebase Mullvad Browser Stable onto Firefox 115.7.0esr [mullvad-browser]
+ * Bug 42189: Assertion failure: the value of mPrivateBrowsingId in the loadContext and in the loadInfo are not the same! [tor-browser]
+ * Bug 41044: Add tbb_version.json-like file for Mullvad Browser [tor-browser-build]
+ * Linux
+ * Bug 41050: Improve the disk leak sanitization on start-$browser [tor-browser-build]
+ * Build System
+ * All Platforms
+ * Bug 41042: Add options to include updates in the changelog scripts [tor-browser-build]
+ * Bug 41043: Create script to push build requests to Mullvad build servers [tor-browser-build]
+ * Bug 41056: Make it possible to use templates in var/torbrowser_incremental_from [tor-browser-build]
+ * Bug 41059: Update keyring/torbrowser.gpg with updated key [tor-browser-build]
+ * Bug 40067: Use --no-verbose wget option when not running in a terminal [rbm]
+ * Windows + macOS
+ * Bug 41016: Switch from bullseye to bookworm for desktop platforms [tor-browser-build]
+ * Windows
+ * Bug 41015: Enable std::filesystem on libc++ on Windows [tor-browser-build]
+
Mullvad Browser 13.5a3 - December 20 2023
* All Platforms
* Updated Firefox to 115.6.0esr
=====================================
projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt
=====================================
@@ -1,3 +1,77 @@
+Tor Browser 13.5a4 - January 29 2024
+ * All Platforms
+ * Updated zlib to 1.3.1
+ * Updated Snowflake to 2.8.1
+ * Bug 42343: Consume pt_config.json in the browser [tor-browser]
+ * Bug 42348: TorSettings.defaultSettings() removed but still referenced by Moat.sys.mjs [tor-browser]
+ * Bug 42354: Refactor exclusions in ShouldSanitizePreference() to the pref list. [tor-browser]
+ * Bug 42358: Separate the domain fronted requests from Moat [tor-browser]
+ * Bug 42359: Handle firewall and proxy in TorSettings.setSettings [tor-browser]
+ * Bug 42363: Tab thumbnails enhancements [tor-browser]
+ * Bug 42366: Rebase Tor Browser Alpha onto Firefox 115.7.0esr [tor-browser]
+ * Bug 42369: Revert YEC 2023 changes [tor-browser]
+ * Bug 42374: spoof english leaks via numberingSystem: numbers (non-latn) or decimal separator (latn) [tor-browser]
+ * Bug 42384: Regression: quickstart doesn't work anymore [tor-browser]
+ * Bug 41058: Update Snowflake to 2.8.1 [tor-browser-build]
+ * Windows + macOS + Linux
+ * Updated Firefox to 115.7.0esr
+ * Bug 41917: Make the appearance of letterboxing look more intentional [tor-browser]
+ * Bug 42338: Changing circuit programmatically in Tor Browser not working anymore! [tor-browser]
+ * Android
+ * Updated GeckoView to 115.7.0esr
+ * Bug 42252: Plumb down TorConnect commands from firefox-android to GeckoView [tor-browser]
+ * Bug 42346: Crash in firefox-android originating in backported FullScreenNotificationDialog patch [tor-browser]
+ * Bug 42353: Fix Android NoScript automatic updates [tor-browser]
+ * Bug 42355: Fullscreen on Android doesn't hide system bars [tor-browser]
+ * Bug 42367: Backport Android security fixes from Firefox 122 [tor-browser]
+ * Bug 42368: Tor Browser 13.5a3 crashes during start-up because of API26+ methods [tor-browser]
+ * Linux
+ * Bug 42293: Updater is disabled when tor-browser is run by torbrowser-launcher flatpak [tor-browser]
+ * Build System
+ * All Platforms
+ * Updated Go to 1.20.13 and 1.21.6
+ * Bug 41037: Set time on signing machine before starting signing [tor-browser-build]
+ * Bug 41059: Update keyring/torbrowser.gpg with updated key [tor-browser-build]
+ * Bug 41063: Run "file $keyring" in tools/keyring/list-all-keyrings [tor-browser-build]
+ * Bug 40067: Use --no-verbose wget option when not running in a terminal [rbm]
+ * Windows
+ * Bug 40606: Use Clang to compile NSIS [tor-browser-build]
+ * Bug 40900: Update NSIS to 3.09 [tor-browser-build]
+ * Bug 41065: Do a cleanup of the NSIS script [tor-browser-build]
+
+Tor Browser 13.0.9 - January 23 2024
+ * All Platforms
+ * Updated Snowflake to 2.8.1
+ * Bug 42363: Tab thumbnails enhancements [tor-browser]
+ * Bug 42365: Rebase Tor Browser Stable onto Firefox 115.7.0esr [tor-browser]
+ * Bug 42367: Backport Android security fixes from Firefox 122 [tor-browser]
+ * Bug 42369: Revert YEC 2023 changes [tor-browser]
+ * Bug 41058: Update Snowflake to 2.8.1 [tor-browser-build]
+ * Windows + macOS + Linux
+ * Updated Firefox to 115.7.0esr
+ * Bug 42099: Blind cross-origin requests to .tor.onion domains [tor-browser]
+ * Bug 42189: Assertion failure: the value of mPrivateBrowsingId in the loadContext and in the loadInfo are not the same! [tor-browser]
+ * Android
+ * Updated GeckoView to 115.7.0esr
+ * Bug 42313: Enable One UI Sans KR as a possible font for Korean (MozBug 1865238) [tor-browser]
+ * Bug 42324: Onion Location on Android is ignored [tor-browser]
+ * Bug 42346: Crash in firefox-android originating in backported FullScreenNotificationDialog patch [tor-browser]
+ * Bug 42353: Fix Android NoScript automatic updates [tor-browser]
+ * Bug 42355: Fullscreen on Android doesn't hide system bars [tor-browser]
+ * Build System
+ * All Platforms
+ * Updated Go to 1.20.13 and 1.21.6
+ * Bug 41059: Update keyring/torbrowser.gpg with updated key [tor-browser-build]
+ * Bug 41063: Run "file $keyring" in tools/keyring/list-all-keyrings [tor-browser-build]
+ * Windows + macOS + Linux
+ * Bug 41056: Make it possible to use templates in var/torbrowser_incremental_from [tor-browser-build]
+ * Windows + macOS
+ * Bug 41016: Switch from bullseye to bookworm for desktop platforms [tor-browser-build]
+ * Windows
+ * Bug 41015: Enable std::filesystem on libc++ on Windows [tor-browser-build]
+ * Android
+ * Bug 41066: The Android x86 APK for 13.0.9 is too big [tor-browser-build]
+
Tor Browser 13.5a3 - December 22 2023
* All Platforms
* Updated Tor to 0.4.8.10
=====================================
projects/browser/allowed_addons.json
=====================================
@@ -17,7 +17,7 @@
"picture_url": "https://addons.mozilla.org/user-media/userpics/34/9734/13299734/13299734.pn…"
}
],
- "average_daily_users": 1113519,
+ "average_daily_users": 1149777,
"categories": {
"firefox": [
"web-development",
@@ -28,7 +28,7 @@
"contributions_url": "https://opencollective.com/darkreader?utm_content=product-page-contribute&u…",
"created": "2017-09-19T07:03:00Z",
"current_version": {
- "id": 5661222,
+ "id": 5678786,
"compatibility": {
"firefox": {
"min": "54.0",
@@ -39,7 +39,7 @@
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/darkreader/versions/56612…",
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/darkreader/versions/56787…",
"is_strict_compatibility_enabled": false,
"license": {
"id": 22,
@@ -50,22 +50,22 @@
"url": "http://www.opensource.org/license/mit"
},
"release_notes": {
- "en-US": "- Improved subdomain handling in Site List.\n- Improved dark theme detection.\n- Fixed page crashes (Slack issue).\n- Fixed Site List migration.\n- Reduced image analysis memory usage.\n- Users' fixes for websites."
+ "en-US": "- Improved dark theme detection.\n- Dynamic mode bug fixes.\n- Users' fixes for websites."
},
- "reviewed": "2023-12-08T12:55:44Z",
- "version": "4.9.73",
+ "reviewed": "2024-01-22T11:18:14Z",
+ "version": "4.9.76",
"files": [
{
- "id": 4205543,
- "created": "2023-12-06T15:41:16Z",
- "hash": "sha256:7c399ff32561886bb80dad0cafaf8f629792b0b71ff1efcf12667e05a2b38f1a",
+ "id": 4223104,
+ "created": "2024-01-17T14:17:21Z",
+ "hash": "sha256:d3afe139928c3c30bd11347c08a3360fa3417be4667c47f3de19fdc0ab92da9f",
"is_restart_required": false,
"is_webextension": true,
"is_mozilla_signed_extension": false,
"platform": "all",
- "size": 682962,
+ "size": 723386,
"status": "public",
- "url": "https://addons.mozilla.org/firefox/downloads/file/4205543/darkreader-4.9.73…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/4223104/darkreader-4.9.76…",
"permissions": [
"alarms",
"contextMenus",
@@ -143,7 +143,7 @@
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2023-12-08T12:55:44Z",
+ "last_updated": "2024-01-22T11:18:14Z",
"name": {
"ar": "Dark Reader",
"bn": "Dark Reader",
@@ -218,10 +218,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.5518,
- "bayesian_average": 4.550675591135547,
- "count": 5306,
- "text_count": 1668
+ "average": 4.5479,
+ "bayesian_average": 4.546785102314431,
+ "count": 5377,
+ "text_count": 1689
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/darkreader/reviews/",
"requires_payment": false,
@@ -318,7 +318,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/darkreader/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/darkreader/versions/",
- "weekly_downloads": 39727
+ "weekly_downloads": 25711
},
"notes": null
},
@@ -334,7 +334,7 @@
"picture_url": "https://addons.mozilla.org/user-media/userpics/56/7656/6937656/6937656.png?…"
}
],
- "average_daily_users": 263643,
+ "average_daily_users": 267473,
"categories": {
"firefox": [
"privacy-security"
@@ -547,10 +547,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.8027,
- "bayesian_average": 4.798106734548776,
- "count": 1384,
- "text_count": 245
+ "average": 4.8014,
+ "bayesian_average": 4.796833851849327,
+ "count": 1400,
+ "text_count": 250
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/reviews/",
"requires_payment": false,
@@ -635,7 +635,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/versions/",
- "weekly_downloads": 3543
+ "weekly_downloads": 3594
},
"notes": null
},
@@ -651,7 +651,7 @@
"picture_url": "https://addons.mozilla.org/user-media/userpics/73/4073/5474073/5474073.png?…"
}
],
- "average_daily_users": 1198252,
+ "average_daily_users": 1220177,
"categories": {
"firefox": [
"privacy-security"
@@ -1170,10 +1170,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.7991,
- "bayesian_average": 4.796396010098387,
- "count": 2350,
- "text_count": 445
+ "average": 4.796,
+ "bayesian_average": 4.793312997020196,
+ "count": 2377,
+ "text_count": 449
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-badger17/reviews/",
"requires_payment": false,
@@ -1197,7 +1197,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-badger17/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-badger17/versions/",
- "weekly_downloads": 22327
+ "weekly_downloads": 25171
},
"notes": null
},
@@ -1213,7 +1213,7 @@
"picture_url": null
}
],
- "average_daily_users": 7397430,
+ "average_daily_users": 7634996,
"categories": {
"firefox": [
"privacy-security"
@@ -1222,7 +1222,7 @@
"contributions_url": "",
"created": "2015-04-25T07:26:22Z",
"current_version": {
- "id": 5654508,
+ "id": 5672315,
"compatibility": {
"firefox": {
"min": "78.0",
@@ -1233,7 +1233,7 @@
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/ublock-origin/versions/56…",
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/ublock-origin/versions/56…",
"is_strict_compatibility_enabled": false,
"license": {
"id": 6,
@@ -1244,23 +1244,24 @@
"url": "http://www.gnu.org/licenses/gpl-3.0.html"
},
"release_notes": {
- "en-US": "See complete release notes for <a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/4c736806dc9702f9496c1c…" rel=\"nofollow\">1.54.0</a>.\n\n<b>Fixes / changes</b>\n\n<ul><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/30ee045a42c04a557ec92d…" rel=\"nofollow\">Enable path for native <code>has()</code> selector in Firefox</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/26aaa3263afd1e6e450a7f…" rel=\"nofollow\">Allow scriptlets to be injected in <code>about:blank</code></a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/5967388a2432967ee63e77…" rel=\"nofollow\">Fix faulty <code>as</code> vararg in <code>set-constant</code> scriptlet</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/b9a3ce2fd67895cc3fd06f…" rel=\"nofollow\">Add support to redirect to <code>noop.json</code></a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/1a7fcce826cb83449490e3…" rel=\"nofollow\">More improvements to the <code>google-ima</code> shim script</a> (by @kzar)</li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/56d921f7e251fb313a4be0…" rel=\"nofollow\">All exceptions filters are exempt from requiring a trusted source</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/b3b9c520dd7fef26a4f129…" rel=\"nofollow\">Add <code>trusted-set-session-storage-item</code> scriptlet</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/5f347a4a217555ac7ff920…" rel=\"nofollow\">Allow the use of quotes in <code>set-cookie</code> scriptlet </a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/fe9490248b43262e2613b2…" rel=\"nofollow\">Allow the use of quotes in <code>set-(local|session)-storage-item</code></a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/92d58a934e2392a346a587…" rel=\"nofollow\">Add ability to trigger cookie removal on specific events</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/23e952e408915752c90dc3…" rel=\"nofollow\">Ensure CSSTree does not hold a reference onto last parsed string</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/302676f334820cdfe567f7…" rel=\"nofollow\">Lower minimum Expires value to 4h</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/03ac48dee7ecbf33ac2dd4…" rel=\"nofollow\">Properly reset needle length in unserialized buffer</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/d4babab0e0c4b624992f8f…" rel=\"nofollow\">Add additional flags to regional lists</a> (by @DandelionSprout)</li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/a09bd04e017892dd0b0d12…" rel=\"nofollow\">Harden scriptlets which need to serialize function code into string</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/1a5be5c8aa0baa49879f92…" rel=\"nofollow\">Reset <code>g</code> regexes before use in <code>rmnt</code>/<code>rpnt</code> scriptlets</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/f2e3dd373c3a474ca27bad…" rel=\"nofollow\">Apply response filtering according to mime type</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/12cfcbade6a208e02352fd…" rel=\"nofollow\">Add t/f to set-cookie</a> (by @ryanbr)</li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/7856310df6fe39bff4e1b0…" rel=\"nofollow\">Have <code>urltransform=</code> use the same syntax as <code>replace=</code></a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/520b2f8c295d638b0c72f5…" rel=\"nofollow\">Implement network filter option <code>replace=</code></a></li><li>...</li></ul>\n<a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/3f4f5634b3bdd26c8e335f…" rel=\"nofollow\">Commits history since last version</a>"
+ "en-US": "See complete release notes for <a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/514b85ddd154153a63fe9c…" rel=\"nofollow\">1.55.0</a>.\n\n<b>Fixes / changes</b>\n\n<ul><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/1e03af965f6b7a76aa94f6…" rel=\"nofollow\">Mind drop events in filter expression field of logger</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/e018352ca30c61b4a80c2a…" rel=\"nofollow\">Improve <code>xml-prune</code> scriptlet</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/ec6b213ac8c38077b676e1…" rel=\"nofollow\">Fix message entries overflowing in logger</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/a6311ada7aec5e36a802c2…" rel=\"nofollow\">Add support for <code>application/x-javascript</code> in <code>replace=</code> option</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/8b0f4ac6d1a68a10f0736a…" rel=\"nofollow\">Extend support for differential updates to imported lists</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/5e2218ad38a67bad16b5a2…" rel=\"nofollow\">Add detection of mismatched <code>!#if</code>-<code>!#endif</code> in linter</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/d3d5708132bbca2b9b3232…" rel=\"nofollow\">Support links to update lists which are differential update-friendly</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/5da8dae3bfc5fd15895013…" rel=\"nofollow\">Remove \"Purge all caches\" button from \"Filter lists\" pane</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/f9bd0d08194525f2457cf5…" rel=\"nofollow\">Add support for <code>all</code> list token in updater-link feature</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/f266c7ca3a6228a20999be…" rel=\"nofollow\">Fix logging of broad exception filter <code>#@#+js()</code></a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/444dcf1f11a8dacef0553e…" rel=\"nofollow\">Improve <code>no-xhr-if</code> scriptlet</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/5f699ca11537ba17c330a8…" rel=\"nofollow\">Ensure cache storage backend is selected before access</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/983fbc3b50419c274040d9…" rel=\"nofollow\">Fix popup panel rendering when embedded in logger</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/2f972ff52f4edc3dc99084…" rel=\"nofollow\">Add visual hint in support information re. differential update</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/75541b4012443bd5602cc0…" rel=\"nofollow\">Remove obsolete web accessible resources</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/8eb76fbc2577032e63698e…" rel=\"nofollow\">Rename <code>urltransform</code> to <code>uritransform</code></a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/43e266ca8d07228388c2a6…" rel=\"nofollow\">Vertically expand/collapse in steps in dom inspector</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/d1f0669c5cf9357a9528d8…" rel=\"nofollow\">Reset the DOM inspector when URL in top context changes</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/d2f70a310ccc2ce2b2c97c…" rel=\"nofollow\">Support shadow-piercing combinator <code>>>></code> in <code>trusted-click-element</code></a></li><li>[...]</li></ul>\n<a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/7d13ab8046ad75d1230ea5…" rel=\"nofollow\">Commits history since last version</a>"
},
- "reviewed": "2023-11-27T08:08:01Z",
- "version": "1.54.0",
+ "reviewed": "2024-01-08T10:26:54Z",
+ "version": "1.55.0",
"files": [
{
- "id": 4198829,
- "created": "2023-11-22T16:24:35Z",
- "hash": "sha256:9797160908191710ff0858536ba6dc29ecad9923c30b2ad6d3e5e371d759e44d",
+ "id": 4216633,
+ "created": "2024-01-03T20:24:50Z",
+ "hash": "sha256:a02ca1d32737c3437f97553e5caaead6479a66ac1f8ff3b84a06cfa6bb0c7647",
"is_restart_required": false,
"is_webextension": true,
"is_mozilla_signed_extension": false,
"platform": "all",
- "size": 3630690,
+ "size": 3647341,
"status": "public",
- "url": "https://addons.mozilla.org/firefox/downloads/file/4198829/ublock_origin-1.5…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/4216633/ublock_origin-1.5…",
"permissions": [
+ "alarms",
"dns",
"menus",
"privacy",
@@ -1378,7 +1379,7 @@
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2023-12-18T15:55:24Z",
+ "last_updated": "2024-01-21T19:40:21Z",
"name": {
"ar": "uBlock Origin",
"bg": "uBlock Origin",
@@ -1523,10 +1524,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.7863,
- "bayesian_average": 4.785924647292365,
- "count": 16885,
- "text_count": 4402
+ "average": 4.7869,
+ "bayesian_average": 4.786526880140991,
+ "count": 17099,
+ "text_count": 4466
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/reviews/",
"requires_payment": false,
@@ -1589,7 +1590,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/versions/",
- "weekly_downloads": 181326
+ "weekly_downloads": 191212
},
"notes": null
},
@@ -1605,7 +1606,7 @@
"picture_url": null
}
],
- "average_daily_users": 174830,
+ "average_daily_users": 177037,
"categories": {
"firefox": [
"photos-music-videos",
@@ -1701,10 +1702,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.4823,
- "bayesian_average": 4.47726114447234,
- "count": 1161,
- "text_count": 436
+ "average": 4.4783,
+ "bayesian_average": 4.473306026343802,
+ "count": 1177,
+ "text_count": 445
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/video-background-play-fix/re…",
"requires_payment": false,
@@ -1726,7 +1727,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/video-background-play-fix/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/video-background-play-fix/ve…",
- "weekly_downloads": 379
+ "weekly_downloads": 433
},
"notes": null
},
@@ -1742,7 +1743,7 @@
"picture_url": null
}
],
- "average_daily_users": 85074,
+ "average_daily_users": 81898,
"categories": {
"firefox": [
"privacy-security",
@@ -1852,10 +1853,10 @@
],
"promoted": null,
"ratings": {
- "average": 4.3766,
- "bayesian_average": 4.362648333186986,
- "count": 401,
- "text_count": 112
+ "average": 4.3802,
+ "bayesian_average": 4.366169675126323,
+ "count": 405,
+ "text_count": 113
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-possum/reviews/",
"requires_payment": false,
@@ -1877,7 +1878,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-possum/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-possum/versions/",
- "weekly_downloads": 965
+ "weekly_downloads": 1389
},
"notes": null
},
@@ -1893,7 +1894,7 @@
"picture_url": "https://addons.mozilla.org/user-media/userpics/64/9064/12929064/12929064.pn…"
}
],
- "average_daily_users": 288929,
+ "average_daily_users": 299174,
"categories": {
"firefox": [
"search-tools",
@@ -1904,7 +1905,7 @@
"contributions_url": "https://www.paypal.com/donate?hosted_button_id=GLL4UNSNU6SQN&utm_content=pr…",
"created": "2017-06-17T15:23:33Z",
"current_version": {
- "id": 5645237,
+ "id": 5665608,
"compatibility": {
"firefox": {
"min": "115.0",
@@ -1915,7 +1916,7 @@
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/search_by_image/versions/…",
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/search_by_image/versions/…",
"is_strict_compatibility_enabled": false,
"license": {
"id": 6,
@@ -1928,20 +1929,20 @@
"release_notes": {
"en-US": "Learn more about this release from the <a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/d50855f24f77fa6f2614b9…" rel=\"nofollow\">changelog</a>."
},
- "reviewed": "2023-11-07T07:33:21Z",
- "version": "6.1.0",
+ "reviewed": "2023-12-19T14:03:13Z",
+ "version": "6.1.1",
"files": [
{
- "id": 4189577,
- "created": "2023-11-02T18:15:34Z",
- "hash": "sha256:1de51c7522b8bf3aca5c2bc4fbd94f5fb092d4418ea8fe4583c8dff2b71b4209",
+ "id": 4209928,
+ "created": "2023-12-17T01:28:51Z",
+ "hash": "sha256:254d78084e332190a2b6ccb1959a42257bdc287addc0685419fcde7df1a52e76",
"is_restart_required": false,
"is_webextension": true,
"is_mozilla_signed_extension": false,
"platform": "all",
- "size": 1156452,
+ "size": 1165289,
"status": "public",
- "url": "https://addons.mozilla.org/firefox/downloads/file/4189577/search_by_image-6…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/4209928/search_by_image-6…",
"permissions": [
"alarms",
"contextMenus",
@@ -1984,7 +1985,7 @@
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2023-11-07T07:33:21Z",
+ "last_updated": "2023-12-19T14:03:13Z",
"name": {
"en-US": "Search by Image"
},
@@ -2110,10 +2111,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.651,
- "bayesian_average": 4.646505118537081,
- "count": 1361,
- "text_count": 264
+ "average": 4.6458,
+ "bayesian_average": 4.641373152099238,
+ "count": 1389,
+ "text_count": 269
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/search_by_image/reviews/",
"requires_payment": false,
@@ -2134,7 +2135,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/search_by_image/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/search_by_image/versions/",
- "weekly_downloads": 6399
+ "weekly_downloads": 6874
},
"notes": null
},
@@ -2157,7 +2158,7 @@
"picture_url": null
}
],
- "average_daily_users": 118743,
+ "average_daily_users": 123628,
"categories": {
"firefox": [
"search-tools",
@@ -2438,10 +2439,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.3703,
- "bayesian_average": 4.365894611018555,
- "count": 1288,
- "text_count": 364
+ "average": 4.3745,
+ "bayesian_average": 4.37014166071391,
+ "count": 1311,
+ "text_count": 371
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/google-search-fixer/reviews/",
"requires_payment": false,
@@ -2461,7 +2462,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/google-search-fixer/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/google-search-fixer/versions/",
- "weekly_downloads": 83
+ "weekly_downloads": 52
},
"notes": null
},
@@ -2477,7 +2478,7 @@
"picture_url": "https://addons.mozilla.org/user-media/userpics/43/0143/143/143.png?modified…"
}
],
- "average_daily_users": 313134,
+ "average_daily_users": 313064,
"categories": {
"firefox": [
"web-development",
@@ -2664,10 +2665,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.3967,
- "bayesian_average": 4.394045030071559,
- "count": 2153,
- "text_count": 831
+ "average": 4.3947,
+ "bayesian_average": 4.3920505434632835,
+ "count": 2171,
+ "text_count": 837
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/noscript/reviews/",
"requires_payment": false,
@@ -2711,7 +2712,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/noscript/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/noscript/versions/",
- "weekly_downloads": 7965
+ "weekly_downloads": 7762
},
"notes": null
},
@@ -2727,7 +2728,7 @@
"picture_url": null
}
],
- "average_daily_users": 158407,
+ "average_daily_users": 162394,
"categories": {
"firefox": [
"photos-music-videos",
@@ -2836,10 +2837,10 @@
"category": "recommended"
},
"ratings": {
- "average": 3.8702,
- "bayesian_average": 3.8661363785150384,
- "count": 1202,
- "text_count": 435
+ "average": 3.8734,
+ "bayesian_average": 3.869354081107614,
+ "count": 1216,
+ "text_count": 441
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/youtube-high-definition/revi…",
"requires_payment": false,
@@ -2858,7 +2859,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/youtube-high-definition/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/youtube-high-definition/vers…",
- "weekly_downloads": 1957
+ "weekly_downloads": 3206
},
"notes": null
}
=====================================
projects/browser/config
=====================================
@@ -99,9 +99,9 @@ input_files:
- URL: https://addons.mozilla.org/firefox/downloads/file/4206186/noscript-11.4.29.…
name: noscript
sha256sum: 05b98840b05ef2acbac333543e4b7c3d40fee2ce5fb4e29260b05e2ff6fe24cd
- - URL: https://addons.mozilla.org/firefox/downloads/file/4198829/ublock_origin-1.5…
+ - URL: https://addons.mozilla.org/firefox/downloads/file/4216633/ublock_origin-1.5…
name: ublock-origin
- sha256sum: 9797160908191710ff0858536ba6dc29ecad9923c30b2ad6d3e5e371d759e44d
+ sha256sum: a02ca1d32737c3437f97553e5caaead6479a66ac1f8ff3b84a06cfa6bb0c7647
enable: '[% c("var/mullvad-browser") %]'
- URL: https://cdn.mullvad.net/browser-extension/0.8.4/mullvad-browser-extension-0…
name: mullvad-extension
=====================================
projects/firefox-android/config
=====================================
@@ -16,7 +16,7 @@ container:
var:
fenix_version: 115.2.1
browser_branch: 13.5-1
- browser_build: 4
+ browser_build: 5
variant: Beta
# This should be updated when the list of gradle dependencies is changed.
gradle_dependencies_version: 1
=====================================
projects/firefox/config
=====================================
@@ -18,7 +18,7 @@ var:
firefox_version: '[% c("var/firefox_platform_version") %]esr'
browser_series: '13.5'
browser_branch: '[% c("var/browser_series") %]-1'
- browser_build: 1
+ browser_build: 2
branding_directory_prefix: 'tb'
copyright_year: '[% exec("git show -s --format=%ci").remove("-.*") %]'
nightly_updates_publish_dir: '[% c("var/nightly_updates_publish_dir_prefix") %]nightly-[% c("var/osname") %]'
=====================================
projects/geckoview/config
=====================================
@@ -16,7 +16,7 @@ container:
var:
geckoview_version: 115.7.0esr
browser_branch: 13.5-1
- browser_build: 1
+ browser_build: 2
copyright_year: '[% exec("git show -s --format=%ci").remove("-.*") %]'
gitlab_project: https://gitlab.torproject.org/tpo/applications/tor-browser
git_commit: '[% exec("git rev-parse HEAD") %]'
=====================================
projects/go/config
=====================================
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: '[% IF c("var/use_go_1_20") %]1.20.12[% ELSE %]1.21.5[% END %]'
+version: '[% IF c("var/use_go_1_20") %]1.20.13[% ELSE %]1.21.6[% END %]'
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
container:
use_container: 1
@@ -121,11 +121,11 @@ input_files:
enable: '[% ! c("var/linux") %]'
- URL: 'https://go.dev/dl/go[% c("version") %].src.tar.gz'
name: go
- sha256sum: 285cbbdf4b6e6e62ed58f370f3f6d8c30825d6e56c5853c66d3c23bcdb09db19
+ sha256sum: 124926a62e45f78daabbaedb9c011d97633186a33c238ffc1e25320c02046248
enable: '[% !c("var/use_go_1_20") %]'
- URL: 'https://go.dev/dl/go[% c("version") %].src.tar.gz'
name: go
- sha256sum: c5bf934751d31c315c1d0bb5fb02296545fa6d08923566f7a5afec81f2ed27d6
+ sha256sum: 0fe745c530f2f1d67193af3c5ea25246be077989ec5178df266e975f3532449e
enable: '[% c("var/use_go_1_20") %]'
- project: go-bootstrap
name: go-bootstrap
=====================================
projects/manual/config
=====================================
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
# To update, see doc/how-to-update-the-manual.txt
# Remember to update also the package's hash, with the version!
-version: 122062
+version: 136210
filename: 'manual-[% c("version") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
container:
use_container: 1
@@ -23,6 +23,6 @@ input_files:
- project: container-image
- URL: 'https://build-sources.tbb.torproject.org/manual_[% c("version") %].zip'
name: manual
- sha256sum: d51ebe27077817bcdabc0b5616c0c58fc14ea6d06f1a0b459051d67a4c13c348
+ sha256sum: 6731381fd992cf65dd01e56e2b924005af633369da5ac9eb905fd8025255b386
- filename: packagemanual.py
name: package_script
=====================================
projects/translation/config
=====================================
@@ -12,13 +12,13 @@ compress_tar: 'gz'
steps:
base-browser:
base-browser: '[% INCLUDE build %]'
- git_hash: 5490489a8d356a44d792300b4dfddba792d10f2e
+ git_hash: cbd9b6c415ec2edb99237ef67ccd4f033a7b9c2a
targets:
nightly:
git_hash: 'base-browser'
tor-browser:
tor-browser: '[% INCLUDE build %]'
- git_hash: e92772b4a11ced855c27eafd299cf972bef5cd8f
+ git_hash: 799998ee13be225222afc6cfda1687cf63d6cc9e
targets:
nightly:
git_hash: 'tor-browser'
@@ -32,7 +32,7 @@ steps:
fenix: '[% INCLUDE build %]'
# We need to bump the commit before releasing but just pointing to a branch
# might cause too much rebuidling of the Firefox part.
- git_hash: 38741697dc418d7ea90e67cab30ae7cfa4b9c858
+ git_hash: 9622d5c3f3ffd2400fc1bbd4bb7c507f257f9bbb
compress_tar: 'zst'
targets:
nightly:
=====================================
projects/zlib/config
=====================================
@@ -1,6 +1,6 @@
# vim: filetype=yaml sw=2
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
-version: '1.3'
+version: '1.3.1'
git_hash: 'v[% c("version") %]'
git_url: https://github.com/madler/zlib.git
gpg_keyring: zlib.gpg
=====================================
rbm.conf
=====================================
@@ -81,12 +81,12 @@ buildconf:
git_signtag_opt: '-s'
var:
- torbrowser_version: '13.5a3'
- torbrowser_build: 'build2'
+ torbrowser_version: '13.5a4'
+ torbrowser_build: 'build1'
torbrowser_incremental_from:
- - '13.0a6'
- '13.5a1'
- '13.5a2'
+ - '13.5a3'
updater_enabled: 1
build_mar: 1
mar_channel_id: '[% c("var/projectname") %]-torproject-[% c("var/channel") %]'
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

[Git][tpo/applications/tor-browser-build][main] Bug 41065: Cleanup the NSIS script
by Pier Angelo Vendrame (@pierov) 29 Jan '24
by Pier Angelo Vendrame (@pierov) 29 Jan '24
29 Jan '24
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
1a571c59 by Pier Angelo Vendrame at 2024-01-29T10:16:12+01:00
Bug 41065: Cleanup the NSIS script
Improve the formatting of the installer, and update the language list
to match the one in rbm.conf (even though it would be good to keep the
lists synchronized automatically).
Also, include the channel name in the displayed name and in the default
install directory (except for release).
Since we are changing many lines, I took the ocasion to switch to LF
line endings (NSIS accepts them).
- - - - -
2 changed files:
- projects/browser/build
- projects/browser/windows-installer.nsi
Changes:
=====================================
projects/browser/build
=====================================
@@ -305,11 +305,6 @@ done
cat > $distdir/windows-installer/browser-portable.nsi << 'BROWSER_NSI'
[% INCLUDE 'windows-installer.nsi' %]
BROWSER_NSI
- [% IF c('var/mullvad-browser') -%]
- cat > $distdir/windows-installer/browser-system.nsi << 'BROWSER_NSI'
-[% INCLUDE 'windows-installer.nsi' system_install_mode = 1 %]
-BROWSER_NSI
- [% END -%]
mv ${TB_STAGE_DIR} $distdir/windows-installer/"[% c('var/Project_Name') %]"
mv $distdir/windows-installer ${TB_STAGE_DIR}
[% END %]
@@ -389,11 +384,6 @@ cd $distdir
# Working around NSIS braindamage
python3 $rootdir/pe_checksum_fix.py browser-install.exe
mv browser-install.exe $OUTDIR/[% c("var/project-name") %]-[% c("var/osname") %]-portable-[% c("var/torbrowser_version") %].exe
- [% IF c('var/mullvad-browser') -%]
- makensis browser-system.nsi
- python3 $rootdir/pe_checksum_fix.py browser-install.exe
- mv browser-install.exe $OUTDIR/[% c("var/project-name") %]-[% c("var/osname") %]-install-[% c("var/torbrowser_version") %].exe
- [% END -%]
popd
[% END %]
rm -rf $distdir/${PKG_DIR}
=====================================
projects/browser/windows-installer.nsi
=====================================
@@ -1,248 +1,169 @@
-;NSIS Installer for Tor/Base/Mullvad Browser
-;Written by Moritz Bartl
-;released under Public Domain
-
-;--------------------------------
-;Modern UI
-
- !include "FileFunc.nsh"
- !include "MUI2.nsh"
- !include "LogicLib.nsh"
- !include "WinVer.nsh"
-
-;--------------------------------
-;General
-
- ;Location of Tor/Base/Mullvad Browser to put into installer
- !define PROGRAM_SOURCE ".\[% c('var/Project_Name') %]\"
-
- Name "[% c('var/Project_Name') %]"
- OutFile "browser-install.exe"
-
- ;Default installation folder
-[% IF system_install_mode -%]
- InstallDir "$PROGRAMFILES\[% c('var/Project_Name') %]"
-[% ELSE -%]
- InstallDir "$DESKTOP\[% c('var/Project_Name') %]"
-[% END -%]
-
- ;Best (but slowest) compression
- SetCompressor /SOLID lzma
- SetCompressorDictSize 32
-
- ;Request application privileges for Windows Vista
-[% IF system_install_mode -%]
- RequestExecutionLevel admin
-[% ELSE -%]
- RequestExecutionLevel user
-[% END -%]
-
- ;Support HiDPI displays
- ManifestDPIAware true
-
-[% IF system_install_mode -%]
- ;Registry keys to uninstall system-wide installs
- !define UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\[% c('var/ProjectName') %]"
-[% END -%]
-
-;--------------------------------
-;Metadata
-
- VIProductVersion "[% pc("firefox", "var/browser_series") %].0.0"
- VIAddVersionKey "ProductName" "[% c('var/Project_Name') %]"
- VIAddVersionKey "ProductVersion" "[% c('var/torbrowser_version') %]"
- VIAddVersionKey "FileDescription" "[% c('var/Project_Name') %][% IF system_install_mode -%] System[% END -%] Installer"
- VIAddVersionKey "LegalCopyright" "© [% pc("firefox", "var/copyright_year") %] [% IF c('var/mullvad-browser') -%]Mullvad, Tor Browser and Mozilla Developers[% ELSE -%]The Tor Project[% END -%]"
-
-;--------------------------------
-;Interface Configuration
-
- !define MUI_ICON "[% c('var/projectname') %][% IF !c('var/base-browser') -%]-[% c('var/channel') %][% END -%].ico"
- !define MUI_ABORTWARNING
-
-;--------------------------------
-;Modern UI settings
- !define MUI_FINISHPAGE_NOREBOOTSUPPORT ; we don't require a reboot
- !define MUI_FINISHPAGE_RUN
- !define MUI_FINISHPAGE_RUN_FUNCTION "StartBrowser"
- !define MUI_FINISHPAGE_SHOWREADME ; misuse for option to create shortcut; less ugly than MUI_PAGE_COMPONENTS
- !define MUI_FINISHPAGE_SHOWREADME_TEXT "&Add Start Menu && Desktop shortcuts"
- !define MUI_FINISHPAGE_SHOWREADME_FUNCTION "CreateShortCuts"
-;--------------------------------
-;Pages
-
- !define MUI_PAGE_CUSTOMFUNCTION_LEAVE CheckIfTargetDirectoryExists
- !insertmacro MUI_PAGE_DIRECTORY
- !insertmacro MUI_PAGE_INSTFILES
- !insertmacro MUI_PAGE_FINISH
-
-;--------------------------------
-;Languages
-
- !insertmacro MUI_LANGUAGE "English" ;first language is the default language
- !insertmacro MUI_LANGUAGE "French"
- !insertmacro MUI_LANGUAGE "German"
- !insertmacro MUI_LANGUAGE "Spanish"
- !insertmacro MUI_LANGUAGE "SpanishInternational"
- !insertmacro MUI_LANGUAGE "SimpChinese"
- !insertmacro MUI_LANGUAGE "TradChinese"
- !insertmacro MUI_LANGUAGE "Japanese"
- !insertmacro MUI_LANGUAGE "Korean"
- !insertmacro MUI_LANGUAGE "Italian"
- !insertmacro MUI_LANGUAGE "Dutch"
- !insertmacro MUI_LANGUAGE "Danish"
- !insertmacro MUI_LANGUAGE "Swedish"
- !insertmacro MUI_LANGUAGE "Norwegian"
- !insertmacro MUI_LANGUAGE "NorwegianNynorsk"
- !insertmacro MUI_LANGUAGE "Finnish"
- !insertmacro MUI_LANGUAGE "Greek"
- !insertmacro MUI_LANGUAGE "Russian"
- !insertmacro MUI_LANGUAGE "Portuguese"
- !insertmacro MUI_LANGUAGE "PortugueseBR"
- !insertmacro MUI_LANGUAGE "Polish"
- !insertmacro MUI_LANGUAGE "Ukrainian"
- !insertmacro MUI_LANGUAGE "Czech"
- !insertmacro MUI_LANGUAGE "Slovak"
- !insertmacro MUI_LANGUAGE "Croatian"
- !insertmacro MUI_LANGUAGE "Bulgarian"
- !insertmacro MUI_LANGUAGE "Hungarian"
- !insertmacro MUI_LANGUAGE "Thai"
- !insertmacro MUI_LANGUAGE "Romanian"
- !insertmacro MUI_LANGUAGE "Latvian"
- !insertmacro MUI_LANGUAGE "Macedonian"
- !insertmacro MUI_LANGUAGE "Estonian"
- !insertmacro MUI_LANGUAGE "Turkish"
- !insertmacro MUI_LANGUAGE "Lithuanian"
- !insertmacro MUI_LANGUAGE "Slovenian"
- !insertmacro MUI_LANGUAGE "Serbian"
- !insertmacro MUI_LANGUAGE "SerbianLatin"
- !insertmacro MUI_LANGUAGE "Arabic"
- !insertmacro MUI_LANGUAGE "Farsi"
- !insertmacro MUI_LANGUAGE "Hebrew"
- !insertmacro MUI_LANGUAGE "Indonesian"
- !insertmacro MUI_LANGUAGE "Mongolian"
- !insertmacro MUI_LANGUAGE "Luxembourgish"
- !insertmacro MUI_LANGUAGE "Albanian"
- !insertmacro MUI_LANGUAGE "Breton"
- !insertmacro MUI_LANGUAGE "Belarusian"
- !insertmacro MUI_LANGUAGE "Icelandic"
- !insertmacro MUI_LANGUAGE "Malay"
- !insertmacro MUI_LANGUAGE "Bosnian"
- !insertmacro MUI_LANGUAGE "Kurdish"
- !insertmacro MUI_LANGUAGE "Irish"
- !insertmacro MUI_LANGUAGE "Uzbek"
- !insertmacro MUI_LANGUAGE "Galician"
- !insertmacro MUI_LANGUAGE "Afrikaans"
- !insertmacro MUI_LANGUAGE "Catalan"
- !insertmacro MUI_LANGUAGE "Esperanto"
-
-;--------------------------------
-;Multi Language support: Read strings from separate file
-
-; !include [% c('var/projectname') %]-langstrings.nsi
-
-;--------------------------------
-;Reserve Files
-
- ;If you are using solid compression, files that are required before
- ;the actual installation should be stored first in the data block,
- ;because this will make your installer start faster.
-
- !insertmacro MUI_RESERVEFILE_LANGDLL
-
-;--------------------------------
-;Installer Sections
-
-Section "[% c('var/Project_Name') %]" SecBrowser
-
- SetOutPath "$INSTDIR"
-[% IF !system_install_mode -%]
- File /r "${PROGRAM_SOURCE}\*.*"
- CreateShortCut "$INSTDIR\Start [% c('var/Project_Name') %].lnk" "$INSTDIR\Browser\[% c('var/exe_name') %].exe"
-[% ELSE -%]
- File /r "${PROGRAM_SOURCE}\Browser\*.*"
-
- ;Enable system-wide install in the browser
- FileOpen $0 "$INSTDIR\system-install" w
- FileClose $0
-
- ;Write the uninstaller
- WriteUninstaller $INSTDIR\uninstall.exe
-
- ;Add the uninstaller to the control panel
- WriteRegStr HKLM "${UNINST_KEY}" "DisplayName" "[% c('var/Project_Name') %]"
- WriteRegStr HKLM "${UNINST_KEY}" "UninstallString" "$\"$INSTDIR\uninstall.exe$\""
- WriteRegStr HKLM "${UNINST_KEY}" "QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\" /S"
- WriteRegStr HKLM "${UNINST_KEY}" "Publisher" "[% IF c('var/mullvad-browser') -%]Mullvad VPN[% ELSE -%]The Tor Project[% END -%]"
- WriteRegStr HKLM "${UNINST_KEY}" "DisplayIcon" "$\"$INSTDIR\[% c('var/exe_name') %].exe$\""
- WriteRegStr HKLM "${UNINST_KEY}" "DisplayVersion" "[% c('var/torbrowser_version') %]"
- WriteRegDWORD HKLM "${UNINST_KEY}" "NoModify" "1"
- WriteRegDWORD HKLM "${UNINST_KEY}" "NoRepair" "1"
- ${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
- IntFmt $0 "0x%08X" $0
- WriteRegDWORD HKLM "${UNINST_KEY}" "EstimatedSize" "$0"
-[% END -%]
-
-SectionEnd
-
-[% IF system_install_mode -%]
-Section "Uninstall"
- RMDir /r "$INSTDIR"
- DeleteRegKey HKLM "${UNINST_KEY}"
- SetShellVarContext all
- Delete "$SMPROGRAMS\[% c('var/Project_Name') %].lnk"
- Delete "$DESKTOP\[% c('var/Project_Name') %].lnk"
-SectionEnd
-[% END -%]
-
-Function CreateShortcuts
-[% IF system_install_mode -%]
- SetShellVarContext all
-[% END -%]
- CreateShortCut "$SMPROGRAMS\[% c('var/Project_Name') %].lnk" "$INSTDIR\[% IF !system_install_mode -%]Browser\[% END -%][% c('var/exe_name') %].exe"
- CreateShortCut "$DESKTOP\[% c('var/Project_Name') %].lnk" "$INSTDIR\[% IF !system_install_mode -%]Browser\[% END -%][% c('var/exe_name') %].exe"
-
-FunctionEnd
-;--------------------------------
-;Installer Functions
-
-Function .onInit
-
- ${IfNot} ${AtLeastWin7}
- MessageBox MB_USERICON|MB_OK "[% c('var/Project_Name') %] requires at least Windows 7"
- SetErrorLevel 1
- Quit
- ${EndIf}
-
- ; Don't install on systems that don't support SSE2. The parameter value of
- ; 10 is for PF_XMMI64_INSTRUCTIONS_AVAILABLE which will check whether the
- ; SSE2 instruction set is available.
- System::Call "kernel32::IsProcessorFeaturePresent(i 10)i .R7"
-
- ${If} "$R7" == "0"
- MessageBox MB_OK|MB_ICONSTOP "Sorry, [% c('var/Project_Name') %] can't be installed. This version of [% c('var/Project_Name') %] requires a processor with SSE2 support."
- Abort
- ${EndIf}
-
- !insertmacro MUI_LANGDLL_DISPLAY
-
-FunctionEnd
-
-;--------------------------------
-;Helper Functions
-
-Function CheckIfTargetDirectoryExists
-${If} ${FileExists} "$INSTDIR\*.*"
- MessageBox MB_YESNO "The destination directory already exists. You can try to upgrade the [% c('var/Project_Name') %], but if you run into any problems, use a new directory instead. Continue?" IDYES NoAbort
- Abort
- NoAbort:
-${EndIf}
-FunctionEnd
-
-Function StartBrowser
-[% IF !system_install_mode -%]
- ExecShell "open" "$INSTDIR/Start [% c('var/Project_Name') %].lnk"
-[% ELSE -%]
- ExecShell "open" "$INSTDIR/[% c('var/exe_name') %].exe"
-[% END -%]
-FunctionEnd
+; NSIS Installer for Tor/Base/Mullvad Browser
+; Based on NSIS examples by Joost Verburg.
+; Originally adapted to Tor Browser by Moritz Bartl
+; https://github.com/moba/tbb-windows-installer
+; Released under the zlib/libpng license.
+
+;--------------------------------
+ !include "FileFunc.nsh"
+ !include "LogicLib.nsh"
+ !include "MUI2.nsh"
+ !include "WinVer.nsh"
+
+;--------------------------------
+; General
+ ; Location of Tor/Base/Mullvad Browser to put into installer
+ !define PROGRAM_SOURCE ".\[% c('var/Project_Name') %]\"
+
+[% IF c("var/channel") == "release";
+ SET display_name = c('var/Project_Name');
+ ELSIF c("var/testbuild");
+ SET display_name = c('var/Project_Name') _ " Testbuild";
+ ELSE;
+ SET display_name = c('var/Project_Name_Channel');
+ END
+-%]
+ Name "[% display_name %]"
+ OutFile "browser-install.exe"
+
+ ; Default installation folder
+ InstallDir "$DESKTOP\[% display_name %]"
+
+ ; Best (but slowest) compression
+ SetCompressor /SOLID lzma
+ SetCompressorDictSize 32
+
+ ; Do not require elevated privileges
+ RequestExecutionLevel user
+
+ ; Support HiDPI displays
+ ManifestDPIAware true
+
+;--------------------------------
+; Metadata
+ VIProductVersion "[% pc('firefox', 'var/browser_series') %].0.0"
+ VIAddVersionKey "ProductName" "[% display_name %]"
+ VIAddVersionKey "ProductVersion" "[% c('var/torbrowser_version') %]"
+ VIAddVersionKey "FileDescription" "[% display_name %] Portable Installer"
+ VIAddVersionKey "LegalCopyright" "© [% pc('firefox', 'var/copyright_year') %] [% IF c('var/mullvad-browser') %]Mullvad, Tor Browser and Mozilla Developers[% ELSE %]The Tor Project[% END %]"
+
+;--------------------------------
+; Interface Configuration
+ !define MUI_ICON "[% c('var/projectname') %][% IF !c('var/base-browser') %]-[% c('var/channel') %][% END %].ico"
+ !define MUI_ABORTWARNING
+
+;--------------------------------
+; Modern UI settings
+ !define MUI_FINISHPAGE_NOREBOOTSUPPORT ; Reboot not required
+ !define MUI_FINISHPAGE_RUN
+ !define MUI_FINISHPAGE_RUN_FUNCTION "StartBrowser"
+
+ ; Misuse the option to show the readme to create the shortcuts.
+ ; Less ugly than MUI_PAGE_COMPONENTS.
+ !define MUI_FINISHPAGE_SHOWREADME
+ !define MUI_FINISHPAGE_SHOWREADME_TEXT "&Add Start Menu && Desktop shortcuts"
+ !define MUI_FINISHPAGE_SHOWREADME_FUNCTION "CreateShortCuts"
+
+;--------------------------------
+; Pages
+ !define MUI_PAGE_CUSTOMFUNCTION_LEAVE CheckIfTargetDirectoryExists
+ !insertmacro MUI_PAGE_DIRECTORY
+ !insertmacro MUI_PAGE_INSTFILES
+ !insertmacro MUI_PAGE_FINISH
+
+;--------------------------------
+; Languages
+ !insertmacro MUI_LANGUAGE "English" ; First language is the default language
+ !insertmacro MUI_LANGUAGE "Arabic" ; ar
+ !insertmacro MUI_LANGUAGE "Catalan" ; ca
+ !insertmacro MUI_LANGUAGE "Czech" ; cs
+ !insertmacro MUI_LANGUAGE "Danish" ; da
+ !insertmacro MUI_LANGUAGE "German" ; de
+ !insertmacro MUI_LANGUAGE "Greek" ; el
+ !insertmacro MUI_LANGUAGE "Spanish" ; es-ES
+ !insertmacro MUI_LANGUAGE "Farsi" ; fa
+ !insertmacro MUI_LANGUAGE "Finnish" ; fi
+ !insertmacro MUI_LANGUAGE "French" ; fr
+ !insertmacro MUI_LANGUAGE "ScotsGaelic" ; ga-IE
+ !insertmacro MUI_LANGUAGE "Hebrew" ; he
+ !insertmacro MUI_LANGUAGE "Hungarian" ; hu
+ !insertmacro MUI_LANGUAGE "Indonesian"; id
+ !insertmacro MUI_LANGUAGE "Icelandic" ; is
+ !insertmacro MUI_LANGUAGE "Italian" ; it
+ !insertmacro MUI_LANGUAGE "Japanese" ; ja
+ !insertmacro MUI_LANGUAGE "Georgian" ; ka
+ !insertmacro MUI_LANGUAGE "Korean" ; ko
+ !insertmacro MUI_LANGUAGE "Lithuanian" ; lt
+ !insertmacro MUI_LANGUAGE "Macedonian" ; mk
+ !insertmacro MUI_LANGUAGE "Malay" ; ms
+ ; Burmese - my: not available on NSIS
+ !insertmacro MUI_LANGUAGE "Norwegian" ; nb-NO
+ !insertmacro MUI_LANGUAGE "Dutch" ; nl
+ !insertmacro MUI_LANGUAGE "Polish" ; pl
+ !insertmacro MUI_LANGUAGE "PortugueseBR" ; pt-BR
+ !insertmacro MUI_LANGUAGE "Romanian" ; ro
+ !insertmacro MUI_LANGUAGE "Russian" ; ru
+ !insertmacro MUI_LANGUAGE "Albanian" ; sq
+ !insertmacro MUI_LANGUAGE "Swedish" ; sv-SE
+ !insertmacro MUI_LANGUAGE "Thai" ; th
+ !insertmacro MUI_LANGUAGE "Turkish" ; tr
+ !insertmacro MUI_LANGUAGE "Ukrainian" ; uk
+ !insertmacro MUI_LANGUAGE "Vietnamese" ; vi
+ !insertmacro MUI_LANGUAGE "SimpChinese" ; zh-hans, zh-cn
+ !insertmacro MUI_LANGUAGE "TradChinese" ; zh-hant, zh-tw
+
+;--------------------------------
+; Reserve Files
+
+ ; If you are using solid compression, files that are required before
+ ; the actual installation should be stored first in the data block,
+ ; because this will make your installer start faster.
+
+ !insertmacro MUI_RESERVEFILE_LANGDLL
+
+;--------------------------------
+; Installer Sections
+
+Section "Browser" SecBrowser
+ SetOutPath "$INSTDIR"
+ File /r "${PROGRAM_SOURCE}\*.*"
+ CreateShortCut "$INSTDIR\[% display_name %].lnk" "$INSTDIR\Browser\[% c('var/exe_name') %].exe"
+SectionEnd
+
+;--------------------------------
+; Installer Functions
+
+Function .onInit
+ ${IfNot} ${AtLeastWin7}
+ MessageBox MB_USERICON|MB_OK "[% c('var/Project_Name') %] requires at least Windows 7"
+ SetErrorLevel 1
+ Quit
+ ${EndIf}
+
+ ; Don't install on systems that don't support SSE2. The parameter value of
+ ; 10 is for PF_XMMI64_INSTRUCTIONS_AVAILABLE which will check whether the
+ ; SSE2 instruction set is available.
+ System::Call "kernel32::IsProcessorFeaturePresent(i 10)i .R7"
+ ${If} "$R7" == "0"
+ MessageBox MB_OK|MB_ICONSTOP "Sorry, [% c('var/Project_Name') %] can't be installed. This version of [% c('var/Project_Name') %] requires a processor with SSE2 support."
+ Abort
+ ${EndIf}
+
+ !insertmacro MUI_LANGDLL_DISPLAY
+FunctionEnd
+
+Function CheckIfTargetDirectoryExists
+ ${If} ${FileExists} "$INSTDIR\*.*"
+ MessageBox MB_YESNO "The destination directory already exists. Do you want to continue anyway?" IDYES +2
+ Abort
+ ${EndIf}
+FunctionEnd
+
+Function CreateShortcuts
+ CreateShortCut "$SMPROGRAMS\[% display_name %].lnk" "$INSTDIR\[% IF !system_install_mode -%]Browser\[% END -%][% c('var/exe_name') %].exe"
+ CreateShortCut "$DESKTOP\[% display_name %].lnk" "$INSTDIR\[% IF !system_install_mode -%]Browser\[% END -%][% c('var/exe_name') %].exe"
+FunctionEnd
+
+Function StartBrowser
+ ExecShell "open" "$INSTDIR/[% display_name %].lnk"
+FunctionEnd
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