github AdguardTeam/AdguardForWindows v7.16.0
7.16

latest releases: v7.19.0-beta-2, v7.19.0-beta-1, v7.18.1...
9 months ago

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)

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
    ​* Fixed set-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-gptsetPrivacySettings() #344

UserscriptsWrapper

​* Updated UserscriptsWrapper to v1.2.21

  • The 网盘直链下载助手 userscript is not working with AdGuard #1780

AdGuard for Windows direct download links:

Release channel

Beta channel

Nightly channel

Don't miss a new AdguardForWindows release

NewReleases is sending notifications on new releases.