tor-commits
Threads by month
- ----- 2026 -----
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- 1 participants
- 215103 discussions
[Git][tpo/applications/tor-browser][tor-browser-115.9.0esr-13.5-1] 5 commits: fixup! Bug 3455: Add DomainIsolator, for isolating circuit by domain.
by richard (@richard) 25 Mar '24
by richard (@richard) 25 Mar '24
25 Mar '24
richard pushed to branch tor-browser-115.9.0esr-13.5-1 at The Tor Project / Applications / Tor Browser
Commits:
99d4a1de by Henry Wilkes at 2024-03-25T09:42:29+00:00
fixup! Bug 3455: Add DomainIsolator, for isolating circuit by domain.
Bug 42209: Migrate tor circuit strings to Fluent.
- - - - -
56ce4cc1 by Henry Wilkes at 2024-03-25T09:42:30+00:00
fixup! Bug 41600: Add a tor circuit display panel.
Bug 42209: Migrate tor circuit strings to Fluent.
- - - - -
76f869d5 by Henry Wilkes at 2024-03-25T09:42:31+00:00
fixup! Tor Browser strings
Bug 42209: Migrate tor circuit strings to Fluent.
- - - - -
724dfc5f by Henry Wilkes at 2024-03-25T09:42:31+00:00
fixup! Add TorStrings module for localization
Bug 42209: Migrate tor circuit strings to Fluent.
- - - - -
966b7f30 by Henry Wilkes at 2024-03-25T09:42:32+00:00
fixup! Tor Browser localization migration scripts.
Bug 42209: Migrate tor circuit strings to Fluent.
- - - - -
11 changed files:
- browser/base/content/appmenu-viewcache.inc.xhtml
- browser/base/content/browser-menubar.inc
- browser/base/content/navigator-toolbox.inc.xhtml
- browser/components/torcircuit/content/torCircuitPanel.css
- browser/components/torcircuit/content/torCircuitPanel.inc.xhtml
- browser/components/torcircuit/content/torCircuitPanel.js
- browser/locales/en-US/browser/tor-browser.ftl
- toolkit/torbutton/chrome/locale/en-US/torbutton.dtd
- toolkit/torbutton/chrome/locale/en-US/torbutton.properties
- tools/torbrowser/l10n/migrate.py
- + tools/torbrowser/l10n/migrations/bug-42209-tor-circuit.py
Changes:
=====================================
browser/base/content/appmenu-viewcache.inc.xhtml
=====================================
@@ -62,7 +62,7 @@
<toolbarbutton id="appMenuNewCircuit"
class="subviewbutton"
key="new-circuit-key"
- label="&torbutton.context_menu.new_circuit_sentence_case;"
+ data-l10n-id="appmenuitem-new-tor-circuit"
oncommand="TorDomainIsolator.newCircuitForBrowser(gBrowser);"/>
<toolbarseparator/>
<toolbarbutton id="appMenu-bookmarks-button"
=====================================
browser/base/content/browser-menubar.inc
=====================================
@@ -32,9 +32,7 @@
<menuitem id="menu_newIdentity"
key="new-identity-key" data-l10n-id="menu-new-identity"/>
<menuitem id="menu_newCircuit"
- accesskey="&torbutton.context_menu.new_circuit_key;"
- key="new-circuit-key"
- label="&torbutton.context_menu.new_circuit;"
+ key="new-circuit-key" data-l10n-id="menu-new-tor-circuit"
oncommand="TorDomainIsolator.newCircuitForBrowser(gBrowser);"/>
<menuseparator/>
<menuitem id="menu_openLocation"
=====================================
browser/base/content/navigator-toolbox.inc.xhtml
=====================================
@@ -198,7 +198,7 @@
role="button"
class="identity-box-button"
align="center"
- tooltiptext="&torbutton.circuit_display.title;"
+ data-l10n-id="tor-circuit-urlbar-button"
hidden="true">
<image id="tor-circuit-button-icon"/>
</box>
@@ -621,9 +621,8 @@
data-l10n-id="toolbar-new-identity"/>
<toolbarbutton id="new-circuit-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
- label="&torbutton.context_menu.new_circuit;"
- oncommand="TorDomainIsolator.newCircuitForBrowser(gBrowser);"
- tooltiptext="&torbutton.context_menu.new_circuit;"/>
+ data-l10n-id="toolbar-new-tor-circuit"
+ oncommand="TorDomainIsolator.newCircuitForBrowser(gBrowser);"/>
<toolbarbutton id="fullscreen-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
observes="View:FullScreen"
=====================================
browser/components/torcircuit/content/torCircuitPanel.css
=====================================
@@ -120,6 +120,15 @@
background-repeat: no-repeat;
}
+.tor-circuit-node-item:not([hidden]) {
+ display: flex;
+ align-items: baseline;
+}
+
+.tor-circuit-node-item > * {
+ flex: 0 0 auto;
+}
+
@media (prefers-color-scheme: dark) {
.tor-circuit-node-item {
/* Light Gray 90 */
@@ -146,9 +155,9 @@
.tor-circuit-region-flag {
margin-inline-end: 0.5em;
height: 16px;
- vertical-align: sub;
+ align-self: center;
/* Don't occupy any vertical height. */
- margin-block-start: -16px;
+ margin-block: -8px;
}
.tor-circuit-region-flag.no-region-flag-src {
@@ -158,7 +167,7 @@
.tor-circuit-addresses {
font-size: smaller;
font-family: monospace;
- margin-inline-start: 0.25em;
+ margin-inline-start: 0.75em;
}
/* Footer buttons */
=====================================
browser/components/torcircuit/content/torCircuitPanel.inc.xhtml
=====================================
@@ -19,44 +19,67 @@
<vbox class="panel-header">
<html:h1 id="tor-circuit-heading"></html:h1>
<html:div id="tor-circuit-alias" hidden="hidden">
- <html:img src="chrome://browser/content/tor-circuit-redirect.svg"
- alt="" />
+ <html:img
+ src="chrome://browser/content/tor-circuit-redirect.svg"
+ alt=""
+ />
<html:p id="tor-circuit-alias-label">
- <html:a />
+ <html:a class="tor-circuit-alias-link" data-l10n-name="alias-link" />
</html:p>
</html:div>
</vbox>
<toolbarseparator/>
<vbox id="tor-circuit-panel-body" class="panel-subview-body">
- <html:p id="tor-circuit-node-list-name">&torbutton.circuit_display.title;</html:p>
+ <html:p
+ id="tor-circuit-node-list-name"
+ data-l10n-id="tor-circuit-panel-node-list-introduction"
+ ></html:p>
<html:ol id="tor-circuit-node-list">
- <html:li id="tor-circuit-start-item"
- class="tor-circuit-node-item">
- </html:li>
- <html:li id="tor-circuit-relays-item"
- class="tor-circuit-node-item tor-circuit-relays-item">
- </html:li>
- <html:li id="tor-circuit-end-item"
- class="tor-circuit-node-item">
- </html:li>
+ <html:li
+ id="tor-circuit-start-item"
+ class="tor-circuit-node-item"
+ data-l10n-id="tor-circuit-panel-node-browser"
+ ></html:li>
+ <html:li
+ id="tor-circuit-relays-item"
+ class="tor-circuit-node-item tor-circuit-relays-item"
+ data-l10n-id="tor-circuit-panel-node-onion-relays"
+ ></html:li>
+ <html:li
+ id="tor-circuit-end-item"
+ class="tor-circuit-node-item"
+ ></html:li>
</html:ol>
+ <html:template id="tor-circuit-node-item-template">
+ <html:li class="tor-circuit-node-item">
+ <html:img class="tor-circuit-region-flag" alt="" />
+ <html:span class="tor-circuit-node-name"></html:span>
+ <html:span class="tor-circuit-addresses"></html:span>
+ </html:li>
+ </html:template>
</vbox>
<toolbarseparator/>
<!-- NOTE: To fully benefit from the .subviewbutton styling, we need to use
- a xul:toolbarbutton rather than a html:button.
- By default, a xul:toolbarbutton is not focusable so we need to add
- tabindex. -->
- <toolbarbutton id="tor-circuit-new-circuit"
- class="subviewbutton panel-subview-footer-button tor-circuit-button"
- tabindex="0"
- aria-labelledby="tor-circuit-new-circuit-label"
- aria-describedby="tor-circuit-new-circuit-description">
+ <toolbarbutton
+ id="tor-circuit-new-circuit"
+ class="subviewbutton panel-subview-footer-button tor-circuit-button"
+ tabindex="0"
+ aria-labelledby="tor-circuit-new-circuit-label"
+ aria-describedby="tor-circuit-new-circuit-description"
+ >
<vbox align="start">
- <label id="tor-circuit-new-circuit-label"
- class="toolbarbutton-text"
- value="&torbutton.context_menu.new_circuit_sentence_case;"/>
- <label id="tor-circuit-new-circuit-description"
- class="tor-circuit-button-description"/>
+ <label
+ id="tor-circuit-new-circuit-label"
+ class="toolbarbutton-text"
+ data-l10n-id="tor-circuit-panel-new-button"
+ />
+ <label
+ id="tor-circuit-new-circuit-description"
+ class="tor-circuit-button-description"
+ />
</vbox>
</toolbarbutton>
</vbox>
=====================================
browser/components/torcircuit/content/torCircuitPanel.js
=====================================
@@ -34,6 +34,12 @@ var gTorCircuitPanel = {
* @type {bool}
*/
_isActive: false,
+ /**
+ * The template element for circuit nodes.
+ *
+ * @type {HTMLTemplateElement?}
+ */
+ _nodeItemTemplate: null,
/**
* The topic on which circuit changes are broadcast.
@@ -62,7 +68,6 @@ var gTorCircuitPanel = {
heading: document.getElementById("tor-circuit-heading"),
alias: document.getElementById("tor-circuit-alias"),
aliasLabel: document.getElementById("tor-circuit-alias-label"),
- aliasLink: document.querySelector("#tor-circuit-alias-label a"),
aliasMenu: document.getElementById("tor-circuit-panel-alias-menu"),
list: document.getElementById("tor-circuit-node-list"),
relaysItem: document.getElementById("tor-circuit-relays-item"),
@@ -73,30 +78,24 @@ var gTorCircuitPanel = {
};
this.toolbarButton = document.getElementById("tor-circuit-button");
- // TODO: These strings should be set in the HTML markup with fluent.
-
- // NOTE: There is already whitespace before and after the link from the
- // XHTML markup.
- const [aliasBefore, aliasAfter] = this._getString(
- "torbutton.circuit_display.connected-to-alias",
- // Placeholder is replaced with the same placeholder. This is a bit of a
- // hack since we want the inserted address to be the rich anchor
- // element already in the DOM, rather than a plain address.
- // We won't have to do this with fluent by using data-l10n-name on the
- // anchor element.
- ["%S"]
- ).split("%S");
- this._panelElements.aliasLabel.prepend(aliasBefore);
- this._panelElements.aliasLabel.append(aliasAfter);
-
- this._panelElements.aliasLink.addEventListener("click", event => {
+ // We add listeners for the .tor-circuit-alias-link.
+ // NOTE: We have to add the listeners to the parent element because the
+ // link (with data-l10n-name="alias-link") will be replaced with a new
+ // cloned instance every time the parent gets re-translated.
+ this._panelElements.aliasLabel.addEventListener("click", event => {
+ if (!this._aliasLink.contains(event.target)) {
+ return;
+ }
event.preventDefault();
if (event.button !== 0) {
return;
}
this._openAlias("tab");
});
- this._panelElements.aliasLink.addEventListener("contextmenu", event => {
+ this._panelElements.aliasLabel.addEventListener("contextmenu", event => {
+ if (!this._aliasLink.contains(event.target)) {
+ return;
+ }
event.preventDefault();
this._panelElements.aliasMenu.openPopupAtScreen(
event.screenX,
@@ -119,21 +118,15 @@ var gTorCircuitPanel = {
document
.getElementById("tor-circuit-panel-alias-menu-copy")
.addEventListener("command", () => {
- if (!this._panelElements.aliasLink.href) {
+ const alias = this._aliasLink?.href;
+ if (!alias) {
return;
}
Cc["@mozilla.org/widget/clipboardhelper;1"]
.getService(Ci.nsIClipboardHelper)
- .copyString(this._panelElements.aliasLink.href);
+ .copyString(alias);
});
- document.getElementById("tor-circuit-start-item").textContent =
- this._getString("torbutton.circuit_display.this_browser");
-
- this._panelElements.relaysItem.textContent = this._getString(
- "torbutton.circuit_display.onion-site-relays"
- );
-
// Button is a xul:toolbarbutton, so we use "command" rather than "click".
document
.getElementById("tor-circuit-new-circuit")
@@ -176,6 +169,13 @@ var gTorCircuitPanel = {
this.show();
});
+ this._nodeItemTemplate = document.getElementById(
+ "tor-circuit-node-item-template"
+ );
+ // Prepare the unknown region name for the current locale.
+ // NOTE: We expect this to complete before the first call to _updateBody.
+ this._localeChanged();
+
this._locationListener = {
onLocationChange: (webProgress, request, locationURI, flags) => {
if (
@@ -194,6 +194,7 @@ var gTorCircuitPanel = {
// Get notifications for circuit changes.
Services.obs.addObserver(this, this.TOR_CIRCUIT_TOPIC);
+ Services.obs.addObserver(this, "intl:app-locales-changed");
},
/**
@@ -203,15 +204,21 @@ var gTorCircuitPanel = {
this._isActive = false;
gBrowser.removeProgressListener(this._locationListener);
Services.obs.removeObserver(this, this.TOR_CIRCUIT_TOPIC);
+ Services.obs.removeObserver(this, "intl:app-locales-changed");
},
/**
* Observe circuit changes.
*/
observe(subject, topic, data) {
- if (topic === this.TOR_CIRCUIT_TOPIC) {
- // TODO: Maybe check if we actually need to do something earlier.
- this._updateCurrentBrowser();
+ switch (topic) {
+ case this.TOR_CIRCUIT_TOPIC:
+ // TODO: Maybe check if we actually need to do something earlier.
+ this._updateCurrentBrowser();
+ break;
+ case "intl:app-locales-changed":
+ this._localeChanged();
+ break;
}
},
@@ -231,6 +238,19 @@ var gTorCircuitPanel = {
this.panel.hidePopup();
},
+ /**
+ * Get the current alias link instance.
+ *
+ * Note that this element instance may change whenever its parent element
+ * (#tor-circuit-alias-label) is re-translated. Attributes should be copied to
+ * the new instance.
+ */
+ get _aliasLink() {
+ return this._panelElements.aliasLabel.querySelector(
+ ".tor-circuit-alias-link"
+ );
+ },
+
/**
* Open the onion alias present in the alias link.
*
@@ -238,12 +258,13 @@ var gTorCircuitPanel = {
* window.
*/
_openAlias(where) {
- if (!this._panelElements.aliasLink.href) {
+ const url = this._aliasLink?.href;
+ if (!url) {
return;
}
// We hide the panel before opening the link.
this.hide();
- window.openWebLinkIn(this._panelElements.aliasLink.href, where);
+ window.openWebLinkIn(url, where);
},
/**
@@ -351,11 +372,6 @@ var gTorCircuitPanel = {
this.toolbarButton.hidden = false;
- if (this.panel.state !== "open" && this.panel.state !== "showing") {
- // Don't update the panel content if it is not open or about to open.
- return;
- }
-
this._updateCircuitPanel();
},
@@ -383,35 +399,15 @@ var gTorCircuitPanel = {
return alias;
},
- /**
- * Get a string from the properties bundle.
- *
- * @param {string} name - The string name.
- * @param {string[]} args - The arguments to pass to the string.
- *
- * @returns {string} The string.
- */
- _getString(name, args = []) {
- if (!this._stringBundle) {
- this._stringBundle = Services.strings.createBundle(
- "chrome://torbutton/locale/torbutton.properties"
- );
- }
- try {
- return this._stringBundle.formatStringFromName(name, args);
- } catch {}
- if (!this._fallbackStringBundle) {
- this._fallbackStringBundle = Services.strings.createBundle(
- "resource://torbutton/locale/en-US/torbutton.properties"
- );
- }
- return this._fallbackStringBundle.formatStringFromName(name, args);
- },
-
/**
* Updates the circuit display in the panel to show the current browser data.
*/
_updateCircuitPanel() {
+ if (this.panel.state !== "open" && this.panel.state !== "showing") {
+ // Don't update the panel content if it is not open or about to open.
+ return;
+ }
+
// NOTE: The _currentBrowserData.nodes data may be stale. In particular, the
// circuit may have expired already, or we're still waiting on the new
// circuit.
@@ -426,6 +422,9 @@ var gTorCircuitPanel = {
this.hide();
return;
}
+
+ this._log.debug("Updating circuit panel");
+
let domain = this._currentBrowserData.domain;
const onionAlias = this._getOnionAlias(domain);
@@ -447,24 +446,31 @@ var gTorCircuitPanel = {
* @param {string?} scheme - The scheme in use for the current domain.
*/
_updateHeading(domain, onionAlias, scheme) {
- this._panelElements.heading.textContent = this._getString(
- "torbutton.circuit_display.heading",
+ document.l10n.setAttributes(
+ this._panelElements.heading,
+ "tor-circuit-panel-heading",
// Only shorten the onion domain if it has no alias.
- [TorUIUtils.shortenOnionAddress(domain)]
+ { host: TorUIUtils.shortenOnionAddress(domain) }
);
if (onionAlias) {
- this._panelElements.aliasLink.textContent =
- TorUIUtils.shortenOnionAddress(onionAlias);
if (scheme === "http" || scheme === "https") {
// We assume the same scheme as the current page for the alias, which we
// expect to be either http or https.
// NOTE: The href property is partially presentational so that the link
// location appears on hover.
- this._panelElements.aliasLink.href = `${scheme}://${onionAlias}`;
+ // NOTE: The href attribute should be copied to any new instances of
+ // .tor-circuit-alias-link (with data-l10n-name="alias-link") when the
+ // parent _panelElements.aliasLabel gets re-translated.
+ this._aliasLink.href = `${scheme}://${onionAlias}`;
} else {
- this._panelElements.aliasLink.removeAttribute("href");
+ this._aliasLink.removeAttribute("href");
}
+ document.l10n.setAttributes(
+ this._panelElements.aliasLabel,
+ "tor-circuit-panel-alias",
+ { alias: TorUIUtils.shortenOnionAddress(onionAlias) }
+ );
this._showPanelElement(this._panelElements.alias, true);
} else {
this._showPanelElement(this._panelElements.alias, false);
@@ -485,20 +491,40 @@ var gTorCircuitPanel = {
* @param {string} domain - The domain to show for the last node.
*/
_updateBody(nodes, domain) {
- // Clean up old items.
- // NOTE: We do not expect focus within a removed node.
- for (const nodeItem of this._nodeItems) {
- nodeItem.remove();
- }
+ // NOTE: Rather than re-creating the <li> nodes from scratch, we prefer
+ // updating existing <li> nodes so that the display does not "flicker" in
+ // width as we wait for Fluent DOM to fill the nodes with text content. I.e.
+ // the existing node and text will remain in place, occupying the same
+ // width, up until it is replaced by Fluent DOM.
+ for (let index = 0; index < nodes.length; index++) {
+ if (index >= this._nodeItems.length) {
+ const newItem =
+ this._nodeItemTemplate.content.children[0].cloneNode(true);
+ const flagEl = newItem.querySelector(".tor-circuit-region-flag");
+ // Hide region flag whenever the flag src does not exist.
+ flagEl.addEventListener("error", () => {
+ flagEl.classList.add("no-region-flag-src");
+ flagEl.removeAttribute("src");
+ });
+ this._panelElements.list.insertBefore(
+ newItem,
+ this._panelElements.relaysItem
+ );
- this._nodeItems = nodes.map((nodeData, index) => {
- const nodeItem = this._createCircuitNodeItem(nodeData, index === 0);
- this._panelElements.list.insertBefore(
- nodeItem,
- this._panelElements.relaysItem
+ this._nodeItems.push(newItem);
+ }
+ this._updateCircuitNodeItem(
+ this._nodeItems[index],
+ nodes[index],
+ index === 0
);
- return nodeItem;
- });
+ }
+
+ // Remove excess items.
+ // NOTE: We do not expect focus within a removed node.
+ while (nodes.length < this._nodeItems.length) {
+ this._nodeItems.pop().remove();
+ }
this._showPanelElement(
this._panelElements.relaysItem,
@@ -511,40 +537,49 @@ var gTorCircuitPanel = {
// Button description text, depending on whether our first node was a
// bridge, or otherwise a guard.
- this._panelElements.newCircuitDescription.value = this._getString(
+ document.l10n.setAttributes(
+ this._panelElements.newCircuitDescription,
nodes[0].bridgeType === null
- ? "torbutton.circuit_display.new-circuit-guard-description"
- : "torbutton.circuit_display.new-circuit-bridge-description"
+ ? "tor-circuit-panel-new-button-description-guard"
+ : "tor-circuit-panel-new-button-description-bridge"
);
},
/**
- * Create a node item for the given circuit node data.
+ * Update a node item for the given circuit node data.
*
+ * @param {Element} nodeItem - The item to update.
* @param {NodeData} node - The circuit node data to create an item for.
* @param {bool} isCircuitStart - Whether this is the first node in the
* circuit.
*/
- _createCircuitNodeItem(node, isCircuitStart) {
- let nodeName;
- // We do not show a flag for bridge nodes.
- let regionCode = null;
+ _updateCircuitNodeItem(nodeItem, node, isCircuitStart) {
+ const nameEl = nodeItem.querySelector(".tor-circuit-node-name");
+ let flagSrc = null;
+
if (node.bridgeType === null) {
- regionCode = node.regionCode;
- if (!regionCode) {
- nodeName = this._getString("torbutton.circuit_display.unknown_region");
- } else {
- nodeName = Services.intl.getRegionDisplayNames(undefined, [
- regionCode,
- ])[0];
- }
+ const regionCode = node.regionCode;
+ flagSrc = this._regionFlagSrc(regionCode);
+
+ const regionName = regionCode
+ ? Services.intl.getRegionDisplayNames(undefined, [regionCode])[0]
+ : this._unknownRegionName;
+
if (isCircuitStart) {
- nodeName = this._getString(
- "torbutton.circuit_display.region-guard-node",
- [nodeName]
+ document.l10n.setAttributes(
+ nameEl,
+ "tor-circuit-panel-node-region-guard",
+ { region: regionName }
);
+ } else {
+ // Set the text content directly, rather than using Fluent.
+ nameEl.removeAttribute("data-l10n-id");
+ nameEl.removeAttribute("data-l10n-args");
+ nameEl.textContent = regionName;
}
} else {
+ // Do not show a flag for bridges.
+
let bridgeType = node.bridgeType;
if (bridgeType === "meek_lite") {
bridgeType = "meek";
@@ -552,55 +587,72 @@ var gTorCircuitPanel = {
bridgeType = "";
}
if (bridgeType) {
- nodeName = this._getString(
- "torbutton.circuit_display.tor_typed_bridge",
- [bridgeType]
+ document.l10n.setAttributes(
+ nameEl,
+ "tor-circuit-panel-node-typed-bridge",
+ { "bridge-type": bridgeType }
);
} else {
- nodeName = this._getString("torbutton.circuit_display.tor_bridge");
+ document.l10n.setAttributes(nameEl, "tor-circuit-panel-node-bridge");
}
}
- const nodeItem = document.createElement("li");
- nodeItem.classList.add("tor-circuit-node-item");
-
- const regionFlagEl = this._regionFlag(regionCode);
- if (regionFlagEl) {
- nodeItem.append(regionFlagEl);
+ const flagEl = nodeItem.querySelector(".tor-circuit-region-flag");
+ flagEl.classList.toggle("no-region-flag-src", !flagSrc);
+ if (flagSrc) {
+ flagEl.setAttribute("src", flagSrc);
+ } else {
+ flagEl.removeAttribute("src");
}
- // Add whitespace after name for the addresses.
- nodeItem.append(nodeName + " ");
-
- if (node.ipAddrs) {
- const addressesEl = document.createElement("span");
- addressesEl.classList.add("tor-circuit-addresses");
- let firstAddr = true;
- for (const ip of node.ipAddrs) {
- if (firstAddr) {
- firstAddr = false;
- } else {
- addressesEl.append(", ");
- }
- // We use a <code> element to give screen readers a hint that
- // punctuation is different for IP addresses.
- const ipEl = document.createElement("code");
- // TODO: Current HTML-aam 1.0 specs map the <code> element to the "code"
- // role.
- // However, mozilla-central commented out this mapping in
- // accessible/base/HTMLMarkupMap.h because the HTML-aam specs at the
- // time did not do this.
- // See hg.mozilla.org/mozilla-central/rev/51eebe7d6199#l2.12
- // For now we explicitly add the role="code", but once this is fixed
- // from mozilla-central we should remove this.
- ipEl.setAttribute("role", "code");
- ipEl.classList.add("tor-circuit-ip-address");
- ipEl.textContent = ip;
- addressesEl.append(ipEl);
+ const addressesEl = nodeItem.querySelector(".tor-circuit-addresses");
+ // Empty children.
+ addressesEl.replaceChildren();
+ let firstAddr = true;
+ for (const ip of node.ipAddrs) {
+ if (firstAddr) {
+ firstAddr = false;
+ } else {
+ addressesEl.append(", ");
}
- nodeItem.append(addressesEl);
+ const ipEl = document.createElement("code");
+ // TODO: Current HTML-aam 1.0 specs map the <code> element to the "code"
+ // role.
+ // However, mozilla-central commented out this mapping in
+ // accessible/base/HTMLMarkupMap.h because the HTML-aam specs at the
+ // time did not do this.
+ // See hg.mozilla.org/mozilla-central/rev/51eebe7d6199#l2.12
+ //
+ // This was updated in mozilla bug 1834931, for ESR 128
+ //
+ // For now we explicitly add the role="code", but once this is fixed
+ // from mozilla-central we should remove this.
+ ipEl.setAttribute("role", "code");
+ ipEl.classList.add("tor-circuit-ip-address");
+ ipEl.textContent = ip;
+ addressesEl.append(ipEl);
}
+ },
+
+ /**
+ * The string to use for unknown region names.
+ *
+ * Will be updated to match the current locale.
+ *
+ * @type {string}
+ */
+ _unknownRegionName: "Unknown region",
- return nodeItem;
+ /**
+ * Update the name for regions to match the current locale.
+ */
+ _localeChanged() {
+ document.l10n
+ .formatValue("tor-circuit-panel-node-unknown-region")
+ .then(name => {
+ this._unknownRegionName = name;
+ // Update the panel for the new region names, if it is shown.
+ this._updateCircuitPanel();
+ });
},
/**
@@ -609,9 +661,9 @@ var gTorCircuitPanel = {
* @param {string?} regionCode - The code to convert. It should be an upper
* case 2-letter BCP47 Region subtag to be converted into a flag.
*
- * @returns {HTMLImgElement?} The emoji flag img, or null if there is no flag.
+ * @returns {src?} The emoji flag img src, or null if there is no flag.
*/
- _regionFlag(regionCode) {
+ _regionFlagSrc(regionCode) {
if (!regionCode?.match(/^[A-Z]{2}$/)) {
return null;
}
@@ -624,20 +676,7 @@ var gTorCircuitPanel = {
.map(cp => cp.toString(16))
.join("-");
- const flagEl = document.createElement("img");
- // Decorative.
- flagEl.alt = "";
- flagEl.classList.add("tor-circuit-region-flag");
- // Remove self if there is no matching flag found.
- flagEl.addEventListener(
- "error",
- () => {
- flagEl.classList.add("no-region-flag-src");
- },
- { once: true }
- );
- flagEl.src = `chrome://browser/content/tor-circuit-flags/${flagName}.svg`;
- return flagEl;
+ return `chrome://browser/content/tor-circuit-flags/${flagName}.svg`;
},
/**
=====================================
browser/locales/en-US/browser/tor-browser.ftl
=====================================
@@ -326,3 +326,63 @@ about-dialog-browser-license-link = Licensing Information
# "Tor" and "The Onion Logo" are trademark names, so should not be translated (not including the quote marks, which can be localized).
# "The Tor Project, Inc." is an organisation name.
about-dialog-trademark-statement = “Tor” and “The Onion Logo” are registered trademarks of The Tor Project, Inc.
+
+## New tor circuit.
+
+# Shown in the File menu.
+# Uses title case for English (US).
+menu-new-tor-circuit =
+ .label = New Tor Circuit for this Site
+ .accesskey = C
+
+# Shown in the application menu (hamburger menu).
+# Uses sentence case for English (US).
+appmenuitem-new-tor-circuit =
+ .label = New Tor circuit for this site
+
+# Toolbar button to trigger a new circuit, available through toolbar customization.
+# Uses sentence case for English (US).
+# ".label" is the accessible name, and is visible in the overflow menu and when
+# customizing the toolbar.
+# ".tooltiptext" will be identical to the label.
+toolbar-new-tor-circuit =
+ .label = New Tor circuit for this site
+ .tooltiptext = { toolbar-new-tor-circuit.label }
+
+## Tor circuit URL bar button.
+
+# The tooltip also acts as the accessible name.
+tor-circuit-urlbar-button =
+ .tooltiptext = Tor Circuit
+
+## Tor circuit panel.
+
+# $host (String) - The host name shown in the URL bar, potentially shortened.
+tor-circuit-panel-heading = Circuit for { $host }
+# Shown when the current address is a ".tor.onion" alias.
+# $alias (String) - The alias onion address. This should be wrapped in '<a data-l10n-name="alias-link">' and '</a>', which will link to the corresponding address.
+tor-circuit-panel-alias = Connected to <a data-l10n-name="alias-link">{ $alias }</a>
+
+# Text just before the list of circuit nodes.
+tor-circuit-panel-node-list-introduction = Tor Circuit
+# First node in the list of circuit nodes. Refers to Tor Browser.
+tor-circuit-panel-node-browser = This browser
+# Represents a number of unknown relays that complete a connection to an ".onion" site.
+tor-circuit-panel-node-onion-relays = Onion site relays
+# Represents the bridge node used to connect to the Tor network.
+# $bridge-type (String) - The name for the type of bridge used: meek, obfs4, snowflake, etc.
+tor-circuit-panel-node-typed-bridge = Bridge: { $bridge-type }
+# Represents the bridge node used to connect to the Tor network when the bridge type is unknown.
+tor-circuit-panel-node-bridge = Bridge
+# Represents the initial guard node used for a tor circuit.
+# $region (String) - The region name for the guard node, already localized.
+tor-circuit-panel-node-region-guard = { $region } (guard)
+# Represents a circuit node with an unknown regional location.
+tor-circuit-panel-node-unknown-region = Unknown region
+
+# Uses sentence case for English (US).
+tor-circuit-panel-new-button = New Tor circuit for this site
+# Shown when the first node in the circuit is a guard node, rather than a bridge.
+tor-circuit-panel-new-button-description-guard = Your guard node may not change
+# Shown when the first node in the circuit is a bridge node.
+tor-circuit-panel-new-button-description-bridge = Your bridge may not change
=====================================
toolkit/torbutton/chrome/locale/en-US/torbutton.dtd
=====================================
@@ -3,12 +3,6 @@
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY torbutton.context_menu.new_circuit "New Tor Circuit for this Site">
-<!ENTITY torbutton.context_menu.new_circuit_sentence_case "New Tor circuit for this site">
-<!ENTITY torbutton.context_menu.new_circuit_key "C">
-
-<!ENTITY torbutton.circuit_display.title "Tor Circuit">
-
<!-- Onion services strings. Strings are kept here for ease of translation. -->
<!ENTITY torbutton.onionServices.authPrompt.tooltip "Open onion service client authentication prompt">
<!ENTITY torbutton.onionServices.authPrompt.persistCheckboxLabel "Remember this key">
=====================================
toolkit/torbutton/chrome/locale/en-US/torbutton.properties
=====================================
@@ -3,25 +3,6 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-# Circuit display
-# LOCALIZATION NOTE: %S will be the host name shown in the URL bar.
-torbutton.circuit_display.heading = Circuit for %S
-# LOCALIZATION NOTE: %S will be the alias onion address.
-torbutton.circuit_display.connected-to-alias = Connected to %S
-torbutton.circuit_display.this_browser = This browser
-torbutton.circuit_display.onion-site-relays = Onion site relays
-# LOCALIZATION NOTE: %S will be the bridge type name (meek, obfs4, snowflake,
-# etc).
-torbutton.circuit_display.tor_typed_bridge = Bridge: %S
-# LOCALIZATION NOTE: Used when the bridge type is unknown.
-torbutton.circuit_display.tor_bridge = Bridge
-# LOCALIZATION NOTE: Used when a circuit node's regional location is unknown.
-torbutton.circuit_display.unknown_region = Unknown region
-# LOCALIZATION NOTE: %S will be the localized region name for the guard node.
-torbutton.circuit_display.region-guard-node = %S (guard)
-torbutton.circuit_display.new-circuit-guard-description = Your guard node may not change
-torbutton.circuit_display.new-circuit-bridge-description = Your bridge may not change
-
# Download pane warning
torbutton.download.warning.title = Be careful opening downloads
# %S will be a link to the Tails operating system website. With the content given by torbutton.download.warning.tails_brand_name
=====================================
tools/torbrowser/l10n/migrate.py
=====================================
@@ -253,16 +253,13 @@ class TorBrowserMigrationContext(MigrationContext):
if path not in self.localization_resources
)
- def tb_get_transformed(self, target_path, transform_id):
+ def tb_get_transform(self, target_path, transform_id):
"""
Find the transformation node with the given id for the given path.
-
- The node will be evaluated (converted to regular fluent.ast) before it
- is returned.
"""
for node in self.transforms[target_path]:
if node.id.name == transform_id:
- return self.evaluate(node)
+ return node
return None
def tb_get_reference_entry(self, target_path, entry_id):
@@ -330,6 +327,21 @@ class TorBrowserMigrator:
ctx = self._get_migration_context(locale, locale_dir)
+ # NOTE: We do not use the existing ctx.serialize_changeset method.
+ # The problem with this approach was that it would re-shuffle the order
+ # of already existing strings to match the en-US locale.
+ # But Weblate currently does not preserve the order of translated
+ # strings: https://github.com/WeblateOrg/weblate/issues/11134
+ # so this created extra noise in the diff.
+ # Instead, we just always append transformations to the end of the
+ # existing file.
+ # Moreover, it would inject group comments into the translated files,
+ # which Weblate does not handle well. Instead, we just do not add any
+ # comments.
+ #
+ # In case we want to use it again in the future, here is a reference
+ # to how it works:
+ #
# ctx.serialize_changeset expects a set of (path, identifier) of
# localization resources that can be used to evaluate the
# transformations.
@@ -344,76 +356,115 @@ class TorBrowserMigrator:
# one step, so we want to fill the changeset with all required
# (path, identifier) pairs found in the localization resources.
- # Choose the transforms that are required and available.
- changeset = set()
available_strings = ctx.tb_get_available_strings()
- for (target_path, transform_id), dep_set in ctx.dependencies.items():
- # ctx.dependencies is a dict of dependencies for all
- # transformations
- # { (target_path, transform_identifier): set(
- # (localization_path, string_identifier),
- # )}
- #
- # e.g. if we want to create a new fluent Message called
- # "new-string1", and it uses "oldString1" from "old-file1.dtd"
- # and "oldString2" from "old-file2.dtd". And "new-string2" using
- # "oldString3" from "old-file2.dtd", it would be
- # {
- # ("new-file.ftl", "new-string1"): set(
- # ("old-file1.dtd", "oldString1"),
- # ("old-file2.dtd", "oldString2"),
- # ),
- # ("new-file.ftl", "new-string2"): set(
- # ("old-file2.dtd", "oldString3"),
- # ),
- # }
- can_transform = True
- for dep in dep_set:
- path, string_id = dep
- if dep not in available_strings:
- can_transform = False
- self.logger.info(
- f"Skipping transform {target_path}:{transform_id} for "
- f"'{locale}' locale because it is missing the "
- f"string {path}:{string_id}."
- )
- break
- # Strings in legacy formats might have an entry in the file
- # that is just a copy of the en-US strings.
- # For these we want to check the weblate metadata to ensure
- # it is a translated string.
- if not path.endswith(
- ".ftl"
- ) and not self.weblate_metadata.is_translated(
- os.path.join("en-US", path),
- os.path.join(locale, path),
- string_id,
- ):
- can_transform = False
+ wrote_file = False
+ errors = []
+
+ for target_path, reference in ctx.reference_resources.items():
+ translated_ids = [
+ entry.id.name
+ for entry in ctx.target_resources[target_path].body
+ if isinstance(entry, (ast.Message, ast.Term))
+ # NOTE: We're assuming that the Message and Term ids do not
+ # conflict with each other.
+ ]
+ new_entries = []
+
+ # Apply transfomations in the order they appear in the reference
+ # (en-US) file.
+ for entry in reference.body:
+ if not isinstance(entry, (ast.Message, ast.Term)):
+ continue
+ transform_id = entry.id.name
+ transform = ctx.tb_get_transform(target_path, transform_id)
+ if not transform:
+ # No transformation for this reference entry.
+ continue
+
+ if transform_id in translated_ids:
self.logger.info(
- f"Skipping transform {target_path}:{transform_id} for "
- f"'{locale}' locale because the string "
- f"{path}:{string_id} has not been translated on "
- "weblate."
+ f"Skipping transform {target_path}:{transform_id} "
+ f"for '{locale}' locale because it already has a "
+ f"translation."
)
- break
- if can_transform:
- changeset.update(dep_set)
+ continue
- print("", file=sys.stderr)
- wrote_file = False
- errors = []
- for path, fluent in ctx.serialize_changeset(changeset).items():
- full_path = os.path.join(locale_dir, path)
+ # ctx.dependencies is a dict of dependencies for all
+ # transformations
+ # { (target_path, transform_identifier): set(
+ # (localization_path, string_identifier),
+ # )}
+ #
+ # e.g. if we want to create a new fluent Message called
+ # "new-string1", and it uses "oldString1" from "old-file1.dtd"
+ # and "oldString2" from "old-file2.dtd". And "new-string2" using
+ # "oldString3" from "old-file2.dtd", it would be
+ # {
+ # ("new-file.ftl", "new-string1"): set(
+ # ("old-file1.dtd", "oldString1"),
+ # ("old-file2.dtd", "oldString2"),
+ # ),
+ # ("new-file.ftl", "new-string2"): set(
+ # ("old-file2.dtd", "oldString3"),
+ # ),
+ # }
+ dep_set = ctx.dependencies[(target_path, transform_id)]
+ can_transform = True
+ for dep in dep_set:
+ path, string_id = dep
+ if dep not in available_strings:
+ can_transform = False
+ self.logger.info(
+ f"Skipping transform {target_path}:{transform_id} "
+ f"for '{locale}' locale because it is missing the "
+ f"string {path}:{string_id}."
+ )
+ break
+ # Strings in legacy formats might have an entry in the file
+ # that is just a copy of the en-US strings.
+ # For these we want to check the weblate metadata to ensure
+ # it is a translated string.
+ if not path.endswith(
+ ".ftl"
+ ) and not self.weblate_metadata.is_translated(
+ os.path.join("en-US", path),
+ os.path.join(locale, path),
+ string_id,
+ ):
+ can_transform = False
+ self.logger.info(
+ f"Skipping transform {target_path}:{transform_id} "
+ f"for '{locale}' locale because the string "
+ f"{path}:{string_id} has not been translated on "
+ "weblate."
+ )
+ break
+ if not can_transform:
+ continue
+
+ # Run the transformation.
+ new_entries.append(ctx.evaluate(transform))
+
+ if not new_entries:
+ continue
+
+ full_path = os.path.join(locale_dir, target_path)
+ print("", file=sys.stderr)
self.logger.info(f"Writing to {full_path}")
- with open(full_path, "w") as file:
- file.write(fluent)
- wrote_file = True
+ # For Fluent we can just serialize the transformations and append
+ # them to the end of the existing file.
+ resource = ast.Resource(new_entries)
+ with open(full_path, "a") as file:
+ file.write(serialize(resource))
+
+ with open(full_path, "r") as file:
+ full_content = file.read()
+ wrote_file = True
# Collect any fluent parsing errors from the newly written file.
errors.extend(
(full_path, message, line, sample)
- for message, line, sample in self._fluent_errors(fluent)
+ for message, line, sample in self._fluent_errors(full_content)
)
if not wrote_file:
@@ -547,7 +598,7 @@ class TorBrowserMigrator:
have_error = True
continue
- transformed = ctx.tb_get_transformed(target_path, transform_id)
+ transformed = ctx.evaluate(ctx.tb_get_transform(target_path, transform_id))
reference_entry = ctx.tb_get_reference_entry(target_path, transform_id)
if reference_entry is None:
self.logger.error(
=====================================
tools/torbrowser/l10n/migrations/bug-42209-tor-circuit.py
=====================================
@@ -0,0 +1,83 @@
+import fluent.syntax.ast as FTL
+from fluent.migrate.helpers import VARIABLE_REFERENCE, transforms_from
+from fluent.migrate.transforms import CONCAT, REPLACE
+
+
+def migrate(ctx):
+ legacy_dtd = "torbutton.dtd"
+ legacy_properties = "torbutton.properties"
+ ctx.add_transforms(
+ "tor-browser.ftl",
+ "tor-browser.ftl",
+ transforms_from(
+ """
+menu-new-tor-circuit =
+ .label = { COPY(dtd_path, "torbutton.context_menu.new_circuit") }
+ .accesskey = { COPY(dtd_path, "torbutton.context_menu.new_circuit_key") }
+appmenuitem-new-tor-circuit =
+ .label = { COPY(dtd_path, "torbutton.context_menu.new_circuit_sentence_case") }
+toolbar-new-tor-circuit =
+ .label = { COPY(dtd_path, "torbutton.context_menu.new_circuit_sentence_case") }
+ .tooltiptext = { toolbar-new-tor-circuit.label }
+
+tor-circuit-urlbar-button =
+ .tooltiptext = { COPY(dtd_path, "torbutton.circuit_display.title") }
+
+tor-circuit-panel-node-list-introduction = { COPY(dtd_path, "torbutton.circuit_display.title") }
+tor-circuit-panel-node-browser = { COPY(path, "torbutton.circuit_display.this_browser") }
+tor-circuit-panel-node-onion-relays = { COPY(path, "torbutton.circuit_display.onion-site-relays") }
+tor-circuit-panel-node-bridge = { COPY(path, "torbutton.circuit_display.tor_bridge") }
+tor-circuit-panel-node-unknown-region = { COPY(path, "torbutton.circuit_display.unknown_region") }
+
+tor-circuit-panel-new-button = { COPY(dtd_path, "torbutton.context_menu.new_circuit_sentence_case") }
+tor-circuit-panel-new-button-description-guard = { COPY(path, "torbutton.circuit_display.new-circuit-guard-description") }
+tor-circuit-panel-new-button-description-bridge = { COPY(path, "torbutton.circuit_display.new-circuit-bridge-description") }
+""",
+ dtd_path=legacy_dtd,
+ path=legacy_properties,
+ )
+ + [
+ # Replace "%S" with "{ $host }"
+ FTL.Message(
+ id=FTL.Identifier("tor-circuit-panel-heading"),
+ value=REPLACE(
+ legacy_properties,
+ "torbutton.circuit_display.heading",
+ {"%1$S": VARIABLE_REFERENCE("host")},
+ ),
+ ),
+ # Replace "%S" with "<a data-l10n-name="alias-link">{ $alias }</a>"
+ FTL.Message(
+ id=FTL.Identifier("tor-circuit-panel-alias"),
+ value=REPLACE(
+ legacy_properties,
+ "torbutton.circuit_display.connected-to-alias",
+ {
+ "%1$S": CONCAT(
+ FTL.TextElement('<a data-l10n-name="alias-link">'),
+ VARIABLE_REFERENCE("alias"),
+ FTL.TextElement("</a>"),
+ )
+ },
+ ),
+ ),
+ # Replace "%S" with "{ $region }"
+ FTL.Message(
+ id=FTL.Identifier("tor-circuit-panel-node-region-guard"),
+ value=REPLACE(
+ legacy_properties,
+ "torbutton.circuit_display.region-guard-node",
+ {"%1$S": VARIABLE_REFERENCE("region")},
+ ),
+ ),
+ # Replace "%S" with "{ $bridge-type }"
+ FTL.Message(
+ id=FTL.Identifier("tor-circuit-panel-node-typed-bridge"),
+ value=REPLACE(
+ legacy_properties,
+ "torbutton.circuit_display.tor_typed_bridge",
+ {"%1$S": VARIABLE_REFERENCE("bridge-type")},
+ ),
+ ),
+ ],
+ )
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/b7fc91…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/b7fc91…
You're receiving this email because of your account on gitlab.torproject.org.
1
0
[Git][tpo/applications/mullvad-browser-update-responses][main] release: new version, 13.0.13
by richard (@richard) 22 Mar '24
by richard (@richard) 22 Mar '24
22 Mar '24
richard pushed to branch main at The Tor Project / Applications / mullvad-browser-update-responses
Commits:
dbce8663 by Richard Pospesel at 2024-03-22T17:31:33+00:00
release: new version, 13.0.13
- - - - -
29 changed files:
- update_1/release/.htaccess
- − update_1/release/13.0.10-13.0.12-linux-x86_64-ALL.xml
- − update_1/release/13.0.10-13.0.12-macos-ALL.xml
- − update_1/release/13.0.10-13.0.12-windows-x86_64-ALL.xml
- + update_1/release/13.0.10-13.0.13-linux-x86_64-ALL.xml
- + update_1/release/13.0.10-13.0.13-macos-ALL.xml
- + update_1/release/13.0.10-13.0.13-windows-x86_64-ALL.xml
- + update_1/release/13.0.12-13.0.13-linux-x86_64-ALL.xml
- + update_1/release/13.0.12-13.0.13-macos-ALL.xml
- + update_1/release/13.0.12-13.0.13-windows-x86_64-ALL.xml
- − update_1/release/13.0.12-linux-x86_64-ALL.xml
- − update_1/release/13.0.12-macos-ALL.xml
- − update_1/release/13.0.12-windows-x86_64-ALL.xml
- + update_1/release/13.0.13-linux-x86_64-ALL.xml
- + update_1/release/13.0.13-macos-ALL.xml
- + update_1/release/13.0.13-windows-x86_64-ALL.xml
- − update_1/release/13.0.7-13.0.12-linux-x86_64-ALL.xml
- − update_1/release/13.0.7-13.0.12-macos-ALL.xml
- − update_1/release/13.0.7-13.0.12-windows-x86_64-ALL.xml
- − update_1/release/13.0.9-13.0.12-linux-x86_64-ALL.xml
- − update_1/release/13.0.9-13.0.12-macos-ALL.xml
- − update_1/release/13.0.9-13.0.12-windows-x86_64-ALL.xml
- + update_1/release/13.0.9-13.0.13-linux-x86_64-ALL.xml
- + update_1/release/13.0.9-13.0.13-macos-ALL.xml
- + update_1/release/13.0.9-13.0.13-windows-x86_64-ALL.xml
- update_1/release/download-linux-x86_64.json
- update_1/release/download-macos.json
- update_1/release/download-windows-x86_64.json
- update_1/release/downloads.json
Changes:
=====================================
update_1/release/.htaccess
=====================================
@@ -1,22 +1,22 @@
RewriteEngine On
-RewriteRule ^[^/]+/13.0.12/ no-update.xml [last]
-RewriteRule ^Linux_x86_64-gcc3/13.0.10/ALL 13.0.10-13.0.12-linux-x86_64-ALL.xml [last]
-RewriteRule ^Linux_x86_64-gcc3/13.0.7/ALL 13.0.7-13.0.12-linux-x86_64-ALL.xml [last]
-RewriteRule ^Linux_x86_64-gcc3/13.0.9/ALL 13.0.9-13.0.12-linux-x86_64-ALL.xml [last]
-RewriteRule ^Linux_x86_64-gcc3/[^/]+/ALL 13.0.12-linux-x86_64-ALL.xml [last]
-RewriteRule ^Linux_x86_64-gcc3/ 13.0.12-linux-x86_64-ALL.xml [last]
-RewriteRule ^Darwin_x86_64-gcc3/13.0.10/ALL 13.0.10-13.0.12-macos-ALL.xml [last]
-RewriteRule ^Darwin_x86_64-gcc3/13.0.7/ALL 13.0.7-13.0.12-macos-ALL.xml [last]
-RewriteRule ^Darwin_x86_64-gcc3/13.0.9/ALL 13.0.9-13.0.12-macos-ALL.xml [last]
-RewriteRule ^Darwin_x86_64-gcc3/[^/]+/ALL 13.0.12-macos-ALL.xml [last]
-RewriteRule ^Darwin_x86_64-gcc3/ 13.0.12-macos-ALL.xml [last]
-RewriteRule ^Darwin_aarch64-gcc3/13.0.10/ALL 13.0.10-13.0.12-macos-ALL.xml [last]
-RewriteRule ^Darwin_aarch64-gcc3/13.0.7/ALL 13.0.7-13.0.12-macos-ALL.xml [last]
-RewriteRule ^Darwin_aarch64-gcc3/13.0.9/ALL 13.0.9-13.0.12-macos-ALL.xml [last]
-RewriteRule ^Darwin_aarch64-gcc3/[^/]+/ALL 13.0.12-macos-ALL.xml [last]
-RewriteRule ^Darwin_aarch64-gcc3/ 13.0.12-macos-ALL.xml [last]
-RewriteRule ^WINNT_x86_64-gcc3-x64/13.0.10/ALL 13.0.10-13.0.12-windows-x86_64-ALL.xml [last]
-RewriteRule ^WINNT_x86_64-gcc3-x64/13.0.7/ALL 13.0.7-13.0.12-windows-x86_64-ALL.xml [last]
-RewriteRule ^WINNT_x86_64-gcc3-x64/13.0.9/ALL 13.0.9-13.0.12-windows-x86_64-ALL.xml [last]
-RewriteRule ^WINNT_x86_64-gcc3-x64/[^/]+/ALL 13.0.12-windows-x86_64-ALL.xml [last]
-RewriteRule ^WINNT_x86_64-gcc3-x64/ 13.0.12-windows-x86_64-ALL.xml [last]
+RewriteRule ^[^/]+/13.0.13/ no-update.xml [last]
+RewriteRule ^Linux_x86_64-gcc3/13.0.10/ALL 13.0.10-13.0.13-linux-x86_64-ALL.xml [last]
+RewriteRule ^Linux_x86_64-gcc3/13.0.12/ALL 13.0.12-13.0.13-linux-x86_64-ALL.xml [last]
+RewriteRule ^Linux_x86_64-gcc3/13.0.9/ALL 13.0.9-13.0.13-linux-x86_64-ALL.xml [last]
+RewriteRule ^Linux_x86_64-gcc3/[^/]+/ALL 13.0.13-linux-x86_64-ALL.xml [last]
+RewriteRule ^Linux_x86_64-gcc3/ 13.0.13-linux-x86_64-ALL.xml [last]
+RewriteRule ^Darwin_x86_64-gcc3/13.0.10/ALL 13.0.10-13.0.13-macos-ALL.xml [last]
+RewriteRule ^Darwin_x86_64-gcc3/13.0.12/ALL 13.0.12-13.0.13-macos-ALL.xml [last]
+RewriteRule ^Darwin_x86_64-gcc3/13.0.9/ALL 13.0.9-13.0.13-macos-ALL.xml [last]
+RewriteRule ^Darwin_x86_64-gcc3/[^/]+/ALL 13.0.13-macos-ALL.xml [last]
+RewriteRule ^Darwin_x86_64-gcc3/ 13.0.13-macos-ALL.xml [last]
+RewriteRule ^Darwin_aarch64-gcc3/13.0.10/ALL 13.0.10-13.0.13-macos-ALL.xml [last]
+RewriteRule ^Darwin_aarch64-gcc3/13.0.12/ALL 13.0.12-13.0.13-macos-ALL.xml [last]
+RewriteRule ^Darwin_aarch64-gcc3/13.0.9/ALL 13.0.9-13.0.13-macos-ALL.xml [last]
+RewriteRule ^Darwin_aarch64-gcc3/[^/]+/ALL 13.0.13-macos-ALL.xml [last]
+RewriteRule ^Darwin_aarch64-gcc3/ 13.0.13-macos-ALL.xml [last]
+RewriteRule ^WINNT_x86_64-gcc3-x64/13.0.10/ALL 13.0.10-13.0.13-windows-x86_64-ALL.xml [last]
+RewriteRule ^WINNT_x86_64-gcc3-x64/13.0.12/ALL 13.0.12-13.0.13-windows-x86_64-ALL.xml [last]
+RewriteRule ^WINNT_x86_64-gcc3-x64/13.0.9/ALL 13.0.9-13.0.13-windows-x86_64-ALL.xml [last]
+RewriteRule ^WINNT_x86_64-gcc3-x64/[^/]+/ALL 13.0.13-windows-x86_64-ALL.xml [last]
+RewriteRule ^WINNT_x86_64-gcc3-x64/ 13.0.13-windows-x86_64-ALL.xml [last]
=====================================
update_1/release/13.0.10-13.0.12-linux-x86_64-ALL.xml deleted
=====================================
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<updates><update type="minor" displayVersion="13.0.12" appVersion="13.0.12" platformVersion="115.9.0" buildID="20240313183935" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.0.12" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.0.12" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-linux-x86_64-13.0.1…" hashFunction="SHA512" hashValue="376b402661d94c1b3d485fc380095a8ad9546eed3ff9f4cf4abfb6765c5248c0f17e0bf568a9fd698c27dd7041aabed087eec015023a856296702e7ff48bc828" size="107414187" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-linux-x86_64--13.0.…" hashFunction="SHA512" hashValue="7ad00dc2b0acd1e4fe72797e0be720a5df5675580de689ff7dec0d032fee7c037ced1027ff5107e140d149537cc04d74a6b4bcff6f641e5037fcf580095ea84f" size="7848684" type="partial"></patch></update></updates>
=====================================
update_1/release/13.0.10-13.0.12-macos-ALL.xml deleted
=====================================
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<updates><update type="minor" displayVersion="13.0.12" appVersion="13.0.12" platformVersion="115.9.0" buildID="20240313183935" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.0.12" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.0.12" minSupportedOSVersion="16.0.0"><patch URL="https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-macos-13.0.12_ALL.m…" hashFunction="SHA512" hashValue="8facedccd5a4d1a5802b286683d36716ecd6e11b44aabd365a29c53d1c1c401ddb1a3913c95e4db1e38be03f12079f545e8ee3054bd4778ce61fc5fe9f562c7e" size="115462583" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-macos--13.0.10-13.0…" hashFunction="SHA512" hashValue="4f8bcee04e7ddc9684f0f264b12a81dce94a179a7ceaa686427079021d18b17b5ac21d27d612abab50cd6f77560351e1edb8721f68b75b3e57185db65d7ae96f" size="12124599" type="partial"></patch></update></updates>
=====================================
update_1/release/13.0.10-13.0.12-windows-x86_64-ALL.xml deleted
=====================================
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<updates><update type="minor" displayVersion="13.0.12" appVersion="13.0.12" platformVersion="115.9.0" buildID="20240313183935" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.0.12" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.0.12" minSupportedOSVersion="6.1" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-windows-x86_64-13.0…" hashFunction="SHA512" hashValue="3c30c836e8de5492cffded24e31aae556449da223906706f12af44875401b889fd0609a840bfe1d6a8a845ef2c141bc907cf1c7b3a5d2e0b7e4757f0b66bc9ba" size="89384780" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-windows-x86_64--13.…" hashFunction="SHA512" hashValue="72df0c72c97068315d781a017da91d6279d4026f94db5e5d58eb7a711f04509a659142d60fe335559afa713dc026f998cc1de6c8e6383ec4896888d607837b17" size="8560367" type="partial"></patch></update></updates>
=====================================
update_1/release/13.0.10-13.0.13-linux-x86_64-ALL.xml
=====================================
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<updates><update type="minor" displayVersion="13.0.13" appVersion="13.0.13" platformVersion="115.9.1" buildID="20240322132912" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.0.13" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.0.13" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-linux-x86_64-13.0.1…" hashFunction="SHA512" hashValue="04cad7d72b90b41fcca52e05cb4c5904d6516669a32772c498e0b0bb2803ce10e1458ff76d4acfd5a3d9146d8673b258a74c45ca978eb09ea7dcf37c1c2e5238" size="107414411" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-linux-x86_64--13.0.…" hashFunction="SHA512" hashValue="44124453ad5e941790fa865442479ec425373e148a23e7a0f90b494d9e32e623d99c91fbbe942bb3633016663347593962ce7c2a51a5a69eee30433302f42d19" size="7912308" type="partial"></patch></update></updates>
=====================================
update_1/release/13.0.10-13.0.13-macos-ALL.xml
=====================================
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<updates><update type="minor" displayVersion="13.0.13" appVersion="13.0.13" platformVersion="115.9.1" buildID="20240322132912" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.0.13" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.0.13" minSupportedOSVersion="16.0.0"><patch URL="https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-macos-13.0.13_ALL.m…" hashFunction="SHA512" hashValue="7afaca7077a1f968705fcf1094d16a1b441befcbd2de342654ca78d6ba7cc631622493afd3e71984839283aa37abc66c92021dfee8ecdfd345019a549a220ffb" size="115471199" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-macos--13.0.10-13.0…" hashFunction="SHA512" hashValue="9fa955c4ac58cb215cfb783284dca39fbbaab7dcebf9f58ca7e4884ffeb03c102abf97c07c7b7adf60c5d69180529afb48f1a9ca5237d42cb3866c7131a6d687" size="12184147" type="partial"></patch></update></updates>
=====================================
update_1/release/13.0.10-13.0.13-windows-x86_64-ALL.xml
=====================================
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<updates><update type="minor" displayVersion="13.0.13" appVersion="13.0.13" platformVersion="115.9.1" buildID="20240322132912" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.0.13" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.0.13" minSupportedOSVersion="6.1" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-windows-x86_64-13.0…" hashFunction="SHA512" hashValue="c6aea6ab8c33c4c58bd3a5783db1c7ed4682706e09a239b6ac61b6e28f783ae785891b88374caecbeb49dd388853f090e09a0ff84540de69dcccc065fa6abdbe" size="89393168" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-windows-x86_64--13.…" hashFunction="SHA512" hashValue="879e5c052f493485631911ae8b95dcd259c376a43d25ea5e502e2bf3db6e4e66162704d73d0597e85a1433c04fc1d464d64dd4da30b91ce9d77729729d0e931c" size="8623995" type="partial"></patch></update></updates>
=====================================
update_1/release/13.0.12-13.0.13-linux-x86_64-ALL.xml
=====================================
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<updates><update type="minor" displayVersion="13.0.13" appVersion="13.0.13" platformVersion="115.9.1" buildID="20240322132912" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.0.13" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.0.13" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-linux-x86_64-13.0.1…" hashFunction="SHA512" hashValue="04cad7d72b90b41fcca52e05cb4c5904d6516669a32772c498e0b0bb2803ce10e1458ff76d4acfd5a3d9146d8673b258a74c45ca978eb09ea7dcf37c1c2e5238" size="107414411" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-linux-x86_64--13.0.…" hashFunction="SHA512" hashValue="e23005d579adbfd1b3cd6b2ee19b7c5c861afa19169d8c6a9249b2ce71c676eac7f7abfa6c1f0d643f7c6372e1ed364657543c88de2bb570938e23629310c85e" size="186481" type="partial"></patch></update></updates>
=====================================
update_1/release/13.0.12-13.0.13-macos-ALL.xml
=====================================
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<updates><update type="minor" displayVersion="13.0.13" appVersion="13.0.13" platformVersion="115.9.1" buildID="20240322132912" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.0.13" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.0.13" minSupportedOSVersion="16.0.0"><patch URL="https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-macos-13.0.13_ALL.m…" hashFunction="SHA512" hashValue="7afaca7077a1f968705fcf1094d16a1b441befcbd2de342654ca78d6ba7cc631622493afd3e71984839283aa37abc66c92021dfee8ecdfd345019a549a220ffb" size="115471199" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-macos--13.0.12-13.0…" hashFunction="SHA512" hashValue="9c446838df3df621eb3d282f1d6ed5313eaf228f004ecada89b99e67075217556bf6cbd78f709a2f527719cbcfa394cd9266388ef782d6a1a2b69863380ebe8a" size="208530" type="partial"></patch></update></updates>
=====================================
update_1/release/13.0.12-13.0.13-windows-x86_64-ALL.xml
=====================================
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<updates><update type="minor" displayVersion="13.0.13" appVersion="13.0.13" platformVersion="115.9.1" buildID="20240322132912" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.0.13" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.0.13" minSupportedOSVersion="6.1" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-windows-x86_64-13.0…" hashFunction="SHA512" hashValue="c6aea6ab8c33c4c58bd3a5783db1c7ed4682706e09a239b6ac61b6e28f783ae785891b88374caecbeb49dd388853f090e09a0ff84540de69dcccc065fa6abdbe" size="89393168" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-windows-x86_64--13.…" hashFunction="SHA512" hashValue="0e958f81c03c334f01ec24727d8b7b203cccd36bc7ef11c97b1792e7b8c2296eb5f148c28bc3ba334b51012dcdb5d2830d7195fa6265e065dfbde1505549be52" size="189676" type="partial"></patch></update></updates>
=====================================
update_1/release/13.0.12-linux-x86_64-ALL.xml deleted
=====================================
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<updates><update type="minor" displayVersion="13.0.12" appVersion="13.0.12" platformVersion="115.9.0" buildID="20240313183935" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.0.12" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.0.12" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-linux-x86_64-13.0.1…" hashFunction="SHA512" hashValue="376b402661d94c1b3d485fc380095a8ad9546eed3ff9f4cf4abfb6765c5248c0f17e0bf568a9fd698c27dd7041aabed087eec015023a856296702e7ff48bc828" size="107414187" type="complete"></patch></update></updates>
=====================================
update_1/release/13.0.12-macos-ALL.xml deleted
=====================================
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<updates><update type="minor" displayVersion="13.0.12" appVersion="13.0.12" platformVersion="115.9.0" buildID="20240313183935" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.0.12" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.0.12" minSupportedOSVersion="16.0.0"><patch URL="https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-macos-13.0.12_ALL.m…" hashFunction="SHA512" hashValue="8facedccd5a4d1a5802b286683d36716ecd6e11b44aabd365a29c53d1c1c401ddb1a3913c95e4db1e38be03f12079f545e8ee3054bd4778ce61fc5fe9f562c7e" size="115462583" type="complete"></patch></update></updates>
=====================================
update_1/release/13.0.12-windows-x86_64-ALL.xml deleted
=====================================
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<updates><update type="minor" displayVersion="13.0.12" appVersion="13.0.12" platformVersion="115.9.0" buildID="20240313183935" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.0.12" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.0.12" minSupportedOSVersion="6.1" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-windows-x86_64-13.0…" hashFunction="SHA512" hashValue="3c30c836e8de5492cffded24e31aae556449da223906706f12af44875401b889fd0609a840bfe1d6a8a845ef2c141bc907cf1c7b3a5d2e0b7e4757f0b66bc9ba" size="89384780" type="complete"></patch></update></updates>
=====================================
update_1/release/13.0.13-linux-x86_64-ALL.xml
=====================================
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<updates><update type="minor" displayVersion="13.0.13" appVersion="13.0.13" platformVersion="115.9.1" buildID="20240322132912" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.0.13" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.0.13" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-linux-x86_64-13.0.1…" hashFunction="SHA512" hashValue="04cad7d72b90b41fcca52e05cb4c5904d6516669a32772c498e0b0bb2803ce10e1458ff76d4acfd5a3d9146d8673b258a74c45ca978eb09ea7dcf37c1c2e5238" size="107414411" type="complete"></patch></update></updates>
=====================================
update_1/release/13.0.13-macos-ALL.xml
=====================================
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<updates><update type="minor" displayVersion="13.0.13" appVersion="13.0.13" platformVersion="115.9.1" buildID="20240322132912" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.0.13" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.0.13" minSupportedOSVersion="16.0.0"><patch URL="https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-macos-13.0.13_ALL.m…" hashFunction="SHA512" hashValue="7afaca7077a1f968705fcf1094d16a1b441befcbd2de342654ca78d6ba7cc631622493afd3e71984839283aa37abc66c92021dfee8ecdfd345019a549a220ffb" size="115471199" type="complete"></patch></update></updates>
=====================================
update_1/release/13.0.13-windows-x86_64-ALL.xml
=====================================
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<updates><update type="minor" displayVersion="13.0.13" appVersion="13.0.13" platformVersion="115.9.1" buildID="20240322132912" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.0.13" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.0.13" minSupportedOSVersion="6.1" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-windows-x86_64-13.0…" hashFunction="SHA512" hashValue="c6aea6ab8c33c4c58bd3a5783db1c7ed4682706e09a239b6ac61b6e28f783ae785891b88374caecbeb49dd388853f090e09a0ff84540de69dcccc065fa6abdbe" size="89393168" type="complete"></patch></update></updates>
=====================================
update_1/release/13.0.7-13.0.12-linux-x86_64-ALL.xml deleted
=====================================
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<updates><update type="minor" displayVersion="13.0.12" appVersion="13.0.12" platformVersion="115.9.0" buildID="20240313183935" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.0.12" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.0.12" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-linux-x86_64-13.0.1…" hashFunction="SHA512" hashValue="376b402661d94c1b3d485fc380095a8ad9546eed3ff9f4cf4abfb6765c5248c0f17e0bf568a9fd698c27dd7041aabed087eec015023a856296702e7ff48bc828" size="107414187" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-linux-x86_64--13.0.…" hashFunction="SHA512" hashValue="6fecc36a34bd3d38aa5c34d53bd6d71c6794d07287447f6f70b203f7d210ab485b7face9c7f831c5c526b5549cbf1458a074c146945219b5d8c6561bce2496ed" size="12369078" type="partial"></patch></update></updates>
=====================================
update_1/release/13.0.7-13.0.12-macos-ALL.xml deleted
=====================================
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<updates><update type="minor" displayVersion="13.0.12" appVersion="13.0.12" platformVersion="115.9.0" buildID="20240313183935" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.0.12" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.0.12" minSupportedOSVersion="16.0.0"><patch URL="https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-macos-13.0.12_ALL.m…" hashFunction="SHA512" hashValue="8facedccd5a4d1a5802b286683d36716ecd6e11b44aabd365a29c53d1c1c401ddb1a3913c95e4db1e38be03f12079f545e8ee3054bd4778ce61fc5fe9f562c7e" size="115462583" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-macos--13.0.7-13.0.…" hashFunction="SHA512" hashValue="5dcb89d5f4565bb8513a20efaf84f25f6f85229181400ead93095783553a7ff57abea8643c4196ffc07f33f6c22b3d1d96f2f97a2c32f163397db9a711443629" size="17020253" type="partial"></patch></update></updates>
=====================================
update_1/release/13.0.7-13.0.12-windows-x86_64-ALL.xml deleted
=====================================
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<updates><update type="minor" displayVersion="13.0.12" appVersion="13.0.12" platformVersion="115.9.0" buildID="20240313183935" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.0.12" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.0.12" minSupportedOSVersion="6.1" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-windows-x86_64-13.0…" hashFunction="SHA512" hashValue="3c30c836e8de5492cffded24e31aae556449da223906706f12af44875401b889fd0609a840bfe1d6a8a845ef2c141bc907cf1c7b3a5d2e0b7e4757f0b66bc9ba" size="89384780" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-windows-x86_64--13.…" hashFunction="SHA512" hashValue="e0cf078c426841dd4b80e3efbbc33c577a95ffd0af5ea64303989f265b274311725948ec6ffcd832867c7bf9cca51e76078a02aa107663dae22b58791d439c64" size="13174209" type="partial"></patch></update></updates>
=====================================
update_1/release/13.0.9-13.0.12-linux-x86_64-ALL.xml deleted
=====================================
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<updates><update type="minor" displayVersion="13.0.12" appVersion="13.0.12" platformVersion="115.9.0" buildID="20240313183935" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.0.12" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.0.12" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-linux-x86_64-13.0.1…" hashFunction="SHA512" hashValue="376b402661d94c1b3d485fc380095a8ad9546eed3ff9f4cf4abfb6765c5248c0f17e0bf568a9fd698c27dd7041aabed087eec015023a856296702e7ff48bc828" size="107414187" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-linux-x86_64--13.0.…" hashFunction="SHA512" hashValue="27584d28396169d940626225c8ea910b586995de8fcdf0df305585dd2ae62b4f96c8a84135c52cc10d501b3db35fdbdcae8aa96d78a1e89f5c62fe2195dba090" size="8755552" type="partial"></patch></update></updates>
=====================================
update_1/release/13.0.9-13.0.12-macos-ALL.xml deleted
=====================================
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<updates><update type="minor" displayVersion="13.0.12" appVersion="13.0.12" platformVersion="115.9.0" buildID="20240313183935" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.0.12" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.0.12" minSupportedOSVersion="16.0.0"><patch URL="https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-macos-13.0.12_ALL.m…" hashFunction="SHA512" hashValue="8facedccd5a4d1a5802b286683d36716ecd6e11b44aabd365a29c53d1c1c401ddb1a3913c95e4db1e38be03f12079f545e8ee3054bd4778ce61fc5fe9f562c7e" size="115462583" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-macos--13.0.9-13.0.…" hashFunction="SHA512" hashValue="689f37db7be6488773db9e405f7742869cb0885135ab231690fd6b424f4c3a54aedd01f98547e5fffacffe11bd902f77bf3b80279ba2202d16732f221bc71dba" size="13343215" type="partial"></patch></update></updates>
=====================================
update_1/release/13.0.9-13.0.12-windows-x86_64-ALL.xml deleted
=====================================
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<updates><update type="minor" displayVersion="13.0.12" appVersion="13.0.12" platformVersion="115.9.0" buildID="20240313183935" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.0.12" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.0.12" minSupportedOSVersion="6.1" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-windows-x86_64-13.0…" hashFunction="SHA512" hashValue="3c30c836e8de5492cffded24e31aae556449da223906706f12af44875401b889fd0609a840bfe1d6a8a845ef2c141bc907cf1c7b3a5d2e0b7e4757f0b66bc9ba" size="89384780" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-windows-x86_64--13.…" hashFunction="SHA512" hashValue="2c0d987c01caee4d38ed9fddfd7f34403f9c00aadf90dadc792a2e9bc062276d6253db468b25e3448a94163a22f94da18f34fafd32e2ca2efb78ac46bdaef286" size="9488151" type="partial"></patch></update></updates>
=====================================
update_1/release/13.0.9-13.0.13-linux-x86_64-ALL.xml
=====================================
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<updates><update type="minor" displayVersion="13.0.13" appVersion="13.0.13" platformVersion="115.9.1" buildID="20240322132912" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.0.13" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.0.13" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-linux-x86_64-13.0.1…" hashFunction="SHA512" hashValue="04cad7d72b90b41fcca52e05cb4c5904d6516669a32772c498e0b0bb2803ce10e1458ff76d4acfd5a3d9146d8673b258a74c45ca978eb09ea7dcf37c1c2e5238" size="107414411" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-linux-x86_64--13.0.…" hashFunction="SHA512" hashValue="913d31600e2b0d20645927fe0549da5881859dc5990942780e3423df7265fabf343b40037a2b488d55fdaeb49f911d3212f61970affd55e43e8f441a489a65c9" size="8819028" type="partial"></patch></update></updates>
=====================================
update_1/release/13.0.9-13.0.13-macos-ALL.xml
=====================================
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<updates><update type="minor" displayVersion="13.0.13" appVersion="13.0.13" platformVersion="115.9.1" buildID="20240322132912" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.0.13" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.0.13" minSupportedOSVersion="16.0.0"><patch URL="https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-macos-13.0.13_ALL.m…" hashFunction="SHA512" hashValue="7afaca7077a1f968705fcf1094d16a1b441befcbd2de342654ca78d6ba7cc631622493afd3e71984839283aa37abc66c92021dfee8ecdfd345019a549a220ffb" size="115471199" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-macos--13.0.9-13.0.…" hashFunction="SHA512" hashValue="aab41c685738d2288a7f5e33d83c7ef669460e981a6e9a454e81b8b0b5eef77a01babcb17cb7a071591edfae0a55357de79e5e54df4a07c51383f04e49a1d562" size="13403343" type="partial"></patch></update></updates>
=====================================
update_1/release/13.0.9-13.0.13-windows-x86_64-ALL.xml
=====================================
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<updates><update type="minor" displayVersion="13.0.13" appVersion="13.0.13" platformVersion="115.9.1" buildID="20240322132912" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.0.13" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.0.13" minSupportedOSVersion="6.1" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-windows-x86_64-13.0…" hashFunction="SHA512" hashValue="c6aea6ab8c33c4c58bd3a5783db1c7ed4682706e09a239b6ac61b6e28f783ae785891b88374caecbeb49dd388853f090e09a0ff84540de69dcccc065fa6abdbe" size="89393168" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-windows-x86_64--13.…" hashFunction="SHA512" hashValue="6683305d0c690acd1ee2c5e5c10b430b9b2e93f4905a4cf51f883cf92096291f8373a836a283cdb6fbf60258556052c7308b35b63197e958ae83b7e0212231fa" size="9548715" type="partial"></patch></update></updates>
=====================================
update_1/release/download-linux-x86_64.json
=====================================
@@ -1 +1 @@
-{"binary":"https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-linux-x86_64-13.0.1…","git_tag":"mb-13.0.12-build1","sig":"https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-linux-x86_64-13.0.1…","version":"13.0.12"}
\ No newline at end of file
+{"binary":"https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-linux-x86_64-13.0.1…","git_tag":"mb-13.0.13-build1","sig":"https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-linux-x86_64-13.0.1…","version":"13.0.13"}
\ No newline at end of file
=====================================
update_1/release/download-macos.json
=====================================
@@ -1 +1 @@
-{"binary":"https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-macos-13.0.12.dmg","git_tag":"mb-13.0.12-build1","sig":"https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-macos-13.0.12.dmg.a…","version":"13.0.12"}
\ No newline at end of file
+{"binary":"https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-macos-13.0.13.dmg","git_tag":"mb-13.0.13-build1","sig":"https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-macos-13.0.13.dmg.a…","version":"13.0.13"}
\ No newline at end of file
=====================================
update_1/release/download-windows-x86_64.json
=====================================
@@ -1 +1 @@
-{"binary":"https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-windows-x86_64-port…","git_tag":"mb-13.0.12-build1","sig":"https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-windows-x86_64-port…","version":"13.0.12"}
\ No newline at end of file
+{"binary":"https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-windows-x86_64-port…","git_tag":"mb-13.0.13-build1","sig":"https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-windows-x86_64-port…","version":"13.0.13"}
\ No newline at end of file
=====================================
update_1/release/downloads.json
=====================================
@@ -1 +1 @@
-{"downloads":{"linux-x86_64":{"ALL":{"binary":"https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-linux-x86_64-13.0.1…","sig":"https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-linux-x86_64-13.0.1…"}},"macos":{"ALL":{"binary":"https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-macos-13.0.12.dmg","sig":"https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-macos-13.0.12.dmg.a…"}},"win64":{"ALL":{"binary":"https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-windows-x86_64-port…","sig":"https://cdn.mullvad.net/browser/13.0.12/mullvad-browser-windows-x86_64-port…"}}},"tag":"mb-13.0.12-build1","version":"13.0.12"}
\ No newline at end of file
+{"downloads":{"linux-x86_64":{"ALL":{"binary":"https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-linux-x86_64-13.0.1…","sig":"https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-linux-x86_64-13.0.1…"}},"macos":{"ALL":{"binary":"https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-macos-13.0.13.dmg","sig":"https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-macos-13.0.13.dmg.a…"}},"win64":{"ALL":{"binary":"https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-windows-x86_64-port…","sig":"https://cdn.mullvad.net/browser/13.0.13/mullvad-browser-windows-x86_64-port…"}}},"tag":"mb-13.0.13-build1","version":"13.0.13"}
\ 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-update-responses][main] release: new version, 13.0.13
by richard (@richard) 22 Mar '24
by richard (@richard) 22 Mar '24
22 Mar '24
richard pushed to branch main at The Tor Project / Applications / Tor Browser update responses
Commits:
95b50a78 by Richard Pospesel at 2024-03-22T17:02:09+00:00
release: new version, 13.0.13
- - - - -
30 changed files:
- update_3/release/.htaccess
- − update_3/release/13.0.10-13.0.12-linux-i686-ALL.xml
- − update_3/release/13.0.10-13.0.12-linux-x86_64-ALL.xml
- − update_3/release/13.0.10-13.0.12-macos-ALL.xml
- − update_3/release/13.0.10-13.0.12-windows-i686-ALL.xml
- − update_3/release/13.0.10-13.0.12-windows-x86_64-ALL.xml
- + update_3/release/13.0.10-13.0.13-linux-i686-ALL.xml
- + update_3/release/13.0.10-13.0.13-linux-x86_64-ALL.xml
- + update_3/release/13.0.10-13.0.13-macos-ALL.xml
- + update_3/release/13.0.10-13.0.13-windows-i686-ALL.xml
- + update_3/release/13.0.10-13.0.13-windows-x86_64-ALL.xml
- − update_3/release/13.0.11-13.0.12-linux-i686-ALL.xml
- − update_3/release/13.0.11-13.0.12-linux-x86_64-ALL.xml
- − update_3/release/13.0.11-13.0.12-macos-ALL.xml
- − update_3/release/13.0.11-13.0.12-windows-i686-ALL.xml
- − update_3/release/13.0.11-13.0.12-windows-x86_64-ALL.xml
- + update_3/release/13.0.11-13.0.13-linux-i686-ALL.xml
- + update_3/release/13.0.11-13.0.13-linux-x86_64-ALL.xml
- + update_3/release/13.0.11-13.0.13-macos-ALL.xml
- + update_3/release/13.0.11-13.0.13-windows-i686-ALL.xml
- + update_3/release/13.0.11-13.0.13-windows-x86_64-ALL.xml
- + update_3/release/13.0.12-13.0.13-linux-i686-ALL.xml
- + update_3/release/13.0.12-13.0.13-linux-x86_64-ALL.xml
- + update_3/release/13.0.12-13.0.13-macos-ALL.xml
- + update_3/release/13.0.12-13.0.13-windows-i686-ALL.xml
- + update_3/release/13.0.12-13.0.13-windows-x86_64-ALL.xml
- − update_3/release/13.0.12-linux-i686-ALL.xml
- − update_3/release/13.0.12-linux-x86_64-ALL.xml
- − update_3/release/13.0.12-macos-ALL.xml
- − update_3/release/13.0.12-windows-i686-ALL.xml
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-update-responses…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-update-responses…
You're receiving this email because of your account on gitlab.torproject.org.
1
0
[Git][tpo/applications/tor-browser-build] Pushed new tag mb-13.0.13-build1
by richard (@richard) 22 Mar '24
by richard (@richard) 22 Mar '24
22 Mar '24
richard pushed new tag mb-13.0.13-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/tor-browser-build] Pushed new tag tbb-13.0.13-build1
by richard (@richard) 22 Mar '24
by richard (@richard) 22 Mar '24
22 Mar '24
richard pushed new tag tbb-13.0.13-build1 at The Tor Project / Applications / tor-browser-build
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/tree/tbb…
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.9.1esr-13.0-1-build1
by ma1 (@ma1) 22 Mar '24
by ma1 (@ma1) 22 Mar '24
22 Mar '24
ma1 pushed new tag mullvad-browser-115.9.1esr-13.0-1-build1 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/mullvad-browser][mullvad-browser-115.9.1esr-13.0-1] 18 commits: MB 38: Mullvad Browser configuration
by ma1 (@ma1) 22 Mar '24
by ma1 (@ma1) 22 Mar '24
22 Mar '24
ma1 pushed to branch mullvad-browser-115.9.1esr-13.0-1 at The Tor Project / Applications / Mullvad Browser
Commits:
e27339b2 by Pier Angelo Vendrame at 2024-03-22T13:30:37+01:00
MB 38: Mullvad Browser configuration
- - - - -
890fc86e by Pier Angelo Vendrame at 2024-03-22T13:30:38+01:00
MB 1: Mullvad Browser branding
See also:
mullvad-browser#5: Product name and directory customization
mullvad-browser#12: Create new branding directories and integrate Mullvad icons+branding
mullvad-browser#14: Remove Default Built-in bookmarks
mullvad-browser#35: Add custom PDF icons for Windows builds
mullvad-browser#48: Replace Mozilla copyright and legal trademarks in mullvadbrowser.exe metadata
mullvad-browser#51: Update trademark string
mullvad-browser#104: Update shipped dll metadata copyright/licensing info
mullvad-browser#107: Add alpha and nightly icons
- - - - -
8457cfe2 by Pier Angelo Vendrame at 2024-03-22T13:30:39+01:00
MB 20: Allow packaged-addons in PBM.
We install a few addons from the distribution directory, but they are
not automatically enabled for PBM mode.
This commit modifies the code that installs them to also add the PBM
permission to the known ones.
- - - - -
9ebfee4d by Pier Angelo Vendrame at 2024-03-22T13:30:40+01:00
MB 63: Customize some about pages for Mullvad Browser
Also:
mullvad-browser#57: Purge unneeded about: pages
- - - - -
c73a54ab by Pier Angelo Vendrame at 2024-03-22T14:07:02+01:00
MB 37: Customization for the about dialog
- - - - -
0643bbdd by Henry Wilkes at 2024-03-22T14:07:03+01:00
MB 39: Add home page about:mullvad-browser
- - - - -
6e0a04f3 by hackademix at 2024-03-22T14:07:05+01:00
MB 97: Remove UI cues to install new extensions.
- - - - -
5d3323fe by hackademix at 2024-03-22T14:07:06+01:00
MB 47: uBlock Origin customization
- - - - -
e6a2e35b by Pier Angelo Vendrame at 2024-03-22T14:07:08+01:00
MB 21: Disable the password manager
This commit disables the about:login page and removes the "Login and
Password" section of about:preferences.
We do not do anything to the real password manager of Firefox, that is
in toolkit: it contains C++ parts that make it difficult to actually
prevent it from being built..
Finally, we modify the the function that opens about:login to report an
error in the console so that we can quickly get a backtrace to the code
that tries to use it.
- - - - -
58d1dbda by Pier Angelo Vendrame at 2024-03-22T14:07:09+01:00
MB 87: Disable the default browser box on Windows and Linux
Windows and Linux will be distributed only as portable apps at the
beginning, so they should not be settable as default browsers.
We will need to improve the logic once we decide to ship system-wide
installers, too.
- - - - -
a055020f by Pier Angelo Vendrame at 2024-03-22T14:07:10+01:00
MB 112: Updater customization for Mullvad Browser
MB 71: Set the updater base URL to Mullvad domain
- - - - -
233c5e02 by Nicolas Vigier at 2024-03-22T14:07:12+01:00
MB 79: Add Mullvad Browser MAR signing keys
MB 256: Add mullvad-browser nightly mar signing key
- - - - -
f424d0a6 by Pier Angelo Vendrame at 2024-03-22T14:07:14+01:00
MB 34: Hide unsafe and unwanted preferences UI
about:preferences allow to override some of our defaults, that could
be fingeprintable or have some other unwanted consequences.
- - - - -
f0d45502 by Pier Angelo Vendrame at 2024-03-22T14:07:15+01:00
MB 160: Disable the cookie exceptions button
Besides disabling the "Delete on close checkbox", disable also the
"Manage Exceptions" button when always using PBM.
- - - - -
31171acd by hackademix at 2024-03-22T14:07:16+01:00
MB 163: prevent uBlock Origin from being uninstalled/disabled
- - - - -
1f741e74 by Richard Pospesel at 2024-03-22T14:07:17+01:00
MB 188: Customize Gitlab Issue and Merge templates
- - - - -
a86d6ab2 by rui hildt at 2024-03-22T14:07:18+01:00
MB 213: Customize the search engines list
- - - - -
6cd85fb3 by hackademix at 2024-03-22T14:07:19+01:00
MB 214: Enable cross-tab identity leak protection in "quiet" mode
- - - - -
30 changed files:
- + .gitlab/issue_templates/Rebase Browser - Alpha.md
- + .gitlab/issue_templates/Rebase Browser - Stable.md
- .gitlab/merge_request_templates/default.md
- browser/app/Makefile.in
- browser/app/macbuild/Contents/Info.plist.in
- browser/app/module.ver
- browser/app/firefox.exe.manifest → browser/app/mullvadbrowser.exe.manifest
- + browser/app/profile/000-mullvad-browser.js
- browser/app/profile/001-base-profile.js
- browser/base/content/aboutDialog.xhtml
- browser/base/content/appmenu-viewcache.inc.xhtml
- browser/base/content/browser-menubar.inc
- browser/base/content/browser-places.js
- browser/base/content/browser.js
- browser/base/content/default-bookmarks.html
- browser/base/content/nsContextMenu.js
- browser/base/content/overrides/app-license.html
- browser/base/content/pageinfo/pageInfo.xhtml
- browser/base/content/utilityOverlay.js
- browser/branding/branding-common.mozbuild
- + browser/branding/mb-alpha/VisualElements_150.png
- + browser/branding/mb-alpha/VisualElements_70.png
- + browser/branding/mb-alpha/configure.sh
- + browser/branding/mb-alpha/content/about-logo.png
- + browser/branding/mb-alpha/content/about-logo.svg
- + browser/branding/mb-alpha/content/about-logo(a)2x.png
- + browser/branding/mb-alpha/content/about-wordmark.svg
- + browser/branding/mb-alpha/content/about.png
- + browser/branding/mb-alpha/content/aboutDialog.css
- + browser/branding/mb-alpha/content/firefox-wordmark.svg
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/9c…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/9c…
You're receiving this email because of your account on gitlab.torproject.org.
1
0
[Git][tpo/applications/tor-browser-build][maint-13.0] Bug 41108, 41109: Prepare Tor and Mullvad Browser Stable 13.0.13
by ma1 (@ma1) 22 Mar '24
by ma1 (@ma1) 22 Mar '24
22 Mar '24
ma1 pushed to branch maint-13.0 at The Tor Project / Applications / tor-browser-build
Commits:
49992f2b by Richard Pospesel at 2024-03-22T13:04:30+00:00
Bug 41108, 41109: Prepare Tor and Mullvad Browser Stable 13.0.13
- - - - -
5 changed files:
- projects/browser/Bundle-Data/Docs-MB/ChangeLog.txt
- projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt
- projects/firefox/config
- projects/translation/config
- rbm.conf
Changes:
=====================================
projects/browser/Bundle-Data/Docs-MB/ChangeLog.txt
=====================================
@@ -1,3 +1,9 @@
+Mullvad Browser 13.0.13 - March 22 2024
+ * Windows + macOS + Linux
+ * Updated Firefox to 115.9.1esr
+ * Bug 42473: ESR 115.9.1 fixes [tor-browser]
+ * Bug 277: Rebase Mullvad Browser stable onto Firefox 115.9.1esr [mullvad-browser]
+
Mullvad Browser 13.0.12 - March 19 2024
* All Platforms
* Updated Firefox to 115.9.0esr
=====================================
projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt
=====================================
@@ -1,3 +1,9 @@
+Tor Browser 13.0.13 - March 22 2024
+ * Windows + macOS + Linux
+ * Updated Firefox to 115.9.1esr
+ * Bug 42473: ESR 115.9.1 fixes [tor-browser]
+ * Bug 42474: Rebase stable browsers on 115.9.1 [tor-browser]
+
Tor Browser 13.0.12 - March 19 2024
* All Platforms
* Updated Snowflake to 2.9.2
=====================================
projects/firefox/config
=====================================
@@ -14,13 +14,11 @@ container:
use_container: 1
var:
- firefox_platform_version: 115.9.0
+ firefox_platform_version: 115.9.1
firefox_version: '[% c("var/firefox_platform_version") %]esr'
browser_series: '13.0'
browser_branch: '[% c("var/browser_series") %]-1'
- # update the mullvadbrowser specific override for 115.10.0
- # torbrowser had an extra firefox build tag
- browser_build: 3
+ browser_build: 1
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") %]'
@@ -104,7 +102,6 @@ targets:
mullvadbrowser:
git_url: https://gitlab.torproject.org/tpo/applications/mullvad-browser.git
var:
- browser_build: 2
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/'
=====================================
projects/translation/config
=====================================
@@ -12,13 +12,13 @@ compress_tar: 'gz'
steps:
base-browser:
base-browser: '[% INCLUDE build %]'
- git_hash: a4d224e82808529e135259e04fb58fb39b90da2d
+ git_hash: 8e04ca3c5f440ed8f16b2069ae9565e4b044ec29
targets:
nightly:
git_hash: 'base-browser'
tor-browser:
tor-browser: '[% INCLUDE build %]'
- git_hash: e7aabc54138211e23bc60af1abe492c8bc68ce4b
+ git_hash: bf2fac60a6c41aa67b8147f22a638d498ac2dcdd
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: ef6bef5e373108c4e633998b517e4bc8c297770a
+ git_hash: c5d462fc3513f23fc74193c7a5c31027fc07672d
compress_tar: 'zst'
targets:
nightly:
=====================================
rbm.conf
=====================================
@@ -73,13 +73,13 @@ buildconf:
git_signtag_opt: '-s'
var:
- torbrowser_version: '13.0.12'
- torbrowser_build: 'build2'
+ torbrowser_version: '13.0.13'
+ torbrowser_build: 'build1'
torbrowser_incremental_from:
+ - '13.0.12'
- '[% IF c("var/tor-browser") %]13.0.11[% END %]'
- '13.0.10'
- - '13.0.9'
- - '[% IF c("var/mullvad-browser") %]13.0.7[% END %]'
+ - '[% IF c("var/mullvad-browser") %]13.0.9[% END %]'
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/4…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/4…
You're receiving this email because of your account on gitlab.torproject.org.
1
0
[Git][tpo/applications/mullvad-browser] Pushed new tag FIREFOX_115_9_1esr_BUILD1
by ma1 (@ma1) 22 Mar '24
by ma1 (@ma1) 22 Mar '24
22 Mar '24
ma1 pushed new tag FIREFOX_115_9_1esr_BUILD1 at The Tor Project / Applications / Mullvad Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/tree/FIREF…
You're receiving this email because of your account on gitlab.torproject.org.
1
0
[Git][tpo/applications/mullvad-browser] Pushed new tag base-browser-115.9.1esr-13.0-1-build1
by ma1 (@ma1) 22 Mar '24
by ma1 (@ma1) 22 Mar '24
22 Mar '24
ma1 pushed new tag base-browser-115.9.1esr-13.0-1-build1 at The Tor Project / Applications / Mullvad Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/tree/base-…
You're receiving this email because of your account on gitlab.torproject.org.
1
0