Skip to content

Releases: AdguardTeam/AdguardForiOS

4.1.0

18 Feb 13:48
Compare
Choose a tag to compare

Long time ago scientists discovered an interesting phenomenon. While we typically think that what we most want is to actually get what we want, the most intense source of pleasure is in looking forward to getting what we want. That's the dopamine system, also known as the wanting system.

It's been months since Apple added native DNS encryption support to iOS and you might've thought that we at AdGuard just have been lazy not adding support too? Not at all! We've just been trying to follow science and provide you with as much pleasure as possible. Finally, the intensification period ends and catharsis begins!

Native support for encrypted DNS #1589

So in 2020 Apple platforms started natively supporting encrypted DNS. Namely, two protocols were supported — DNS-over-TLS and DNS-over-HTTPS (DoT and DoH). Earlier you could set up and manage DNS profiles in AdGuard. Yet, the solution wasn’t so snorky. Now we've made things simple: there is no need to download and install DNS profiles, just enable Native implementation in AdGuard for iOS settings:

The new method of setting up DNS isn't really superior to the one you're already familiar with, but it has one slight advantage: the DNS is handled by the system and not the app. This means that AdGuard doesn't have to create a local VPN. Sadly, this will not help you circumvent system restrictions and use AdGuard alongside other VPN-based applications — if any VPN is enabled, native DNS is ignored. Consequently, you won't be able to filter traffic locally or to use our brand new DNS-over-QUIC protocol (DoQ).

Social login 📲 #1507

Now the Google login widget is present in the app (AdGuard > Settings > License > Login). A single click on a Google Sign-in button, and you're there!

For a successful login, you should have an AdGuard account registered to your Google email address. Otherwise, there will be an error.

Don't have an AdGuard account? Create one at my.adguard.com first, then you'll be able to bind it to your Google account.

Low-level stuff. ☢ For geeks only!! 🤓

Blocking mode, Block IPv6, Blocked response TTL, Bootstrap and Fallback servers — all settings on this screen are new, except for the Tunnel mode.

Bootstrap and Fallback

Fallback is simply a backup DNS server. If you chose a DNS server and something happened to it (whatever the reason), a fallback is needed to set the backup DNS server until the main server responds.

With Bootstrap, it’s a little more complicated. For AdGuard for iOS to use a custom secure DNS server, our app needs to get its IP address first. For this purpose, the system DNS is used by default, but sometimes this is not possible for various reasons. In such cases, Bootstrap could be used to get the IP address of the selected secure DNS server. Here are two examples to illustrate when a custom Bootstrap server might help:

  1. When a system default DNS server does not return the IP address of a secure DNS server and it is not possible to use a secure one.
  2. When our app and third-party VPN are used simultaneously and it is not possible to use System DNS as a Bootstrap.

Block IPv6 🔒 #1289

For any DNS query sent to get an IPv6 address, our app returns an empty response (as if this IPv6 address does not exist). Now there is an option not to return IPv6 addresses.

Does anybody actually read these? ┬──┬ ノ( ゜-゜ノ)

  • [Fixed] AdGuard shows DNS requests although disabled #1667
  • [Fixed] VPN restarts when entering the app #1709
  • [Enhancement] Intercept abp:subscribe and subscribe.adblockplus.org URLs #27
  • [Other] Updated DnsLibs to 1.4.33

4.0.4

15 Dec 13:19
Compare
Choose a tag to compare

This release is mainly focused on bug fixes and minor improvements. Yet, it has a feature that one can’t ignore — DNS-over-QUIC support!

[Other] DNS-over-QUIC support (AdGuard DNS)

The first thing you should know about DNS-over-QUIC (DoQ) is that it's a new encryption protocol. Not as new as a concept, but very new in terms of practical application. In fact, AdGuard introduced the very first public DNS servers that support DoQ! The feature is still experimental — AdGuard for iOS is one of the first open-source implementations of DNS-over-QUIC — but it's perfectly functioning and we encourage you to try it.

The most common DNS encryption protocols are DNS-over-HTTPS and DNS-over-TLS (DoH and DoT correspondingly). What makes DoQ special? A bunch of things: out-of-the-box encryption, reduced connection times, and better performance in cases of lost data packets.

Changelog

  • [Enhancement] Shown the link in the details of custom filters #1529
  • [Enhancement] Added "Acknowledgments" link to the "About" screen
  • [Enhancement] Added our discuss page URL to the "About" screen
  • [Enhancement] Improved the way DNS queries are logged to the Tunnel log
  • [Fixed] Access to the DNS Allowlist crashes AdGuard Pro #1655
  • [Fixed] AdGuard does not automatically select a DNS server when deleting the custom DNS server in use #1657
  • [Fixed] Disabling "Advanced mode" in settings disables "Auto-Update over Wi-Fi only" too #1662
  • [Fixed] Attempt to open "License" section causes the app crash #1664
  • [Fixed] Reset settings leads to broken DNS servers settings
  • [Other] Updated DnsLibs to 1.3.24 #1638
  • [Other] Incorrect record color in the Activity log
  • [Other] Missing image in front of "Security" filters
  • [Other] Circles loader updates infinitely

4.0.1 Pro

17 Jun 11:16
Compare
Choose a tag to compare

It's been forever since the last AdGuard Pro update, and even more since the last meaningful one. We hope very much that this huge update will redeem us. And there's no reason to think otherwise: the number and the scale of changes is enormous. Starting with a complete UI rework, followed by the introduction of Content blockers and other meaningful additions and enhancements like Activity feed and improved DNS filtering.

Major design changes

Traditionally, a major version increase heralds a lot of changes regarding the UI. This time is not an exception. And considering the app jumped from v2.1 straight to v4.0, the transformation is drastic. Here's an attempt to list everything that has changed in terms of UI:

  • General design changes. Seriously, this is almost a new app now. New style, menu logic, icons... One thing stays the same though: you can switch to dark mode.
  • Advanced mode: additional settings for advanced users. Use at your own risk! However, the app isn't called 'AdGuard Pro' for nothing: if you've been using it for a while, these advanced settings probably won't scare you off.
  • Activity feed: DNS requests log, exhaustive request details. This is more or less the familiar requests log, but better looking and more detailed.

  • Most active companies: not only you now can see which company this or that DNS request belongs to, you can view the "leaderboard" on the 'Most active companies' screen, accessible from the activity feed.

  • Requests statistic. Switch between all-time, monthly, weekly or daily stats.

Content blocking

This update features a solid amount of changes that are aimed at enhancing the Safari content blocking. Its efficiency has increased manyfold compared to v2.1.

[Enhancement] Safari content blocker max rule count raised to 300k #819

Safari is notoriously known for its harsh 50k max limit for filtering rules in content blockers. This number is laughably low, and for ages we were struggling with it. Now we've implemented a workaround: split AdGuard Pro into six content blockers. Each of them has the same 50k restriction but in total they add up to a reasonable 300k rules max. You don't have to seek weird compromises anymore and can enable all your favorite filters at once!

[Enhancement] "Content blockers" screen #1105

It would surely be irritating to have to go to Safari settings to check which content blockers are enabled and which are not. We know this from personal experience. The logical solution was to add a new screen right to AdGuard Pro settings, which we did. Go to General settings > Content blockers to see the current state. You’ll even find there which filters exactly are enabled and how many rules each of the content blockers has used up.

[Enhancement] Content blocker affinity #1104

Some filtering rules depend on each other or work better together. There’s a problem in cases when such rules belong to different content blockers. Normally they wouldn't always work as intended, even if both content blockers were enabled. But we put in extra work to achieve cross-content blocker compatibility, so the quality of ad blocking went further up.

[Enhancement] An option to import custom filters by URL #518

This option will be very useful for those who support their own filters, or just have a favorite filter that wasn't included by default. Add it by URL and it will be kept updated just as any other filter!

DNS protection

It was already on a solid level before the update, so we didn't change too much compared to content blocking or UI. It doesn't mean we didn't do anything, though!

Enhanced DNS protection #1107

This includes a few measures. Firstly, we made it so it's possible now to enable and disable DNS protection for Wi-Fi or mobile data separately, a feature that should be helpful to many AdGuard Pro users.

Besides that, in addition to familiar DNS functionality you now can add mobile network or certain Wi-Fi networks to exclusions. For example, you can use it if you have AdGuard Home set up for your home Wi-Fi.

There are several lesser changes related to DNS functionality that are too technical or too minor to include here, but together they make the DNS protection suite quite a lot better compared to the previous version.

4.0.1

12 Jun 11:49
Compare
Choose a tag to compare

This is the first update after the release of v4.0. As usual in such cases, the accent is on bugfixes, and this time there were surprisingly few bugs to fix. We also took this opportunity to update localizations and make some UI tweaks. Make sure you check out the App store update description for a notable and very rigorous update description.

  • [Enhancement] NextDNS-specific characters are now allowed in DNS server addresses #1551
  • [Fixed] URL blocking rules with $document,popup do nothing in Safari #74
  • [Fixed] AdGuard lets you select an unsupported protocol for DNS servers #1557
  • [Fixed] WLAN Connection gets lost when opening AdGuard #1550
  • [Other] App crashes when sent to background #1544
  • [Other] Localizations have been updated

4.0.3

22 Sep 12:31
Compare
Choose a tag to compare

This is mostly a bugfix release, yet it has a new handy feature — custom URL scheme support. Now you can easily add custom filters from the browser and add custom DNS servers using stamps.

Changelog

  • [Added] Custom URL scheme support
  • [Changed] Move "About" menu item to the bottom of the list
  • [Changed] Remove unnecessary scrolling in Settings
  • [Fixed] Obsolete filters were not deleted after update in some cases
  • [Fixed] Estonian filter icon uses flag of Ethiopia #1636
  • [Fixed] Localization issues #1626
  • [Fixed] Lost network connection when automatically switching networks (with IPv6) #1592
  • [Fixed] The "Remove VPN profile" button doesn't work #1625

4.0.0

12 May 11:15
Compare
Choose a tag to compare

After a long struggle and countless iterations we're finally ready to present AdGuard v4.0 for iOS! It's a huge update with many, many new features, design changes, bugfixes and whatnot. Let's not forget about DNS protection: a way to have full control over DNS traffic on your device. Let's check it out:

Major design changes

Traditionally, a major version increase heralds a lot of changes regarding the UI. This time is not an exception. And we really mean a lot!

  • General design changes: new icon styles, new menu logic, revamped main screen

  • Advanced mode: additional settings for advanced users. Use at your own risk!

  • Activity feed: DNS requests log, exhaustive request details.

  • Most active companies: not only you now can see to which company this or that DNS request belongs, you can view the "leaderboard" on the 'Most active compoanies' screen, accessible from the activity feed.

It might take a bit to get used to for the veterans, but at the same time we hope it will come very natural to new users.

Enhanced DNS protection #1107

In addition to familiar DNS functionality you now can add mobile network or certain Wi-Fi networks to exclusions. For example, you can use it if you have AdGuard Home set up for your home Wi-Fi.

Also, by enabling 'Advanced mode' you get access to DNS filtering: add custom hosts files or filters like AdGuard SDN filter to have more agency over your DNS traffic.

New AdGuard widget #973

Now AdGuard for iOS gets its own widget, just like AdGuard Pro. Look at this beauty:

It does everything you want: provides quick access to DNS protection and Safari content blocking switches, displays current DNS server and statistics. You barely need to open the app itself!

General statistics #1325

Another previously AdGuard Pro-exclusive feature that all AdGuard for iOS users will now be able to enjoy. A curious toy for some, an instrument to control your traffic for others — everyone will find it amusing, if not useful. You’ll find the stats on the main screen of the app:

Switch between all-time, monthly, weekly or daily stats and between all or blocked requests.

Changelog

  • [Bug] Content Blockers screen shows User Filter as loaded even when it’s off #1287
  • [Bug] When reporting a website via the Action extension, the URL of the reported website is not automatically inserted #1288
  • [Bug] Unable to change DNS type from DoH to anything else #1347
  • [Bug] The app crashes after adding two rules in a row via Action extension #1426
  • [Bug] AdGuard doesn’t respect "Autoupdate over Wi-Fi only" setting #1381
  • [Bug] Wrong language icon for Liste AR filter #1334
  • [Bug] Filter update status is not showed properly #1364
  • [Bug] Endless content blocker update animation #1365
  • [Bug] Can't add link to the whitelist #1
  • [Bug] Incorrect main switch state #1517
  • [Bug] "Tracking Protection" doesn't automatically turn off when another app turns on a VPN #1516
  • [Bug] Wi-Fi exception issue #1519
  • [Bug] Total requests count is decreasing #1495
  • [Bug] Menu name disappears after adding a new DNS custom filter #1472
  • [Bug] 'Matched filters' in the filtering log are not shown correctly #1441
  • [Bug] VPN suddenly turns off in background #1508
  • [Bug] VPN is still enabled for some trusted Wi-Fi exceptions #1475
  • [Bug] Wrong switches behavior on the main screen #1445
  • [Bug] Entries in the inverted whitelist get deleted after an app update
  • [Bug] The NEXT button on the login page doesn’t switch focus to the password text field #1378
  • [Bug] Screen title is missing #1454
  • [Bug] Widget doesn’t work #1506
  • [Enhancement] New option to edit custom filter list names #1068
  • [Enhancement] New option to remove the AdGuard VPN profile #1408
  • [Enhancement] Pull the screen down to update DNS filters #1513
  • [Enhancement] UI got adapted for Screen reader #1150
  • [Enhancement] Filter lists now update on the app update #1481
  • [Enhancement] Activity for loading a new custom filter #1438
  • [Enhancement] DNS response status is now resolved in the tunnel extension #1355
  • [Enhancement] App theme now matches the system default theme after the first installation #1435
  • [Enhancement] Added DNS upstream validation #1436
  • [Enhancement] New DNS proxy library #1332
  • [Feature] New option to enable/disable individual rules in Safari user filter and Safari whitelist #1353
  • [Feature] New option to exclude Wi-Fi networks from DNS filtering #1276
  • [Feature] An option to reset AdGuard settings to default #1089
  • [Feature] Progress bar for currently running tasks #1282
  • [Feature] An option to reset statistics #1358
  • [Feature] New Activity Screen #1403
  • [Feature] Trackers' details #1279
  • [Other] New button to close Action extension #1110
  • [Other] An intermediate dialog for adding new rules from the Filtering log #1389
  • [Other] Two separate loading screens for light and dark themes #1284
  • [Other] An error message is now shown after an attempt to add an invalid rule to User filter #1109
  • [Other] Warning too large hosts files #1474
  • [Other] Minor UI improvements #1501
  • [Other] 'Rate our app' dialog got improved #1467
  • [Other] Video tutorial got updated #1429
  • [Other] Removed 'Next' button when loading new custom filter #1438

3.1.3

05 Dec 09:17
Compare
Choose a tag to compare

A small update aimed mostly at improving app’s stability.

  • [Changed] “Purchase” screen #1345
  • [Fixed] Several crashes #1344
  • [Fixed] Disabling filtering on a page via Safari action extension sometimes doesn’t work properly #1350
  • [Improved] Developer logs now include information about content blockers’ behavior #1346
  • [Improved] “Content blocker cannot be registered” case handling #1240

3.1.2

21 Oct 10:34
Compare
Choose a tag to compare

AdGuard v3.1.2 for iOS tidies up some of the leftover bugs from the previous release.

  • [Added] Support App Store Promotions #1292
  • [Changed] “Log in” button added back to About screen #1306
  • [Fixed] Too Many Separator lines in filter Menu #1290
  • [Fixed] Swiping to the side makes the filter lists buggy #1291

3.1.1

01 Oct 16:50
Compare
Choose a tag to compare

We’re fixing some bugs here that emerged after the recent v3.1 update.

  • [Fixed] VPN icon isn’t hidden in iOS 13 #1246
  • [Fixed] Rare visual glitches on iPad Pro 11" #1248
  • [Fixed] Mascot style doesn’t match the chosen app theme #1252
  • [Fixed] License expiration notification is mistakenly displayed #1267
  • [Fixed] Crash on the purchase screen with certain system languages #1268
  • [Fixed] Crash due to slow content blocking compilation #1269

3.1

19 Sep 14:40
Compare
Choose a tag to compare
3.1

Apple tries to steal our thunder with their iOS 13 release, but we stay calm, as we’re sure: AdGuard 3.1 for iOS is big news! There are many noteworthy improvements to filtering process, design and licensing system. Let’s tackle the new version one change at a time.

[Added] New content blocker — Security #1103

In v3.0 we “split up” AdGuard for iOS into five content blockers to circumvent the Safari limitation on 50k rules per ad blocker (which is a ridiculously small number). Each of the content blockers was assigned a specific role, for example, “Privacy” or “Annoyances”. But then we thought: the more content blockers, the more rules you can use at the same time, right? So why not add another one? And we didn’t have to go out of our way for that, as “Security” is a category that organically complements the rest. Previously, filters from that category were included into “Other” group.

Note that you need to enable this new content blocker in Safari settings for it to work!

[Added] “Content blockers” screen #1105

It’s surely irritating when you have to go to Safari settings to check what filter groups are enabled and what are not. We know this from personal experience. The logical solution was to add a new screen right to AdGuard settings, which we did. Go to General settings > Content blockers to see the current state. You’ll even find there what filters exactly are enabled and how many rules each content blockers has used up.

[Improved] Protection status notification on the main screen #1106

This is another change that was so easy to make that it left us wonder why we didn’t make it earlier. Before v3.1, if any one content blocker was disabled, the main screen screamed at you with a red “Protection is disabled” warning, which is of course not true. Now it will let you know in a less alarming yellow color that “some content blockers are disabled”. We care about your mental health :D

[Improved] Content blocker affinity #1104

And here’s a very important change that affects the quality of the actual ad blocking. Some filtering rules depend on each other or work better together. There’s been a problem in cases when such rules belonged to different content blockers. They weren’t always working as intended, even if both content blockers were enabled. Now that it’s fixed, the quality of ad blocking will go further up.

[Added] Lifetime subscription option #1100

As you know, AdGuard for iOS offers two ways to activate Premium features: with a license key and via App Store subscriptions. It wasn’t very fair that while license keys can be either 1-year or lifetime, there was only a 1-year subscription-based activation option. Now, if you’re enjoying AdGuard and would like to stay with us for a while, you can purchase a lifetime subscription in App Store and save some money!

[Added] Native login screen #1197

And a small treat for our users who prefer license keys to subscriptions approach. To link AdGuard for iOS to your AdGuard personal account you don’t need to jump between the app and the browser anymore. When you tap the “Log in” button, a new screen will pop up that allows you to enter the credentials right there. You can choose the “Forgot password” option or even register a new account there too, if needed.

Ad Blocking

  • [Changed] The algorithm of adding a whitelist rule via the Safari action extension #1218
  • [Fixed] Some URL blocking rules aren’t working #1139

UI

  • [Added] “Filter details” screen #1122
  • [Added] Global search to the filters settings screen #1126
  • [Added] Description to the “Restart when network changes” option #1040
  • [Added] “Export logs” option to the “Send feedback” menu #1102
  • [Changed] AdGuard now asks for permission to push notifications #1053
  • [Fixed] Notification after successful login with license key is missing #1180

Networking

  • [Changed] AdGuard now makes several attempts to register a content blocker if the first one failed #1205
  • [Fixed] Unexpexted logout at background fetch #1183
  • [Fixed] Can’t add a custom rule when too many filter lists are enabled #1159

Other

  • [Fixed] Crash after opening “Custom filters” #1185
  • [Fixed] Crash when adding multiple custom filters #1035
  • [Fixed] Crash when tapping on “Add rule” in User filter #1137
  • [Fixed] DNS privacy status is displayed incorrectly #1178
  • [Fixed] User filter doesn't work correctly #1189
  • [Improved] License status is now checked on the first app startup #1198
  • [Improved] User filter / Whitelist rules validation process #1174