Skip to content

Latest commit

 

History

History
1189 lines (857 loc) · 50.6 KB

File metadata and controls

1189 lines (857 loc) · 50.6 KB

AdGuard Browser Extension Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased 5.5.2

Changed

Fixed

  • User rules saved with Windows line endings appeared empty in the editor after updating to 5.5 #3598.
  • $removeparam rules without a value (e.g. ||example.org^$removeparam) blocked the whole site in MV3 instead of removing all query parameters #3602.
  • Unanchored $urltransform substitutions did not apply to query strings in MV3 #3600.
  • Rules with unknown or unsupported modifiers were applied as broader blocking or allow rules in MV3 AdguardFilters#238305.

5.5.1.0 - 2026-08-21

Changed

Fixed

  • Short-lived duplicated elements on pages when CSS hits counting is enabled.

5.5 - 2026-08-17

Added

  • $urltransform modifier support tsurlfilter#111.
  • $removeparam support for SPA navigations tsurlfilter#188.
  • Filter rule conversion error logging in MV2.
  • Default registered script is always added to local script rules tsurlfilter#167.
  • New Rules Editor with dedicated list and editor views.

Changed

  • Migrated declarative network rule conversion from @adguard/tsurlfilter/es/declarative-converter to the dedicated @adguard/dnr-converter package.
  • Aligned internal RuleSet/ruleSet identifiers to Ruleset/ruleset to match the renamed linked libraries (@adguard/dnr-converter, @adguard/tswebextension).
  • Filtering log now accumulates declarativeRuleInfo.sourceRules across multiple DNR matches for the same event instead of overwriting the previous value.
  • Aligned RuleActionType enum casing to PascalCase (BLOCKBlock, etc.) to match the @adguard/dnr-converter API.
  • User rules error reporting in MV3 now logs dynamic rule conversion errors.
  • Updated @adguard/agtree to v4.2.0.
  • Updated @adguard/dnr-converter to v1.1.0.
  • Updated @adguard/rules-editor to v2.0.0.
  • Updated @adguard/scriptlets to v2.5.0.
  • Updated @adguard/tsurlfilter to v6.0.2.
  • Updated @adguard/tswebextension to v5.0.0.
  • Updated @adguard/extended-css to v2.2.0 (sub-dependency of @adguard/tswebextension).

Fixed

  • Element hiding rules not being applied on fast page reload in MV3 #3537.
  • Filtering log loses events during window.open() tab redirects #2701.
  • Filtering log events for tabs closed by $popup modifier rules are now displayed as linked to the background page #1686.
  • "Send ad filters usage" option with CSS rules containing ::before or ::after causes visible content on the page #1486.
  • WebRTC IP handling policy changed from disable_non_proxied_udp to default_public_interface_only to reduce VoIP breakage while still preventing IP leaks.
  • Expanded wildcard TLD domains in DNR conversion for $domain and $to modifiers tsurlfilter#189.
  • Scriptlet exception rules with comma-containing arguments now work correctly (#3533).
  • Generic scriptlet rules (scriptlets without a domain restriction) now appear in the filtering log #2895.
  • Improved visibility of UI controls in OS high-contrast mode (forced-colors: active): switches, action buttons, editor, dropdowns, and modal-like cards on Options/Popup pages (#3530).
  • Firefox freezes when playing Douyin videos, triggered by custom filter rule all.txt #3525.
  • Sites loading-slowly in Firefox 118 when AdGuard extension is enabled #2524.
  • Scroll bar missing in the filtering log #3558.
  • Allowlist editor now accepts bare compound public suffixes (e.g. gov.br, co.uk, com.au) while still rejecting single-label TLDs #3587.
  • The request for additional permissions is not asked when importing extension settings #2754.
  • monkeytype.com fails to load — requests stuck "Pending" with AdGuard MV2 enabled #3565.
  • Cosmetic rules with a regex in the $domain modifier containing multiple escaped separators (e.g. [$domain=/example\d*\.(live\|com\|icu\|org)$/]##body) not being applied.
  • Popup statistics "Year" tab showed only the last 3 months and erased older monthly history after a month rollover.

5.4 patch 2 - 2026-05-14

Fixed

  • False-negative CSS selector validation for comma-containing selectors (e.g., IMG[alt="Reklama"], .l-box--99.l-box > .text-center). The browser's CSS.supports('selector(A, B)') fails for top-level commas; the validator now splits such selectors and validates each part individually.

5.4 patch 1 - 2026-05-08

Fixed

  • Importing settings from shared URL doesn't work #3517.

5.4 - 2026-05-07

Added

  • Added beta suffix to the version in issue reports #3330.
  • Handling speculative prerender requests.
  • Confirmation modal for inverting allowlist.
  • Independent update of custom filters in MV3 without waiting for the extension update availability #2944.
  • Warning notification for Opera when "Allow access to search page results" permission is not granted #2485.
  • Import settings from adguard:import_user_configuration links on reports.adguard.com.
  • Use HTTP Last-Modified header as fallback for custom filter update timestamps when TimeUpdated metadata is missing #3407.
  • ROList filter list in MV3 #3473.
  • Share settings button on General page.

Changed

  • Issue report URL updated to v4 scheme: comma-separated filter IDs, stealth values as 1/0, ext.manifest_version parameter, normalized browser name, ISO 8601 timestamp for filters_last_update, custom filters include title and URL.
  • Cookie self-destruct stealth params (stealth.third_party_cookies_min, stealth.first_party_cookies_min) are now MV2-only in issue report URLs (not supported on MV3).
  • Updated @adguard/agtree to v4.1.1.
  • Updated @adguard/dnr-rulesets to v4.2.1.
  • Updated @adguard/filters-downloader to v2.4.4.
  • Updated @adguard/scriptlets to v2.4.2.
  • Updated @adguard/tsurlfilter to v5.0.1.
  • Updated @adguard/tswebextension to v4.1.1.

Fixed

  • Update indicator arrow flickers when opening the popup #3351.
  • $badfilter incorrectly negates rules with different $denyallow values #3428.
  • Filtering log window size/pos not restored with zoom #3255.
  • Blocking page incorrectly displayed for search results #3414.
  • Allowlist editor now normalizes entries by extracting domains from URLs, so entries with protocols, paths, or trailing slashes work correctly #3430.
  • Use of invalid CSS selectors in element hiding rules affects all injected styles #3329.
  • "Hide Referer from third parties" stealth option now sets correct referrer value with trailing slash #3393.
  • $removeparam rules not stripping all tracking parameters when multiple rules match the same URL in MV3 #3444.
  • "Block ads manual" doesn't work on tabs opened before the update #3452.
  • The extension doesn't always update filters after starting the browser #3280.
  • Blocked requests in cross-domain iframes were not counted in the extension badge #3446.
  • Custom filter subscription accepts URLs that return HTML pages instead of filter lists #3501.

5.3 patch 1 - 2026-03-30

Added

  • Opera MV3 extension support.

Fixed

  • Statistics tooltip appears in wrong position when hovering over chart columns #3449.
  • Freeze on extensions startup #3400.

Changed

5.3.0.8 - 2026-02-10

Added

  • Beautification to exported settings JSON for improved readability #3069.
  • Ability to keep filtering log records without size limitations when "Preserve log" is enabled #3148.
  • Support of :has() pseudo-class as standard CSS conditionally:
    • if there are no other extended pseudo-classes in the selector, or
    • if the #?# separator is explicitly used in the rule [#2587].
  • Full CSS selector syntax support in HTML filtering rules tsurlfilter#96.

Changed

Fixed

  • Dynamic rules limit duplicate notifications.
  • Network rules with $important modifier are applied even if protection is disabled #3227.
  • Early save reactivation and missing exit prompt during active User Rules/Allowlist save #3151.
  • Some requests are blocked in 'Inverted allowlist' mode even though there're no websites added to the Allowlist #3193.
  • Do not enable any filters on settings import if enabled-filters is empty #3136.
  • Settings applied notification appearing before settings are actually applied #3278.
  • Preserve logs does not retain all records in the filtering log #3148.
  • Tracking protection is also disabled in MV3 when protection is paused in extension.
  • Apply $document blocking rule even if specific exception rule is present #3262.
  • Blocked iframes are not collapsed on Firefox #3116.
  • The extension got an unexpected error on [::]:8000 #3360.
  • Toggle, that doesn't work in User Rules fullscreen mode #3365.
  • Original rule text now correctly displays in filtering log when rules are converted.

5.2.800 - 2025-12-25

Fixed

  • Memory leak caused by storing data URL favicons in tab contexts #2594.

5.2.600.3 - 2025-12-16

Fixed

  • Made clipboard permissions optional for Firefox, with a prompt shown when needed in User Rules and Allowlist editors #3364
  • The extension doesn't work in browser 360 #3058.

5.2.500 - 2025-12-05

Fixed

  • The update promo banner does not persist dismissal and shows again after the extension updates #3385.

Changed

5.2.400 - 2025-11-24

Added

  • New loading icon and animation for the extension popup.
  • Add ability to update custom filters in MV3 #3016.

Changed

  • Extension will apply auto-update in MV3 if update is available and browser became idle for a while.

Fixed

  • Removed clipboard permissions #3362.

5.2.112.84 - 2025-10-25

Changed

5.2.112.1 - 2025-10-14

Fixed

  • The extension is failed to update via the popup #3317.

5.2.112.0 - 2025-10-13

Changed

  • New 4 digits build versioning scheme: major.minor.patch+buildTag. buildTag is incremented with every build.

Fixed

  • Minimize the extension update fetch response size in MV3.

5.2.77 - 2025-09-22

Added

  • Support for Chrome's User Scripts API that allows more reliable script injection in MV3.
  • Support for custom filters is back again due to User Scripts API usage.
  • Send last filters update time during issue reporting #3055.
  • Ability to exit editor by pressing Escape keyboard button #2333.
  • Blocking page for requests blocked by $document rules in MV3.
  • Compatibility of $header modifier with $match-case and $third-party modifiers in MV2 #2942.
  • zip and crx artifacts for the extension builds #3163, #2488.
  • Ability to update the extension with filters manually in MV3.

Changed

Removed

  • AdGuard DNS filter and AdGuard Annoyances filter as deprecated.

Fixed

  • Cursor moves to the end when saving user rules #3145.
  • Cannot maximize Filtering log in Firefox for Windows #2464.
  • Unable to paste text into user rules input field on Android #3061.
  • Invalid HTML rule selectors are breaking site loading #2646, #2826.
  • Stealth mode's Hide Referer from third parties option may break some websites #2839.
  • Filtering log: Resizing the right panel selects its contents #2305.
  • Types of the blocked requests are not displayed in the popup (Firefox for Android) #3157.
  • Switching to the "Statistics" tab shifts the "Actions" and "Statistics" buttons (Edge for Android) #3158.
  • Filtering log: Request details panel is automatically closed when loading a website in another window/tab #2327.
  • Scriptlet rules are not displayed in the filtering log #3164.
  • The filtering in Edge's split screen doesn't work #2832.
  • Total blocked popup string translated incorrectly #3204.
  • $replace rules may break some websites #3122.
  • Increase file size limit to 10MB for $replace rules in Firefox #3192.
  • Allow to specify attributes without value in selector for HTML filtering rules tsurlfilter#147.
  • Missing space in the description of AdGuard German filter in the de locale #3216.
  • OOM errors may occur when applying too many patches in a row in MV2 #3230.
  • Extension initialization on browser startup in Firefox #3189.
  • Wrong rule is displayed for page blocked by $document rule in MV3 #3260.
  • Overflowing notification text in the options page.

5.1.102 - 2025-06-15

Changed

Fixed

  • OOM errors may occur when applying too many patches in a row in MV2 #3230.

5.1.94 - 2025-05-29

Changed

5.1.88 - 2025-05-23

Changed

5.1.79 - 2025-04-28

Changed

5.1.70 - 2025-03-19

Fixed

  • Popup size issues in Android Edge.

5.1.68 - 2025-03-07

Changed

5.1.62 - 2025-02-28

Added

  • Unsafe dynamic rules limit for MV3 with value 5000.
  • Display dnr-rulesets version on About tab #3054.
  • Ability to search tabs by domain in the Filtering log #3028.
  • Ability to add filters from Google Drive #2908.

Changed

  • Minimum supported Chromium-based MV2 browsers version now 106+ for support prerender requests.
  • Increased all dynamic rules limit to 30000 for MV3.
  • Error throwing for empty modifier list in network rules.
  • Store filter data in ruleset files exclusively for the MV3 extension to allow updates where only the rulesets are modified.
  • Updated @adguard/agtree to v3.0.1.
  • Updated @adguard/scriptlets to v2.1.5.
  • Updated @adguard/tsurlfilter to v3.2.0.
  • Updated @adguard/tswebextension to v3.0.0.

Fixed

  • Once allowlisted tab considers all following websites in the tab as allowlisted #3020 #3048.
  • Handling missing children data in the deserializer for certain nodes.
  • A rule from a disabled filter list disables another rule #3002.
  • Notify user that rule was not applied because of the chrome limitations #3004.
  • URI encoded $removeparam value is not removed in MV3 #3014.
  • Cosmetic rules injecting into about:blank iframes in MV2.
  • Shortened name translation in pt_BR locale #3075.
  • Allowlisted stealth rules are not shown in the filtering log #2950.
  • $removeparam incorrectly removes parameters from encoded URLs #3076.
  • Update extension icon on engine update.
  • Closing rule limits warning updates the extension icon for MV3.
  • Blocked counter on the popup updates for blocked requests from other tabs #3050.
  • $popup,third-party modifiers cause document blocking #3012.
  • Don't show lines for absent metadata when adding a custom filter #3057.
  • Filtering log does not observe tab changes, openings, or closings.
  • Scriptlets and scripts are executed too late on website reload or navigation in MV2 #2855.
  • Do not inject cosmetic rules into the Assistant frame in MV3.

Removed

  • Storage classes, because they were moved to the @adguard/tswebextension package.

5.0.188 - 2025-02-05

Changed

  • Scriptlet rules are not limited to ones from the pre-built filters.
  • Updated @adguard/tswebextension to v2.4.0-alpha.11.

Removed

  • AdGuard Quick Fixes filter.
  • Custom filters are not available temporarily.

5.0.185 - 2025-01-22

Added

  • AdGuard Quick Fixes filter is back.

Changed

  • Scriptlet rules are available only from the pre-built filters now.
  • Updated @adguard/tswebextension to v2.4.0-alpha.10.

Removed

  • Injection of remotely hosted scripts.

5.0.183 - 2025-01-14

Removed

  • AdGuard Quick Fixes filter.
  • Filters metadata update on the extension install.

5.0.178 - 2024-12-24

Changed

  • Remade JS rules injections in MV3:
    • use chrome.scripting API for injecting functions for script rules from the pre-built filters,
    • use script tag injection only for script rules manually added by users — rules from User rules and Custom filters.
  • Updated @adguard/tswebextension to v2.4.0-alpha.8.

Removed

  • Ability to execute new AG_ script rules from User rules and Custom filters in MV3.

4.4.48 - 2024-11-25

Added

  • Send manifest_version during issues reporting for MV2.

Changed

Fixed

  • Optimized performance of parsing uBlock filter parameters #2962.
  • $removeparam fails to match encoded URL params in MV2 #3015.
  • Memory leak caused by multiple script injections on the same pages after an event page in Firefox restarts in MV2 #2594.

5.0.170 - 2024-10-30

Changed

Fixed

  • Memory leak caused by multiple script injections on the same pages after a service worker or event page restart in MV3 #2594.

5.0.162 - 2024-10-30

Added

  • Send manifest_version during issues reporting for MV3.

5.0.159 - 2024-10-23

Changed

Fixed

  • Correct import of EXTENDED_CSS_VERSION.
  • Excluding request types causes document blocking #2992.
  • Selecting a single $permissions filtering log event selects all $permissions events.

4.4.39 - 2024-10-21

Changed

Fixed

  • User rules scanning breaks extension popup #2989.
  • Selecting a single $permissions filtering log event selects all $permissions events.

5.0.138 - 2024-10-10

Changed

Fixed

  • Use MV3-specific filters in Edge browser if MV3 extension is installed #2985.
  • Unable to add AdGuard Quick Fixes filter in MS Edge #2963.
  • Cosmetic rules are not applied sometimes or are applied also to wrong domain #2984.
  • JS rules are blocked by Trusted Types on some websites #2980.
  • MV3 extension cannot apply rules to about:blank iframes #2975.
  • Scriptlets logging does not work #2977.
  • Content-type matching of $permissions and $removeparam rules #2954.

5.0.128 - 2024-10-04

Changed

4.4.30 - 2024-10-02

Changed

Fixed

  • The exception $domain=~ filter rule is not working properly #2912.
  • Scriptlets exclusion matching is not working properly for rules with arguments #2947.

5.0.112 - 2024-09-27

Changed

  • Disabled option in tracking protection for hiding search queries #2969.

5.0.97 - 2024-09-23

Fixed

  • The list of custom filters is passed to ReportsWebApp even if the Custom group is disabled #2951.
  • The extension stopped working because of intersection of dynamic rules IDs #2953.

5.0.91 - 2024-09-19

The extension is now fully compatible with MV3.

4.4.22 - 2024-08-30

Changed

Fixed

  • Negated domains in the $to modifier are not working as expected #2910.
  • Redirect rule blocks request in the Spotify player instead of redirecting #2913.

4.4.18 - 2024-08-19

Added

  • HybridStorage for storing data via IndexedDB with fallback to chrome.storage.local.
  • Syntax highlighting for $permissions modifier in the rule editor.
  • @adguard/agtree for working with rules tree.

Changed

  • Exported settings file name to standardized way to make it consistent with other AdGuard products #2607.
  • Filter lists are now stored in a pre-processed format, which makes the engine start more efficiently, since the engine does not need to convert or parse the rules.
  • Updated @adguard/tswebextension to v2.0.0.
  • Updated @adguard/tsurlfilter to v3.0.0.
  • Updated @adguard/scriptlets to v1.11.6.

Fixed

  • Filtering log gets refreshed when navigating yandex maps #2519.
  • Filtering log is broken by history.replaceState #2598.
  • Style filter is applied, but scriptlet filter is not in Firefox #2782.
  • Missing info on custom filters when reporting issues #2793.
  • Some filters are not updated when enabled #2818.
  • Can't set notifications viewed.
  • Console errors on the background page when opening chrome://new-tab-page/.
  • $permissions rules are not shown in the filtering log.
  • Extension's action icon flickering on tab change.
  • Filters auto updates not refreshing last updated date field #2726.
  • Extension's action icon flickering on tab change.

4.3.64 - 2024-07-10

Fixed

  • Popup menu does not open in Firefox Nightly #2817.

Changed

Fixed

  • Do not throw an error during cookie setting if a cookie domain mismatches a request URL #2683.
  • Script rules are not applied in Firefox due to CSP #1733.

4.3.46 - 2024-04-08

Added

Changed

Fixed

  • The install process stops if filters.js is unreachable #2761.
  • Do not fetch diff updates until the next full update, if some fatal error occurred during the last update #2717.
  • Check filter checksum after it was downloaded #2681.
  • Assistant iframe styles are affected by cosmetic rules specific for websites #1848.
  • Applying of modifiers $popup and $all #2620, #2728.
  • Update recommended filters on enabling group of filters and on locale detection #2714.

4.3.35 - 2024-03-28

Fixed

  • Update notification leading to release notes when on beta #2682.
  • The filters revert to the pre-installed ones when importing settings #2735.

4.3.31 - 2024-03-11

Changed

Fixed

  • Memory leak with parsed tags from filter rules.
  • Applying of $all modifier rules #2620.
  • Settings fail to open on the very first attempt #2712.
  • All groups and filters are disabled after installation #2713.
  • Custom filter adding modal #2715.
  • Send stealth.block_trackers during issues reporting #2721.
  • $popup modifier block other types of resources #2723.
  • $popup should not disable simple blocking rule #2728.

4.3.14 - 2024-06-02

Fixed

  • Cosmetic rules do not work in Opera #2704 and #2705.

4.3.13 - 2024-01-30

Added

  • Added Edge and Opera dev build.
  • Detecting dangerous rules.

Fixed

  • Not all Custom filters shown #2693.

4.3.10 - 2024-01-20

Fixed

  • Automatic filters update does not work in mobile browsers #2423.

Changed

4.3.4 - 2024-01-16

Added

  • Getting user consent on annoyances filter enabling.

Fixed

  • Fixed compatibility for minimum supported versions #2661.
  • Filters group not opening if some text is selected on the page #2662.

Changed

4.2.240 - 2023-12-15

Added

  • Info about @adguard/tswebextension, @adguard/tsurlfilter, @adguard/extended-css and @adguard/scriptlets versions to the options page's About tab #2237.

Changed

Fixed

  • $$ rules break encoding on some websites #2249.
  • TSUrlFilter library loading by Fullscreen User Rules Editor #2412.
  • Displaying of Stealth Mode modified cookie rules in Filtering log as "Modified". #2512.
  • Highlighting of $inline-font and $inline-script #2609.
  • Scriptlets logging in browser console only if Filtering log is opened #2584.
  • Filters updating notification styles #2309.

4.2.228 - 2023-11-27

Fixed

  • Logging of cosmetic rules applying.

4.2.226 - 2023-11-22

Added

  • Macedonian language support #2574.

Changed

Fixed

  • Filtering log not opening on Firefox for Android #2563.
  • Firefox Mobile not being correctly picked on a Report an issue page 2250.
  • Filtering log crash on blocking requests, which were already allowlisted from applying $removeparam, $removeheader or $csp rules #2534.
  • Do not use zh-CN localized metadata for zh-TW browser language #2504.
  • Collect logs only when filtering log is open #2544.
  • Cannot add a custom filter list with a .php URL #1723.

4.2.209 - 2023-11-01

Fixed

  • Resync event listeners after background page wakes up.

4.2.208 - 2023-10-23

Added

  • Send system_version during issues reporting #2535.

Changed

Fixed

  • Rule patterns and options not being clickable in rule wizard of filtering log #2204.

4.2.189 - 2023-10-09

Added

  • Fixed stealth mode toggle not triggering configuration reload.
  • CSP trusted-types directive modifying for response headers #2068.

Changed

Fixed

  • Slow enabling of recommended filters on first group activation #2431.
  • User rules not filtering duplicates on importing #2446.
  • Rule wizard bug with advanced modifier rules #2456.
  • Translation language detection for Filter download page #2430
  • Do not block a tab loading by $popup modifier rule on direct url navigation #2449.
  • Filtering log focus on the active tab #2482.
  • Displaying of applied Stealth Mode options in filtering log request details #2455.
  • Updating of tab title in Filtering log's Tab selector #2428.
  • Displaying of Stealth Mode cookie filtering log events as applied by Stealth Mode #2487.
  • Csp rules breaking rule wizard on unblocking #2448.
  • AdGuard v4.2.168 is not working in the Firefox after update #2501.

4.2.168 - 2023-09-07

Changed

Fixed

  • Extension started downloading filters too often.
  • Custom filters names not displaying if added while filtering log is open.
  • Do not inject content scripts to the chrome web store pages on extension initialization.
  • Blocked CSP reports are not filtered by "Blocked" in the filtering log.
  • Redirects are not included into tab's blocked requests count #2443.

4.2.162 - 2023-08-28

Changed

Fixed

  • Custom filters names not being displayed if added while filtering log is open.
  • Do not inject content scripts to the chrome web store pages on extension initialization.

4.2.151 - 2023-08-11

Added

Changed