Filtering is the core of any ad blocker, and it’s the main focus of this release. We’ve introduced differential filter updates to ensure you always have the latest filters. Plus, we’ve made DNS filtering easier to customize by offering ready-to-use filters that can be added with just one click. And in other filtering-related news, we’ve revamped the screens you see for blocked websites so you can interact with them more.
Differential filter updates
Previously, even minor changes to a filter list required downloading the entire list again. This approach was inefficient, leading to excessive bandwidth usage, increased latency, and unnecessary server load.
Now, with differential updates, AdGuard downloads only changes to filter lists instead of the entire list. This reduces server load and speeds up the process. You don’t have to do anything — updates are applied automatically, so you always have the latest filters. And what does more filter updates mean? Yes, more effective ad blocking.
One-click DNS filters
In the DNS Protection section, you’ve always been able to import filters to customize your DNS filtering. Now adding filters is even easier: simply select from pre-built, trusted filters — the same ones AdGuard DNS users know and love. Filters are grouped into categories for convenience:
General: block ads and trackers
Regional: target websites in specific languages
Security: block phishing and other threats
Other: cover special use cases that don’t fit the above
![]()
Blocking pages: now interactive
Chances are, you’ve seen one of our blocking screens before — whether due to a phishing threat, Parental Control, or a filtering rule. Previously, these pages were more like roadblocks. Now, they’re more like intersections where you have options.
![]()
For example, If AdGuard blocks a website due to phishing suspicion, but you’re sure it’s safe, you can report a false positive directly from the blocked page. You can also access our security check tool to get more details about the website.
![]()
A website blocked by a filtering rule? Just click “Add this website to the allowlist” and an unblocking rule will be generated automatically and added to User rules.
![]()
As with every new release, this one includes updated WFP and TDI drivers, along with updated filtering engines — CoreLibs and DnsLibs. What else is there to ask for? If there is — your input is welcome in our repository
Heads-up: This version does not support Windows 7. If upgrading to a newer version of Windows isn’t possible, you can stay with AdGuard v7.19.
Changelog
Improvements
Added support for Zen Browser #5256
Fixes
Excluding Wi-Fi SSID from the DNS filtering does not work #5252
Filters are reset when updating from 7.20 nightly 3 to nightly 4 #5296
HTML requests are not displayed in the filtering log if there is a rule with the $generichide modifier #5213
“Image of the day” is blocked by Disable Windows OS ads #5190
Types of filters and some of their names are not translated #5311
The message “Settings were successfully imported” appears even though the import link was invalid and the settings were not imported #5316
The main window stays open when Windows starts #5294
When updating filters, the screen does not fit properly #5249
Can’t save a custom IP in Blocking mode for hosts rules #5257
The splash screen of the AdGuard app appears after the PC is restarted #5302
When importing settings by shared URL, DNS servers add to Recommended list, instead of Custom #5277
When adding a custom filter list, notification shows that some filters have been updated #5325
CoreLibs (Filtering engine)
CoreLibs updated to v1.17.94 #5353
Improvements
Removed trust in GlobalTrust certificates #1883
Enable post-quantum cryptography when it’s used by the filtered app #1916
Implemented new blocking pages #1859
Provided the ability to add userscripts without specifying a resource #1889
Added safe search for so.com into Parental Control #1942
Allow HTTPS filtering with trusted self-signed certs #1890
Fixes
“Proceed anyway” button doesn’t work when website is blocked by rule with the $all modifier #1952
Access to function “GM_getValue” is not allowed #1905
AdGuard overrides User-Agent changes made by the browser, which reduces privacy #1910
On reddit.com, URL parameters with %24 are not removed #1922
“##+js(rmnt, #text, [...])” rule with non-ASCII UTF-8 characters is not converted #1946
DnsLibs (DNS filtering engine)
DnsLibs updated to v2.5.51 #5264
Scriptlets (JavaScript enhancement for filtering rules)
Scriptlets updated to v2.1.4
Improvements
trusted-click-element — check for containsText of all matched selectors #468
Fixes
trusted-click-element — the element has been removed and then added again before it is clicked on #391
trusted-set-cookie — cannot set cookie if name has __Secure- prefix #448
UserscriptsWrapper
UserscriptsWrapper updated to v2.0.1
Didn't have this issue on mine and according to changelog it was supposed to be fixed in this release though I see that the issue is still open:For some reason all my filters were disabled after updating, except for 3. Make sure to check after update to reenable the filters you use.
Maybe just leave a comment there in that GitHub issue to let them know that you faced the issue after updating to 7.20.Filters are reset when updating from 7.20 nightly 3 to nightly 4 #5296
Other users have also reported same issueFor some reason all my filters were disabled after updating, except for 3. Make sure to check after update to reenable the filters you use.
Yes, and "import settings" failed.Other users have also reported same issue
Didn't have this issue on mine and according to changelog it was supposed to be fixed in this release though I see that the issue is still open:
Maybe just leave a comment there in that GitHub issue to let them know that you faced the issue after updating to 7.20.
It is fast yet still slightly slower than AdGuard browser extension, but it has improved a lot from how it was a couple of years ago. You have to check by yourself to see whether you feel any speed issue.How is the performance of Adguard Windows nowadays, is it fast or still slower than the Adguard browser extension?
This hotfix, as well as the release before it, focuses on filters. Many users have reported a big issue: filters and extensions were gone after updating from the previous version. Rest assured, they are not gone permanently — we always create backups. If you’ve been affected by this issue, please follow the steps below to restore your settings:
- Open File Explorer and navigate to the path “%programdata%/adguard/backups”.
- Find the backup zip file associated with the 7.19 version. It will be named something like adguard_settings_7.19.... Save this file somewhere.
- Uninstall AdGuard, but make sure to keep your settings (don’t check the box Delete settings).
- Go back to File Explorer and navigate to “%programdata%/adguard”. Delete the FLM folder and the adguard.db file.
- From the zip file you saved in step 2, extract the adguard.db file and copy it to the “%programdata%/adguard” folder.
- Finally, install version 7.20.1. Your settings should be restored.
Adding big DNS filters on mobile devices might not be a good idea as it would consume more power. AdGuard usually don't recommend anything but their own AdGuard DNS filter on mobile devices. Also on AdGuard for Android, default block rule for DNS filters is "Refused" (This will change in the future). In refused mode, when a dns query is blocked, the app/service/website most of the time will send many more requests. AdGuard will have to block all these attempts and fill its log with same blocks. It is also the reason why AdGuard on Android shows comically large amount of, "Blocked" and "Data Saved" number.it seems they added more dns filters, sadly its not yet available for mobile devices
Cheers for such a information post. I already thought it would block ads on more effective way than adding the list on custom filters you currently have instead of coming list of '' dns'' filters.... i already tried nextdns as i have subscription for year there, but it leaves too many ''blank'' white boxes into places where ads are supposed to be, so i wouldnt add big filterlists to my dns settings if the feature rolls out on mobile devices.Adding big DNS filters on mobile devices might not be a good idea as it would consume more power. AdGuard usually don't recommend anything but their own AdGuard DNS filter on mobile devices. Also on AdGuard for Android, default block rule for DNS filters is "Refused" (This will change in the future). In refused mode, when a dns query is blocked, the app/service/website most of the time will send many more requests. AdGuard will have to block all these attempts and fill its log with same blocks. It is also the reason why AdGuard on Android shows comically large amount of, "Blocked" and "Data Saved" number.
In AdGuard for Windows, default block rule for DNS filters is "0.0.0.0" which minimizes too many DNS requests for blocked queries. So at least on mobile devices it is better to use DNS services like NextDNS, AdGuard DNS, ControlD, etc. where you can use big DNS filters like OISD, Hagezi, etc.
On PC using a couple of large DNS filter lists had no impact on browsing performance for me. If other DNS like Cloudflare/Quad9 are noticeably faster than NextDNS/AdGuard DNS in your region, then one could use local DNS filters in AdGuard.
One thing I noticed that AdGuard DNS filter has some regex rules to block any websites that resolves to the IP addresses defined by the rule. NextDNS cannot block these. AdGuard DNS can block those. I don't know if ControlD can.
/(https?:\/\/)213\.32\.115\..{100,}/