The most advanced ad blocker for iOS
This release brings important improvements for the DNS protection feature: thanks to the DnsLibs update, there are no more DNS leaks and connection instability when changing networks. We also updated two other libraries that are essential for the app’s performance: TSUrlFilter and Scriptlets.
Starting with this version, AdGuard for iOS supports only iOS 13 or later.
It brings the following changes:
ag::dns::DohUpstream::Http3Connection::on_expiry_update()
#212
In this version, we’ve added HTTP basic authentication for DNS-over-HTTPS. This is useful if you have your own DNS server and don’t want someone else to use it. There is a nuance, though: there are not many DNS servers that support this feature right now. But soon they’ll become available in AdGuard Home and AdGuard DNS, so stay tuned!
www.
at the beginning #1897
This update brings no major changes, but the ones it does bring are still pretty important, especially since we apparently found an iOS 17 bug as a by-product of preparing this release.
The main attention goes to the fix of an issue on iOS 17 where filters would just update infinitely without actually updating, and, surprise, surprise, the underlying problem turned out to be on iOS’s side: using our standard Safari content blockers with 150k filtering rules all of sudden started causing a crash on iOS 17. We found out that this was happening because Safari wouldn’t accept files over a certain size anymore — even content blockers with 40-60k rules (which is 3 times below the limit) would sometimes crash, depending on the rules they contain.
As a temporary measure, we restricted the size of our JSON files and optimized main filters so that they can squeeze into this new size requirement. If a content blocker is still a little too big for Safari (the final size depends on how many and what filters are enabled by the user), we automatically cut its size so that at least part of the rules that meet the size requirement is applied. And since it’s an obvious iOS 17 bug, we already reported it on Apple’s forum.
Read a more detailed rant about this in our blog article on v4.5.1.
Also, we updated SafariConverterLib, Scriptlets, and TSUrlFilter dependencies. In simple words, the update of these three components helps maintain high filtering quality, i.e. efficient and up-to-date performance of blocking rules. SafariConverterLib converts AdGuard filtering rules into Safari content blocking rules, Scriptlets and TSUrlFilter help implement the Advanced blocking feature in AdGuard for iOS.
And last but not least, two things: DnsLibs v2.3 update improves AdGuard's DNS-over-HTTP/3 performance and stability, and we also fixed the issue where AdGuard wouldn’t open on iOS 13.x.
We are thrilled to announce the release of AdGuard v4.5 for iOS, which includes major changes and new features.
AdGuard v4.5 for iOS now includes system-wide tracking protection, which allows you to block in-app trackers that can discreetly collect user data. We are proud to introduce this great achievement to you.
In this version, we have added statistics on blocked requests to the app (see the Activity tab). We have changed the counters on the main screen to show how many trackers are blocked and how much traffic is saved.
Besides, if you now install AdGuard for iOS or reset its settings to default, the AdGuard DNS filter will already be enabled. What does this mean for you? If you turn on DNS Protection, AdGuard will automatically start blocking ads and trackers in all apps — not just Safari. It doesn't matter which server you use — the DNS traffic will be filtered anyway.
In AdGuard v4.5 for iOS, we have added support for DNS-over-HTTP/3 due to the DnsLibs update. DNS-over-HTTP/3 is a newer version of the DNS-over-HTTPS protocol. AdGuard has become one of the first to support it, along with Google and Cloudflare.
Spring is the time for renewal, and AdGuard products are no exception.
We've updated all the libraries used in the app and improved the UI, so now AdGuard for iOS runs smoother and is more user-friendly.
The Advanced Protection feature is something we're proud of and what sets us apart from other content blockers on iOS. With this module, AdGuard for iOS can apply advanced filtering rules that supplement standard Safari content blocking rules and help effectively tackle complex and encrypted ads.
However, due to the peculiarities of iOS, the Advanced Protection feature’s operation was always limited compared to other versions of AdGuard. For example, some rules applied noticeably later than page load. Sometimes this led to ad "flickering" as it was only hidden after page loading. In other cases, this even prevented certain ads from being blocked.
When preparing the new version of AdGuard for iOS, we put in a lot of effort into speeding up the implementation of advanced blocking rules which directly improved the overall app performance. We hope you'll notice the difference.
:has()
pseudo-classWith Safari v16.4, content blockers gained the capability to select elements for hiding using the :has()
pseudo-class. While this might sound complex and confusing, it's essential to know that this feature is incredibly important to us. It allows for the selection of ad blocks based on their content.
Until AdGuard v4.4.6 for iOS, support for the :has()
pseudo-class was implemented as part of the Advanced Protection module, available only in paid version. Now, this functionality is available to all AdGuard for iOS users!
In this version we've significantly updated our DNS filtering library — DnsLibs — so it consumes less resources and runs faster.
Besides, the DNS-over-QUIC protocol implementation now supports RFC 9250 (proposed standard), and the experimental status was removed from DoQ support.
Finally, we've updated our Safari rules engine and fixed a few bugs.
This version brings the updated rule converter library and some important improvements to the Advanced protection module.
Please note that if you're updating from v4.4.0 you may need to re-enable AdGuard content blockers in Safari settings and check for filter updates in the app.
This is the first update AdGuard for iOS gets since changing the developer account. Please note that you may need to re-enable AdGuard content blockers in Safari settings and check for filter updates in the app.