From 73069d91cd3fbcaf729e50c62d5352e59e8c0185 Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Fri, 11 Sep 2026 08:50:46 -0400 Subject: [PATCH 01/13] Make Chromium dev build auto-update --- dist/chromium/update-dev.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/chromium/update-dev.xml b/dist/chromium/update-dev.xml index 34e90d1452398..262bebe46f308 100644 --- a/dist/chromium/update-dev.xml +++ b/dist/chromium/update-dev.xml @@ -1,6 +1,6 @@ - + From 3a6160d25c82cd66da9d23166f691b79801b8b50 Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Sat, 12 Sep 2026 08:59:59 -0400 Subject: [PATCH 02/13] Make Chromium dev build auto-update --- dist/chromium/update-dev.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/chromium/update-dev.xml b/dist/chromium/update-dev.xml index 262bebe46f308..34e90d1452398 100644 --- a/dist/chromium/update-dev.xml +++ b/dist/chromium/update-dev.xml @@ -1,6 +1,6 @@ - + From e4ae99b6024273c0b9a46ffde87106b55fef2129 Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Sat, 12 Sep 2026 09:00:06 -0400 Subject: [PATCH 03/13] Make Chromium dev build auto-update --- dist/chromium/update-dev.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/chromium/update-dev.xml b/dist/chromium/update-dev.xml index 34e90d1452398..af2aac14e8367 100644 --- a/dist/chromium/update-dev.xml +++ b/dist/chromium/update-dev.xml @@ -1,6 +1,6 @@ - + From 1b1c20ba7acbe2fe049ba5dbaa4ded155c2a2e38 Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Sat, 12 Sep 2026 09:04:03 -0400 Subject: [PATCH 04/13] Make Chromium dev build auto-update --- dist/chromium/update-dev.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/chromium/update-dev.xml b/dist/chromium/update-dev.xml index af2aac14e8367..262bebe46f308 100644 --- a/dist/chromium/update-dev.xml +++ b/dist/chromium/update-dev.xml @@ -1,6 +1,6 @@ - + From 1d5f797c03f2f523e90bc3f2883fecbd5104763c Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Sat, 12 Sep 2026 10:09:10 -0400 Subject: [PATCH 05/13] Improve `remove-attr` scriptlet --- src/js/resources/attribute.js | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/src/js/resources/attribute.js b/src/js/resources/attribute.js index 82fb4bd990620..b7052790fc4f5 100644 --- a/src/js/resources/attribute.js +++ b/src/js/resources/attribute.js @@ -288,29 +288,35 @@ export function removeAttr( } } }; + const stop = ( ) => { + if ( start.observer ) { + start.observer.disconnect(); + start.observer = undefined; + } + if ( rmAttrLazily.timer ) { + offIdleFn(rmAttrLazily.timer); + rmAttrLazily.timer = undefined; + } + if ( safe.logLevel > 1 ) { + safe.uboLog(logPrefix, 'Quitting'); + } + }; const start = ( ) => { rmattr(); if ( /\bstay\b/.test(behavior) === false ) { if ( options.quitAfter === undefined ) { return; } } - const observer = new MutationObserver(mutationHandler); - observer.observe(document, { + start.observer = new MutationObserver(mutationHandler); + start.observer.observe(document, { attributes: true, attributeFilter: tokens, childList: true, subtree: true, }); if ( options.quitAfter ) { - self.setTimeout(( ) => { - observer.disconnect(); - if ( rmAttrLazily.timer ) { - offIdleFn(rmAttrLazily.timer); - rmAttrLazily.timer = undefined; - } - if ( safe.logLevel > 1 ) { - safe.uboLog(logPrefix, 'Quitting'); - } - }, options.quitAfter * 1000); + runAt(( ) => { + self.setTimeout(stop, options.quitAfter * 1000); + }, 'load'); } }; runAt(( ) => { start(); }, safe.String_split.call(behavior, /\s+/)); From 7845ccde2967e4cac17d2d6a3d880c8ea50130d3 Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Mon, 14 Sep 2026 08:57:48 -0400 Subject: [PATCH 06/13] Import translation work from https://crowdin.com/project/ublock --- platform/mv3/description/webstore.lv.txt | 4 ++-- .../mv3/extension/_locales/lv/messages.json | 6 ++--- .../mv3/extension/_locales/vi/messages.json | 4 ++-- src/_locales/lv/messages.json | 6 ++--- src/_locales/vi/messages.json | 24 +++++++++---------- 5 files changed, 22 insertions(+), 22 deletions(-) diff --git a/platform/mv3/description/webstore.lv.txt b/platform/mv3/description/webstore.lv.txt index 129af3d1bbb85..ad3abd241cc5c 100644 --- a/platform/mv3/description/webstore.lv.txt +++ b/platform/mv3/description/webstore.lv.txt @@ -1,6 +1,6 @@ uBO Lite (uBOL) — uz MV3 balstīts satura aizturētājs. -Noklusējuma nosacījumu kopa atbilst uBock Origin noklusējuma aizturēšanas kopai: +Noklusējuma nosacījumu kopa atbilst uBock Origin noklusējuma atsijāšanas kopai: - uBlock Origin iebūvētie aizturēšanas saraksti - EasyList @@ -9,4 +9,4 @@ Noklusējuma nosacījumu kopa atbilst uBock Origin noklusējuma aizturēšanas k Vairāk nosacījumu kopu var iespējot iestatījumu sadaļā -- jāklikšķina _Zobratu_ ikona uznirstošajā logā. -uBOL ir pilnībā vispārīgs, kas nozīmē, ka nav nepieciešamības pēc pastāvīga uBOL procesa, lai notiktu aizturēšana, un uz CSS/JS ievietošanu balstīta satura aizturēšanu uzticami veic pārlūks, nevis paplašinājums. Tas nozīmē, ka uBOL pats par sevi neizmanto procesoru un atmiņu, kamēr satura aizturēšana ir notiekoša -- uBOL pakalpojuma strādņa process ir nepieciešams _tikai_ tad, kad notiek mijiedarbība ar uznirstošo logu vai iestatījumu sadaļām. +uBOL ir pilnībā vispārīgs, kas nozīmē, ka nav nepieciešamības pēc pastāvīga uBOL procesa, lai notiktu atsijāšana, un uz CSS/JS ievietošanu balstīta satura aizturēšanu uzticami veic pārlūks, nevis paplašinājums. Tas nozīmē, ka uBOL pats par sevi neizmanto procesoru un atmiņu, kamēr satura aizturēšana ir notiekoša — uBOL pakalpojuma strādņa process ir nepieciešams _tikai_ tad, kad notiek mijiedarbība ar uznirstošo logu vai iestatījumu sadaļām. diff --git a/platform/mv3/extension/_locales/lv/messages.json b/platform/mv3/extension/_locales/lv/messages.json index 66b96d7d27f35..a0bdaa280ac45 100644 --- a/platform/mv3/extension/_locales/lv/messages.json +++ b/platform/mv3/extension/_locales/lv/messages.json @@ -92,15 +92,15 @@ "description": "Header for a ruleset section in 'Filter lists pane'" }, "3pGroupImported": { - "message": "Imported lists", + "message": "Ievietotie saraksti", "description": "Header for a ruleset section in 'Filter lists pane'" }, "customListImportLabel": { - "message": "Add filter list…", + "message": "Pievienot atsijāšanas sarakstu…", "description": "Text label heading the import area of custom filter lists" }, "customListImportPlaceholder": { - "message": "URL of the filter list to add", + "message": "Pievienojamā atsijāšanas saraksta URL", "description": "Placeholder text which describes the purpose of the textarea widget" }, "customListImportUserScriptsInfo": { diff --git a/platform/mv3/extension/_locales/vi/messages.json b/platform/mv3/extension/_locales/vi/messages.json index 054595963316d..a0e801f6b5560 100644 --- a/platform/mv3/extension/_locales/vi/messages.json +++ b/platform/mv3/extension/_locales/vi/messages.json @@ -160,11 +160,11 @@ "description": "Label of 'Troubleshooting information' section in 'Report a filter issue' page" }, "supportS6P1S1": { - "message": "Để tránh tạo thêm gánh nặng cho các tình nguyện viên hai báo cáo tương tự, hãy chắc chắn rằng chưa từng có vấn đề tương tự được báo cáo. Lưu ý: bấm vào nút này sẽ khiến nguồn của trang web bị gửi tới Github.", + "message": "Để tránh tạo thêm gánh nặng trùng báo cáo cho tình nguyện viên, hãy chắc chắn rằng vấn đề tương tự chưa được báo cáo. Lưu ý: bấm vào nút này sẽ gửi nguồn của trang web đến GitHub.", "description": "A paragraph in the filter issue reporter section" }, "supportFindSpecificButton": { - "message": "Tìm các báo cáo tương tự trên Github", + "message": "Tìm báo cáo tương tự trên GitHub", "description": "A clickable link in the filter issue reporter section" }, "supportS6URL": { diff --git a/src/_locales/lv/messages.json b/src/_locales/lv/messages.json index 716365db27385..e1427a53d6ae9 100644 --- a/src/_locales/lv/messages.json +++ b/src/_locales/lv/messages.json @@ -64,7 +64,7 @@ "description": "Title for the asset viewer page" }, "advancedSettingsPageName": { - "message": "Papildu iestatījumi", + "message": "Izvērstie iestatījumi", "description": "Title for the advanced settings page" }, "popupPowerSwitchInfo": { @@ -72,7 +72,7 @@ "description": "English: Click: disable/enable uBlock₀ for this site.\n\nCtrl+click: disable uBlock₀ only on this page." }, "popupPowerSwitchInfo1": { - "message": "Noklikšķināt, lai atslēgtu uBlock₀ šajā vietnē.\n\nCtrl + klikšķis, lai atslēgtu uBlock₀ tikai šajā lapā.", + "message": "Noklikšķināt, lai atspējotu uBlock₀ šajā vietnē.\n\nCtrl + klikšķis, lai atspējotu uBlock₀ tikai šajā lapā.", "description": "Message to be read by screen readers" }, "popupPowerSwitchInfo2": { @@ -104,7 +104,7 @@ "description": "For the new mobile-friendly popup design" }, "popupBlockedSinceInstall_v2": { - "message": "Pavisam aizturētas", + "message": "Pavisam aizturētas kopš uzstādīšanas", "description": "For the new mobile-friendly popup design" }, "popupDomainsConnected_v2": { diff --git a/src/_locales/vi/messages.json b/src/_locales/vi/messages.json index 9b09b9f0f1794..0aae824776633 100644 --- a/src/_locales/vi/messages.json +++ b/src/_locales/vi/messages.json @@ -104,7 +104,7 @@ "description": "For the new mobile-friendly popup design" }, "popupBlockedSinceInstall_v2": { - "message": "Đã bị chặn kể từ khi cài đặt", + "message": "Đã chặn từ khi cài đặt", "description": "For the new mobile-friendly popup design" }, "popupDomainsConnected_v2": { @@ -152,7 +152,7 @@ "description": "Tooltip for the no-large-media per-site switch" }, "popupTipNoLargeMedia2": { - "message": "Bấm để ngừng chặn các phần tử đa phương tiện kích thước lớn trên trang này", + "message": "Bấm để ngừng chặn các phần tử đa phương tiện nặng trên trang này", "description": "Tooltip for the no-large-media per-site switch" }, "popupTipNoCosmeticFiltering": { @@ -352,7 +352,7 @@ "description": "" }, "settingsAdvancedUserPrompt": { - "message": "Tôi là một người dùng có kinh nghiệm (Yêu cầu đọc qua)", + "message": "Tôi là một người dùng có kinh nghiệm", "description": "Checkbox to let user access advanced, technical features" }, "settingsPrefetchingDisabledPrompt": { @@ -452,7 +452,7 @@ "description": "This will cause uBO to ignore all generic cosmetic filters." }, "3pIgnoreGenericCosmeticFiltersInfo": { - "message": "Bộ lọc phần tử chung là những bộ lọc phần tử được áp dụng cho cho mọi trang web. Kích hoạt tùy chọn này sẽ giảm bớt sức nặng lên cpu và bộ nhớ do không còn phải xử lí các bộ lọc phần tử chung.\n\nTùy chọn này được khuyến nghị kích hoạt trên thiết bị cấu hình thấp.", + "message": "Bộ lọc phần tử chung là những bộ lọc phần tử áp dụng trên mọi trang web. Kích hoạt tùy chọn này để giảm bớt sức nặng lên CPU và bộ nhớ do không còn phải xử lí các bộ lọc phần tử chung.\n\nNên kích hoạt tùy chọn này trên thiết bị cấu hình thấp.", "description": "Describes the purpose of the 'Ignore generic cosmetic filters' feature." }, "3pSuspendUntilListsAreLoaded": { @@ -512,7 +512,7 @@ "description": "The label for the checkbox used to import external filter lists" }, "3pExternalListsHint": { - "message": "Một URL mỗi dòng. URL không hợp lệ sẽ âm thầm bỏ qua.", + "message": "Một URL trên dòng. URL không hợp lệ sẽ âm thầm bỏ qua.", "description": "Short information about how to use the textarea to import external filter lists by URL" }, "3pExternalListObsolete": { @@ -524,7 +524,7 @@ "description": "used as a tooltip for eye icon beside a list" }, "3pLastUpdate": { - "message": "Cập nhật lần cuối: {{ago}}.\nBấm để buộc cập nhật.", + "message": "Cập nhật lần cuối: {{ago}}.\nNhấn để cập nhật ngay.", "description": "used as a tooltip for the clock icon beside a list" }, "3pUpdating": { @@ -628,7 +628,7 @@ "description": "English: a sort option for list of rules." }, "whitelistPrompt": { - "message": "Các đường dẫn trang web đáng tin cậy cố định mà uBlock Origin sẽ bị vô hiệu hóa trên trang đó. Một mục nhập cho mỗi dòng.", + "message": "Các đường dẫn trang web đáng tin cậy cố định vô hiệu hóa uBlock Origin. Một mục trên dòng.", "description": "A concise description of the 'Trusted sites' pane." }, "whitelistImport": { @@ -688,7 +688,7 @@ "description": "Tooltip for the popup panel button in the logger page" }, "loggerInfoTip": { - "message": "uBlock Origin wiki: Các logger", + "message": "uBlock Origin wiki: Các nhật ký", "description": "Tooltip for the top-right info label in the logger page" }, "loggerClearTip": { @@ -732,7 +732,7 @@ "description": "A keyword in the built-in row filtering expression" }, "loggerRowFiltererBuiltinModified": { - "message": "đã sửa đổi", + "message": "sửa đổi", "description": "A keyword in the built-in row filtering expression" }, "loggerRowFiltererBuiltin1p": { @@ -892,7 +892,7 @@ "description": "Label for radio-button to pick export text format" }, "loggerExportEncodeMarkdown": { - "message": "Đánh dấu", + "message": "Markdown", "description": "Label for radio-button to pick export text format" }, "supportOpenButton": { @@ -1012,7 +1012,7 @@ "description": "An entry in the widget used to select the type of issue" }, "supportS6Checkbox1": { - "message": "Đánh dấu \"NFSW\" - Not Safe For Work cho trang web.( Tìm hiểu về \"Not Safe For Work\")", + "message": "Đánh dấu trang web là \"NSFW\" (\"Not Safe For Work\", \"Không xem nơi đông người\")", "description": "A checkbox to use for NSFW sites" }, "aboutPrivacyPolicy": { @@ -1064,7 +1064,7 @@ "description": "English: my-ublock-backup_{{datetime}}.txt" }, "aboutRestoreDataButton": { - "message": "Khôi phục từ tệp tin…", + "message": "Khôi phục từ tệp…", "description": "English: Restore from file..." }, "aboutResetDataButton": { From 506ba30561485c4c0c5b1309e0b7bf39d4b2497d Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Mon, 14 Sep 2026 10:31:35 -0400 Subject: [PATCH 07/13] Fix regression in list lookup feature in logger Related feedback: https://github.com/uBlockOrigin/uBlock-issues/discussions/4120 Related commit: https://github.com/gorhill/uBlock/commit/3ab731942e --- src/js/reverselookup.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/js/reverselookup.js b/src/js/reverselookup.js index c5bf10061fa80..1c4d83625d4dc 100644 --- a/src/js/reverselookup.js +++ b/src/js/reverselookup.js @@ -128,6 +128,7 @@ const fromNetFilter = async function(rawFilter) { trustedSource: true, maxTokenLength: staticNetFilteringEngine.MAX_TOKEN_LENGTH, nativeCssHas: vAPI.webextFlavor.env.includes('native_css_has'), + canFilterResponseBody: µb.canFilterResponseData, }); parser.parse(rawFilter); @@ -165,6 +166,7 @@ const fromExtendedFilter = async function(details) { const parser = new sfp.AstFilterParser({ trustedSource: true, nativeCssHas: vAPI.webextFlavor.env.includes('native_css_has'), + canFilterResponseBody: µb.canFilterResponseData, }); parser.parse(details.rawFilter); let needle; From ace294345289fae6e71a66b8c9d68e8bdc52b093 Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Mon, 14 Sep 2026 10:33:42 -0400 Subject: [PATCH 08/13] new revision for dev build --- dist/version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/version b/dist/version index 452c76fe220e9..db9ab9549e81f 100644 --- a/dist/version +++ b/dist/version @@ -1 +1 @@ -1.74.1.6 \ No newline at end of file +1.74.1.7 \ No newline at end of file From 9621a5c2d13ee3d3db8cc38bfe28790c13207b1f Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Mon, 14 Sep 2026 10:58:28 -0400 Subject: [PATCH 09/13] Make Chromium dev build auto-update --- dist/chromium/update-dev.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/chromium/update-dev.xml b/dist/chromium/update-dev.xml index 262bebe46f308..69ecab8999218 100644 --- a/dist/chromium/update-dev.xml +++ b/dist/chromium/update-dev.xml @@ -1,6 +1,6 @@ - + From 641586c81c554aa3216960f5a197bd123281d666 Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Mon, 14 Sep 2026 11:02:13 -0400 Subject: [PATCH 10/13] Make Firefox dev build auto-update --- dist/firefox/updates.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dist/firefox/updates.json b/dist/firefox/updates.json index 2388343f971f0..82f50dabc23a8 100644 --- a/dist/firefox/updates.json +++ b/dist/firefox/updates.json @@ -3,13 +3,13 @@ "uBlock0@raymondhill.net": { "updates": [ { - "version": "1.74.1.5", + "version": "1.74.1.7", "browser_specific_settings": { "gecko": { "strict_min_version": "115.0" } }, - "update_link": "https://github.com/gorhill/uBlock/releases/download/1.74.1b5/uBlock0_1.74.1b5.firefox.signed.xpi" + "update_link": "https://github.com/gorhill/uBlock/releases/download/1.74.1b7/uBlock0_1.74.1b7.firefox.signed.xpi" } ] } From 3f60861bb754a5033bd7ff7f4a2e9119469d60d1 Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Wed, 16 Sep 2026 09:35:25 -0400 Subject: [PATCH 11/13] New version for stable release --- dist/version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/version b/dist/version index db9ab9549e81f..5c8c298b55e50 100644 --- a/dist/version +++ b/dist/version @@ -1 +1 @@ -1.74.1.7 \ No newline at end of file +1.75.0 \ No newline at end of file From 21f0e686506bb21b514b451c8c6cb9bf8c82d232 Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Wed, 16 Sep 2026 09:41:29 -0400 Subject: [PATCH 12/13] Import translation work from https://crowdin.com/project/ublock --- platform/mv3/extension/_locales/uk/messages.json | 2 +- platform/mv3/extension/_locales/vi/messages.json | 2 +- src/_locales/vi/messages.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/platform/mv3/extension/_locales/uk/messages.json b/platform/mv3/extension/_locales/uk/messages.json index ed56d9250ed02..5dcbc42a87e6d 100644 --- a/platform/mv3/extension/_locales/uk/messages.json +++ b/platform/mv3/extension/_locales/uk/messages.json @@ -100,7 +100,7 @@ "description": "Text label heading the import area of custom filter lists" }, "customListImportPlaceholder": { - "message": "Вставте сюди URL-адресу списку фільтрів, який потрібно додати", + "message": "URL-адреса списку фільтрів, який потрібно додати", "description": "Placeholder text which describes the purpose of the textarea widget" }, "customListImportUserScriptsInfo": { diff --git a/platform/mv3/extension/_locales/vi/messages.json b/platform/mv3/extension/_locales/vi/messages.json index a0e801f6b5560..ef23b96375dba 100644 --- a/platform/mv3/extension/_locales/vi/messages.json +++ b/platform/mv3/extension/_locales/vi/messages.json @@ -356,7 +356,7 @@ "description": "A button to navigate to the blocked page" }, "zapperTipEnter": { - "message": "Chuyển sang chế độ chặn phần tử tạm thời", + "message": "Xóa một phần tử", "description": "Tooltip for the button used to enter zapper mode" }, "zapperTipQuit": { diff --git a/src/_locales/vi/messages.json b/src/_locales/vi/messages.json index 0aae824776633..6137b30a96315 100644 --- a/src/_locales/vi/messages.json +++ b/src/_locales/vi/messages.json @@ -904,7 +904,7 @@ "description": "Text for button which open an external web page in Support pane" }, "supportFindSpecificButton": { - "message": "Tìm các báo cáo tương tự trên Github", + "message": "Tìm báo cáo tương tự trên GitHub", "description": "A clickable link in the filter issue reporter section" }, "supportS1H": { From cf2f2076224003ae2baa8e80149969be7c2f30e3 Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Wed, 16 Sep 2026 10:21:08 -0400 Subject: [PATCH 13/13] Make Chromium build auto-update --- dist/chromium/update.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/chromium/update.xml b/dist/chromium/update.xml index ac29fcf913463..4b659794fa793 100644 --- a/dist/chromium/update.xml +++ b/dist/chromium/update.xml @@ -1,6 +1,6 @@ - +