Releases: AdguardTeam/AdguardForiOS
4.5.5
Apple fixed its iOS 17 bug that limited the number of Safari content-blocking rules, which contradicted their own Safari Content Blocking API documentation. That lets us remove our temporary workaround for that problem. In short, that means you can finally enable a large number of filters without them crashing, thanks to the fact that all of the 900K rules (provided by 6 AdGuard content blockers) are available again, as they are supposed to. Also, we updated Scriptlets — one of the essential libraries needed for the app’s stable performance.
If you are using iOS 17, please note that for this fix to work you need to update to the latest iOS.
If you are using iOS 16 and below, this bug doesn’t affect you.
Changelog
Fixes
- Some filter rules are not applied when a large number of filters is enabled #2346
Scriptlets (JavaScript enhancement for filtering rules)
- Scriptlets updated to v1.11.1
How to install AdGuard For iOS
4.5.4
The app now runs more smoothly thanks to this minor update, which fixes a number of bugs.
How to install AdGuard For iOS
v4.5.3
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.
Changelog
Updated Scriptlets (JavaScript enhancement for filtering rules) to v1.10.25
Updated TSUrlFilter (Advanced protection filtering engine) to v2.2.18
Updated DnsLibs (DNS filtering engine) to v2.5.17 #2314
It brings the following changes:
Improvements
- Allowed specifying tcp-only and udp-only DNS upstreams #208
Fixes
- Unable to use DoH DNS server that uses HTTP/1.1 since updating to version 4.3 #216
- adguard_dns segfaults while acquiring mutex in
ag::dns::DohUpstream::Http3Connection::on_expiry_update()
#212 - Unable to access Korean websites after latest version update #5120
- Adblock syntax rules with FQDN don’t work #210
Other
- Improved handling of HTTPS rrtype #215
- Happy Eyeballs is now used for IPv4/IPv6 in DoH #217
- Disallowed upstreams with non-domain and non-IP addresses in URL hostname #213
How to install AdGuard For iOS
v4.5.2
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!
Changelog
Fixes
- Advanced rules do not work if a rule contains
www.
at the beginning #1897 - When opening a Live video on YouTube through AdGuard, an error appears #2254
DnsLibs (DNS filtering engine)
- Updated DnsLibs to v2.4.18
Scriptlets (JavaScript enhancement for filtering rules)
- Updated Scriptlets to v1.9.101
How to install AdGuard For iOS
v4.5
We are thrilled to announce the release of AdGuard v4.5 for iOS, which includes major changes and new features.
System-wide tracking protection
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.
DNS-over-HTTP/3 support
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.
Changelog
Fixes
- No rules on the Content Blockers screen #2012
Versions
- Updated DnsLibs to v2.2.8 #2171
How to install AdGuard For iOS
v4.4.6
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.
Advanced blocking rules acceleration
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.
Native support for the :has()
pseudo-class
With 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!
Changelog
Features
- Show SafariConverterLib version after tapping the app version in About #2050
- Show Scriptlets and ExtendedCss versions in About #2121
- Improved Safari Web Extension initialization speed
Fixes
- Incorrect description of Alternative servers in Spanish #2078
Versions
- Updated DnsLibs to v2.0.75 #2111
- Updated ExtendedCss to v2.0.51
- Updated Safari Converter Lib to v2.0.39
- Updated Scriptlets to v1.9.1
- Updated DNS stamps for DNSCrypt
How to install AdGuard For iOS
v4.4.5
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.
Changelog
Updated
- DnsLibs to v2.0.58
How to install AdGuard For iOS
v4.5.1
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.
What happened to the promised 150k content-blocking rules cap, Safari?
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.
Other improvements
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.
Changelog
Improvements
- Updated TSUrlFilter, Scriptlets, and SafariConverterLib dependencies #2228
Fixes
- Allowed specifying the final CB JSON file size limit in order to make Safari accept AdGuard’s content blockers #56
- Infinite filter updates on iOS 17 #2188
- Unable to open AdGuard v4.5.0 for iOS on iOS 13.x #2194
Updated DnsLibs (DNS filtering engine) to v2.3
- Improved stability and performance of DNS-over-HTTP/3
- Allowed sharp comment in exact domain name rules #196
- Fixed the issue where DoH was trying to use stale connection too much time #200
- Made so that type=HTTPS requests are now filtered properly #199
How to install AdGuard For iOS
v4.4.4
In this version we’ve updated the filter libraries and fixed the YouTube player on iOS 16.
Now you can watch videos ad-free right in the AdGuard app. To do this, tap “Share” in the YouTube app, tap “More”, and select “Block ads on YouTube (by AdGuard)“.
How to install AdGuard For iOS
v4.4.3
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.