Disclaimer AdGuard for Windows is not an open-source project. We use Github as an open bug tracker for users to see what developers are working on.
What number is the answer to the question of life, the universe, and everything? Frankly, no clue, but AdGuard v7.16 for Windows is all about 64. We’re excited to announce that our app is now compatible with 64-bit systems.
What does it mean?
Well, most Windows computers nowadays are 64-bit, they have more resources such as processing power and memory than their 32-bit predecessors. AdGuard has been loyal to the 32-bit version, but progress marches on. It’s time to embrace 64-bit compatibility, which we hope will lead to a more responsive experience for our users and make turning filters on and off feel like pure magic.
But AdGuard still works on 32-bit computers, right?
The trusty 32-bit machines will not be forgotten. You won’t need to download a separate installer: our system will automatically detect your computer’s bitness, allowing you to install the appropriate version.
Anything new with filtering in this version?
Of course! Another big change is that we have improved HTML filtering. We’ve added support for selectors in HTML filtering rules, which helps block ads more effectively.
OK, what else you’ve got?
Our latest DnsLibs brings a new feature to AdGuard for Windows: basic HTTP authentication. Why is this useful?
Those who use the DNS-over-HTTPS protocol also benefit from the features of the HTTP protocol. For instance, when using DoH, you have an authentication option that standard DNS servers simply do not have.
But what if you have a custom DNS server and you want to restrict access to it? Surely you can do it by restricting access by IP address. However, mobile devices, for example, change networks frequently. How to deal with that? This is where HTTP authentication support comes in. Using this feature in AdGuard for Windows, you can include authentication information to connect to a custom DNS server.
This feature is currently not available in AdGuard Home and AdGuard DNS, but you will be the first to know when it is!
Surely that’s it, right?
We haven't finished yet. When it comes to HTTPS filtering, it can be difficult to сheck the original domain certificate. We’ve covered this issue in our Knowledge base. While AdGuard does (always!) verify validity, you might want to check it yourself.
To make HTTPS filtering more transparent for users, AdGuard now offers an option to view the original certificate in “Filtering log”. Here, you can check the details of any web request, see what kind of encryption AdGuard has used, and view the original certificate.
As you can see from the massive changelog, we haven’t been idle since the last release. We haven’t left the WFP and TDI drivers behind either: they’ve been freshly updated. Anyway, let’s cut the talking and go straight to updating!
Changelog
Improvements
- Indicate the HTTPS filtering state and the original certificate in the Filtering log #4812
- Enhanced uninstallation process #4428
- Improved buttons text color in installer for
Active
state #4887 - Removed app shortcut to the folder in Start Menu #4834
- Adapted the onboarding screen to the dark theme #4583
- Packed backup files have
.bak
extension #540 - Removed the second mention of the build number in the About section #4836
- Updated the Finnish translations on the updater screen #4761
Fixes
Enable all
option in the Filter editor can crash the app #4857- AdGuard doesn’t run due to an invalid signature #4864
- The app doesn't start automatically after clean installation and reboot on Windows 7 #4760
- Blocklist and allowlist do not work properly in Parental control #4189
- Browser Assistant keeps working in the app excluded by full path #4723
- DNS exclusions are not working if Fallback servers mode isn’t system default #4822
- Long start if some domains/ports are blocked #4894
- Multiple separators appear after the app crash #327
- Since v7.15, the service can’t start normally if it fails to connect to 20.189.79.72:123 via UDP #4868
- Chinese Traditional words in the Chinese Simplified description of Web of Trust #4739
- Missing strings from the Filtering log in Crowdin #4825
- Lost selection of multiple rules when editing filters #4474
- A rule that has been cut cannot be inserted back into the field from which it was cut from #4859
- Can’t add custom DNS if address contains port number #4945
- Can’t transfer parameters related to DNS filters and license types during web reporting #4931
- Old directories are not deleted from AppData directory #4939
- Recent beta for Windows 11 left x32 in Startup that needs to be removed in registry #4940
CoreLibs (Filtering engine)
- Updated CoreLibs to v1.13.115
- Added support anti-DPI feature for Korea Telecom #1789
- Improved usage of ECH retry_configs #1793
- Removed an option to move a certificate #277
Improvements
- Added
!#else
preprocessor directive support #1806 - Adopted new rule priority scheme #1768
- Changed
sec-ch-ua
headers to match user-agent when Stealth Mode is active #1764 - Improved HTML filtering performance #1772
Fixes
- Closed active QUIC/H3 connections on protection start-up on Windows #1815
- Images are not displayed in Edge Bing Chat #1744
- Websites using SXG have no cosmetic filtering when opened from Google search #1812
- The filtering on the
macperformanceguide.com
website doesn’t work #1810 - UDP timeout is too small in TcpIpStack #1796
- Certificate verification fails on websites with recently updated certs #1833
- unicode.org does not load with AdGuard for Windows #1830
- One of the subdomains is not filtered due to different site certificates #1839
- Connection error when visiting
smartstore.naver.com
in Firefox #4960
DnsLibs (DNS filtering engine)
- Updated DnsLibs to v2.4.37
Improvements
- Added basic auth for DoH endpoints #189
- Allowed sharp comment in exact domain name rules #196
- Allowed specifying TCP-only and UDP-only DNS upstreams #208
- On-the-fly filtering of DoH connections #198
Fixes
- Possible DoS attack against the local DNS proxy when it's using a plain DNS upstream #202
127.0.0.1 local
is incorrectly interpreted as being for all .local address, breaking mDNS #207- DoH is trying to use stale connection for too long #200
- Made so that type=HTTPS requests are now filtered properly #199
Important for filter maintainers
- Added
User rules
option to the filtering log #4560 - Removed the unnecessary period in the pattern when creating a DNS rule from “Unblock” #4872
- Filter editor: rule state shouldn’t change while editing/typing #4910
- Incorrect behavior after exiting inline editing mode #4850
- Incorrect behavior of the first rule in the User Rules filter #4885
- Detect website locale based on HTML "lang" attribute and language request HTTP headers #1736
- Increased limit for
$replace
rules #1802 - Added
$extension
modifier disabling specific userscript #1706 - Added support for cap_html_filtering condition #1758
$denyallow
does not allow blocking documents #1809$stealth
exceptions do not work on the TCP stack level where we block STUN/TURN #1737- Content script is not injected into elements loaded in
object
tag #1769 - Improved HTML filtering rules
$$
and allowed CSS-like selectors #94
Fixes
- The counter may not recognize the added rule #4922
- Lost selection of multiple rules when editing filters #4918
Scriptlets (JavaScript enhancement for filtering rules)
* Updated Scriptlets to v1.9.101
Improvements
- Handle uBO's syntax
$redirect
priorities #59 - Improved
xml-prune
— support xpath for text content matching #325 - Improved
json-prune
— stack #348 - Improved
prevent-xhr
— multiple requests #347 - Added API method to convert redirects based on their name #346
- Added new trusted scriptlet
trusted-prune-inbound-object
#372 - Added more supported values for
set-cookie
#375 - Improved
set-local-storage-item
,set-session-storage-item
— added support “on” and “off” #366 - Improved storage item scriptlets — added regexp support for items removing #256
- Improved
prevent-fetch
— set response.status to 0 if responseType is set to opaque #364 - Versions of used libs are now shown on the About page #2237
Fixes
set-constant
scriptlet breaks vimeo.com #380- Fixed
set-constant
scriptlet when maximum call stack size is exceeded #373
* Fixedset-constant
— no value override #330 - Fixed
trusted-replace-xhr-response
— breakage on music.youtube.com #359 - Improved
m3u-prune
— content is not pruned if contains carriage return #354 - Improved
trusted-replace-fetch-response
— do not replace content if URL is set by Object.defineProperty #367 - Escaped commas in the params during conversion to uBO rules #343
- Fixed
googletagservices-gpt
—setPrivacySettings()
#344
UserscriptsWrapper
* Updated UserscriptsWrapper to v1.2.21
- The
网盘直链下载助手
userscript is not working with AdGuard #1780
AdGuard for Windows direct download links: