5.5.0.5 beta
Pre-releaseThis release brings a streamlined user rule editor, the new Mail Tracking Protection filter, and a few quality-of-life upgrades for Chrome MV3.
Improved user rule editing
The User rules section now uses RulesEditor instead of Ace. The new editor has two modes: List view, which displays your rules as a searchable list with checkboxes to quickly enable or disable individual rules, and Editor view for direct manual editing. An overflow menu in the top-right corner gives you quick access to Rule syntax help, Import, Export, and Delete all options.
Here’s what the old rule editor looked like:
And here are the two modes — Editor view on the left and List view on the right — of our new editor.
The Allowlist section now also runs on RulesEditor and has an improved overflow menu.
New Mail Tracking Protection filter
We’ve added a new Mail Tracking Protection filter that removes tracking pixels — invisible 1x1 images that are used to tell senders when an email has been opened. These trackers can’t be blocked by domain alone, since most email services proxy images through their own servers. Instead, this filter uses other signals to catch them without breaking legitimate images.
More accurate filter update dates
Previously, the Filters tab in MV3 settings showed the extension’s update date for all filters, no matter when the filter itself was last updated. We updated the filter metadata handling so the Last updated field now shows the filter’s real update date.
$urltransform modifier for advanced users
For advanced filter makers, v5.5 adds support for the $urltransform modifier. It lets a rule rewrite parts of a URL — like its path or query string — before the request goes out, including redirects handled through Chrome’s MV3 declarativeNetRequest API. This makes it possible to strip tracking parameters and other unwanted bits from URLs without blocking the request entirely.
Changelog
Improvements
- Added filter rule conversion error logging in MV2
- Added a new rule editor with dedicated list and editor views
- Aligned internal
RuleSet/ruleSetidentifiers toRuleset/rulesetto match
the renamed linked libraries (@adguard/dnr-converter,@adguard/tswebextension) - Filtering log now accumulates
declarativeRuleInfo.sourceRulesacross multiple
DNR matches for the same event instead of overwriting the previous value - Aligned
RuleActionTypeenum casing to PascalCase (BLOCK→Block, etc.) to
match the@adguard/dnr-converterAPI - User rules error reporting in MV3 now logs dynamic rule conversion errors
- 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 - Updated [@adguard/dnr-converter] to v1.1.0
- Updated [@adguard/rules-editor] to v2.0.0
Fixes
- 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
$popupmodifier rules are now displayed
as linked to the background page #1686 - The Send ad filters usage option with CSS rules containing
::beforeor::after
causes visible content on the page #1486 - WebRTC IP handling policy changed from
disable_non_proxied_udpto
default_public_interface_onlyto reduce VoIP breakage while still
preventing IP leaks - 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
$domainmodifier containing multiple escaped
separators (e.g.[$domain=/example\d*\.(live\|com\|icu\|org)$/]##body) not
being applied - 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 - Expanded wildcard TLD domains in DNR conversion for
$domainand$to
modifiers tsurlfilter#189
Improvements
- Added
$urltransformmodifier support tsurlfilter#111 - Added
$removeparamsupport for SPA navigations tsurlfilter#188 - Default registered script is always added to local script rules tsurlfilter#167
- Migrated declarative network rule conversion from
@adguard/tsurlfilter/es/declarative-converterto the dedicated
@adguard/dnr-converterpackage
AGTree (A tool for working with adblock filter lists)
- Updated [@adguard/agtree] to v4.2.0
Scriptlets (JavaScript enhancement for filtering rules)
- Updated [@adguard/scriptlets] to v2.5.0
TSWebExtension (Library wrapper for Browser API and TSUrlFilter)
- Updated [@adguard/tswebextension] to v5.0.0
- Updated [@adguard/extended-css] to v2.2.0 (sub-dependency of [@adguard/tswebextension])
-
TSUrlFilter (AdGuard Browser Extension filtering engine)
- Updated [@adguard/tsurlfilter] to v6.0.2

