AdGuard for Android

AdGuard is a unique no root ad blocker for Android that removes ads in apps and browsers, protects your privacy, and helps you manage your apps
Easy to set up and get going, but powerful and highly customizable — it has everything you'll ever need from an Android adblock tool, and it works both on rooted and unrooted devices.
DOWNLOAD
By downloading the program you accept the terms of the License agreement
Line up the QR code in the phone’s camera frame
Recent versions

We know it’s unusual for us to push an update directly to release channel, but this time we decided to do so nontheless. What was planned to be a quick hotfix, turned out to be an update that touches on several different issues.

  • [Fixed] Auto-update check is not perfrormed properly #2153
  • [Fixed] `ENOENT` error while exporting a log file #2162
  • [Fixed] UC browser does not support HTTPS filtering #2183
  • [Improved] Dnscrypt-proxy has been updated to v2.0.17 #2168
  • [Improved] DnsCrypt servers list has been updated #2171
  • [Changed] Compatibility fixes

Nobody likes to roll out a hotfix just a week after the release, but sometimes there's no other choice. We took this opportunity to not only fix the problem but also to update the CoreLibs filtering engine and make a handful of other useful changes.

[Fixed] AdGuard does not restart after auto-pause on older Android devices #2127

Turned out, on some older devices (Android 6 and older) AdGuard didn"t restart after the protection got paused automatically (say, on the network state change). This affected a large enough portion of AdGuard users to justify an immediate update.

  • [Changed] Localizations has been updated
  • [Fixed] An error occurring during the license activation #2134
  • [Fixed] Expiring certificate issue on 32-bit Android devices #2128
  • [Improved] Upgrade CoreLibs to 1.1.53 #2141

v2.12 is filled to the brim with new features. New filtering engine takes ad blocking quality and performance to a new level, improved notification settings and automation options will make the communication with the app easier, and freshly added DNS functionality will satisfy even the most demanding of users.

Consider this version as a bridge to the big 3.0 release which surely come soon, with even more cool stuff!

[Added] Integration with a completely new filtering engine (CoreLibs) #1869

We have been working hard on integration with CoreLibs for a long time, and we are extremely proud and happy to finally switch to it. The importance of it has been mentioned before multiple times, including a post in our Blog. We recommend reading it for more details, but if you only want a brief summary, here it is: CoreLibs is a cross-platform filtering engine that will substitute previously used platform-specific engines. Thanks to it, the performance rate will increase drastically (twofold for AG for Android, according to our tests!). The unified filtering engine also means shorter development cycles, we no more need to account for the nuances of this or that OS. And finally, many features that only existed for one OS can now be easilly transfered to AG products for other platforms. So expect things like Stealth Mode on Android!

[Added] Self-hosted automatic crash reporting system to catch the app crashes #1908

New filtering engine (see above: CoreLibs) means that there may be more crashes than usual, and to address them quickly we introduce integration with automatic crash reporting system - Sentry. It will automatically send crash reports with all the information that developers need to fix the problem. For more details on what exactly is being sent, read our Privacy Policy. Just have a look at how many issues have been dealt with already thanks to it:

  • [Fixed] Crash when running the TCP/IP stack #1984
  • [Fixed] Crash caused (possibly) by a huge number of apps installed #1659
  • [Fixed] Crash on opening app's settings with Assistant #1833
  • [Fixed] Crash if protection fails to stop in 60 seconds #1927
  • [Fixed] Crash: `java.lang.SecurityException`: Destination must be on external storage #1978
  • [Fixed] Crash: The specified child already has a parent #1956
  • [Fixed] Crash: Unable to import null to preferences #1987
  • [Fixed] RuntimeException: The TCP/IP stack has finished its work unexpectedly #1970
  • [Fixed] Timeout crash due to slow Magisk initialization #1939

And you can help us to track down and fix even more, so please keep it enabled if you are on the beta update channel.

[Added] Notification channels #1561

This is something that will only be available to users of Android 8 and newer. We have divided our notifications into six categories: Protection Status, License Status, Updates, Outbound Proxy, Firewall and Other. You can not only enable/disable each category separately in the system notification settings, but also manage each of them by tapping on the category name. This opens wide door for customization. Depending on what is important for you and what is not so much, you can, for example, turn some of them silent while keeping the sound for the rest.

[Added] Long press app shortcuts #1111

Taking advantage of the feature available to users of Android 7.1+, we add long tap shortcuts. As it is obvious from the name, you just need to tap and hold on the app icon to bring up a list of fast actions. Among them are toggling the protection status, fetching AdGuard Assistant or checking for updates.

> A note — you can drag any of these options to create a widget.

There are also two smaller buttons for opening app’s system settings and creating an AG widget, respectively.

[Added] Automation settings (Tasker, AutomateIt, etc) #1896

[Added] Extended Tasker API: proxy settings #1972

Hopefully, you’ve already had a chance to test the new tasker API. This beta will give you something new to play with: proxy settings. Two new actions become available: `proxy_state` and `proxy_default`. The first one enables/disables the outbound proxy, the latter sets any of the previously configured proxies as default. More detailed description of these actions is in our KB article.

A lot of users asked us about ways to automate some of AdGuard’s functions, like disabling protection when a certain app gets launched. Finally, we deliver, and the in-depth guide to automating AdGuard is already available in our Knowledgebase.

[Improved] DNS functionality #1831

There are two different improvements hiding behind one task here. First one is, we have upgraded DNSCrypt proxy to version 2. It is a general improvement, v2 is superior to v1 in speed and security. The other change is a bit more interesting: we’ve added “DNS over HTTPS" (DoH) support. This is an experimental protocol that is more secure due to increased protection against things like eavesdropping and man-in-the-middle attacks. You can easily find more technical information about DoH on the internet, but if you don’t want to bother just trust us: it is a nice thing to have :)

[Added] More DNS providers added to the “known by default" list #1811

The more the better, right? Right! This includes such popular providers as Cloudflare Public DNS, FreeDNS and many others. Find one that suits you best!

Networking

  • [Added] com.alseda.ideabank app - add to the HTTPS filtering exceptions #2082
  • [Changed] Protection startup timeout is not used anymore when the VpnService requires preparation #1934
  • [Changed] `pref.vpn.disable.reconfiguration` is now checked for all Android versions 7+ #1918
  • [Changed] If configured, outbound proxy must be used even if ad blocking is disabled for an app #1959
  • [Fixed] Fix DnsCrypt parse scripts #2072
  • [Fixed] Adguard does not pause itself properly when a third-party VPN is started #1954
  • [Fixed] AdGuard is disabled after network change event #1846
  • [Fixed] AdGuard is not capturing the mobile data usage correctly #1856
  • [Fixed] AdGuard misbehaves when it's set as always-on and it receives a connectivity change event #1844
  • [Fixed] AdGuard protection is not restored after being revoked by another VPN #1944
  • [Fixed] Unable to access internet with DNSCrypt enabled #1924
  • [Fixed] AdGuard does not use the fallback DNS server when the primary server times out #2042
  • [Fixed] Protection doesn't restart when changing mode of HTTPS filtering #2011

UI

  • [Added] Bulk change option for “HTTPS filtering" preference #2010
  • [Added] A checkbox that disables Assistant and Filtering Log #1808
  • [Added] "Terms of Use" step when the app is started for the first time #1890
  • [Added] Marketing consent checkbox to the "Request trial" dialog" #1886
  • [Added] Bulk edit option for ad blocking preference #1974
  • [Added] Information about non-filtered connections to the filtering log #1730
  • [Added] A custom file picker #1935
  • [Added] Add "Enable all" and "Disable all" to User Filter selection options #1925
  • [Added] A warning about moving the certificate to the system store #1824
  • [Added] A permanent notification when HAR, pcap or "record everything" logging level is enabled #1450
  • [Changed] User is now asked for confirmation before importing the settings file #1901
  • [Changed] HTTPS filtering warning is not showed anymore on Android 7+ when the certificate is in the system store #1855
  • [Changed] “Update available" notification made permanent #1921
  • [Changed] Hide export option when User filter is empty #1995
  • [Fixed] "I agree with Terms" button is not visible if scale is enlarged in Android settings #2036
  • [Fixed] The toggle button icon missing from the notification drawer on Huawei P10 Premium #1996
  • [Fixed] Send feedback doesn't save screen state after rotating #2080
  • [Fixed] Bug in the AppsManagement screen #2101
  • [Fixed] App UI is distorted in Arabic #1945
  • [Fixed] AdGuard Notification Separator/Dot Size Issue on Samsung #1826
  • [Fixed] User login/password is missing from the HTTP proxy settings #1872
  • [Fixed] Wi-Fi icon disappearing when AdGuard is restarted #1861

Other

  • [Added] Add Joey for reddit to browser list #2067
  • [Added] An option to reset HTTPS filtering's whitelist or blacklist to default #1707
  • [Added] Hindi [hi-IN] localization #1998
  • [Added] An option to renice the AG process priority #1812
  • [Added] A new parameter for web reporting tool integration #1948
  • [Changed] Remove comments from HTTPS white/black list for CL configuration #2044
  • [Changed] Start using ProcessHealthStats instead of scanning proc-stat for calculating AdGuard's own battery usage #1967
  • [Changed] `adguard.com/forward` is now used for the website links #1875
  • [Changed] Amazon AppStore build got rid of #1893
  • [Changed] The way conflicting apps are being detected has been changed #1823
  • [Changed] Translations moved from Spanish [es-ES] to Spanish [es] locale #1900
  • [Changed] Users with an active subscription will not be notified anymore about the upcoming license key expiration #2105
  • [Fixed] Certificate moved to the system store is not accepted on Android 8.1 #2108
  • [Fixed] A few CoreLibs bugs
  • [Fixed] Samsung Pay in South Korea won't work when any VPN is running #1209
  • [Fixed] The app hangs when press cancel button in bulk change setting of apps management #2056
  • [Fixed] HTTPS whitelist entries can't be deleted if there is a request in search box #2041
  • [Fixed] HTTPS whitelist entries not saving #2026
  • [Fixed] Importing a backup from the stable version breaks DNS settings #2034
  • [Fixed] Compatibility issues
  • [Fixed] AdGuard can't detect when certificate was removed using Android settings #1830
  • [Fixed] AdGuard crashes when launching Assistant on Android 4.2.2 #1842
  • [Fixed] Can't export User Filter on Android 8.1.0 #1865
  • [Fixed] Some rules in the User filter keep working after being disabled #1881
  • [Fixed] Error while importing settings #1955
  • [Fixed] Slow initialization of Magisk upon the device boot on Samsung S9 #1852
  • [Fixed] Moving the certificate does not work with Magisk #1928
  • [Fixed] Moving the certificate to the system store does not work on some devices #1827
  • [Fixed] NullPointer exception in the `onTrafficChanged` method #1938
  • [Fixed] T-Mobile counts traffic as Tethering when VPN is active #1741
  • [Fixed] The AdGuard app is filtered in the manual proxy mode #1958
  • [Fixed] AdGuard process kills itself unexpectedly #1887
  • [Improved] Battery stats are counted properly now #1915

This update is on a larger side, just judging by the number of entries in the changelog. Two ‘whales’ of this release are both integrations with an external app: AdGuard Assistant and web reporting tool. Assistant will help you manage filtering in apps and browsers from the notification shade, and reporting tool is what it’s called — a convenient way to report any missed ads, false positives and such.

[Added] Extended AdGuard notification — an "Assistant" button #1614

There are now two action buttons in the AdGuard notification. One is “Pause”, which pauses the protection upon tapping (tap again on the notification to resume it), but the more interesting one is “Assistant”. When you tap it, a list of recently used apps and websites will show up. Tap on any of them for more options, like opening filtering log, denying the app network access (or whitelisting/blacklisting in case of a website), or proceeding to the app/website-specific settings screen in Apps Management.

We believe this will save you quite a bit of time, especially if you are an active user and often find yourself in a need to pause protection, whitelist a website etc. In fact, we tested it ourselves and found it extremely convenient! :)

[Added] Integration with reporting web tool #1615

This feature is already familiar to AdGuard for Windows, AdGuard for iOS and AdGuard browser extension users. Basically, this is a way to report any filtering-related issue on a page: missed ad, false positive etc. To do so, go to app’s side menu and select “Report an issue”. Instead of an immediate “Send a message to support” screen, you will get a dialog to select the type of issue. Choosing one of the filtering-related issues will open a web page and a wizard will take you step by step through the process of filling in the required information. Don’t worry, most of the fields will be pre-filled by the AdGuard app!

This way of reporting missed ads and such is beneficial to both filters developers and users — the former will get all the information they need to fix the problem, and latter will be sure that the issue will be resolved in the shortest amount of time possible.

Ad blocking

  • [Added] YousList to the list of available filters #1803
  • [Changed] ExtendedCss has been updated to v1.10 #1787
  • [Fixed] Added support for `$network` exceptions rules #1636

Networking

  • [Changed] "ExtendedCss" module has been upgraded to v1.0.9 #1633
  • [Changed] Auto-proxy is reconfigured now on network state change #1630
  • [Changed] OpenNIC server address has been updated #1632
  • [Changed] `NXDOMAIN` answer (domain does not exist) is now used instead of `127.0.0.1` #1582
  • [Fixed] AdGuard is not capturing the mobile data usage correctly #1665
  • [Fixed] App traffic is blocked on Android 4.x even when it should not be filtered at all #1715
  • [Fixed] Manual VPN connections crash when AG is enabled #1022
  • [Fixed] Error on VPN reconfiguration: failed to bind TUN pcb #1634
  • [Fixed] IPv6 filtering does not work on Oreo 8.1 + Magisk #1679
  • [Fixed] Firewall temporary allowance notification is not displayed #966
  • [Fixed] AdGuard exposes an open port #1640
  • [Fixed] DNS proxy server is now restarted on network change regardless of whether VPN reconfiguration is enabled or not #1780
  • [Fixed] VPN reconfiguration has been disabled by default on Samsung + Oreo #1774
  • [Fixed] Due to IPv6 filtering in proxy mode Facebook believes that IPv6 is accessible #1738
  • [Fixed] IPv6 connectivity is not enabled on protection stop if 'pref.proxy.block.ipv6' is enabled #1457
  • [Fixed] Error building the VPN tunnel on the network change on Huawei Mate 10 #1594
  • [Fixed] Ipv6 address lookup error #1786
  • [Fixed] Using DNSCrypt in AdGuard blocks internet connection #1562

UI

  • [Changed] Notification action text color #1784
  • [Changed] HTTPS filtering lists have been divided into pre-defined and user-defined #1748
  • [Changed] 2017 to 2018 #1682
  • [Changed] "Blocked ads" and "blocked trackers" have been separated in the app stats #1590
  • [Changed] "Ad blocking" is now grayed out setting in per-apps settings if "Block ads in apps" is disabled #1484
  • [Fixed] Certificate state styles in HTTPS filtering settings #1551
  • [Fixed] Filtering log search issues #1610
  • [Fixed] Current language is displayed as the default language, instead of the system language #1588
  • [Fixed] Visual glitch with Amazon version activation #1603
  • [Fixed] Filtering log fails to refresh after being cleared #1728
  • [Fixed] Pause/Assistant buttons' look on Xiaomi #1739
  • [Improved] IconCache now handles non-bitmap icons #1789

Other

  • [Added] New localizations — Spanish (Latin), Danish, Arabic #1583
  • , #1662
  • [Changed] AdGuard DNS over IPv6 has been added to the list of regular DNS servers #1799
  • [Changed] Level3 has been removed from the list of available DNS servers #1800
  • [Fixed] Beta build doesn’t have "beta" update channel by default #1377
  • [Fixed] While app is in Russian, preview opens an EN version of Knowledge base article instead of RU #1624
  • [Fixed] FAQ articles are not accessible when AdGuard is switched to Japanese #1622
  • [Fixed] First line of imported user filter rules is always interpreted as an actual rule #1717
  • [Fixed] Disabling net access for Android OS does not work #1498
  • [Fixed] Invalid file types can be imported into the UF #1301
  • [Fixed] AdGuard does not restart automatically after OpenVPN is disabled #1628
  • [Fixed] "Remove certificate" works incorrectly without root #1759
  • [Fixed] AdGuard won't start on boot on some Oreo devices #1727
  • [Fixed] Autopause does not work when there's no internet connection #1749
  • [Fixed] "Move certificate to system store" doesn’t work #1763
  • [Fixed] Crash while exporting the log file #1779
  • [Fixed] Google Backup does not work on Wi-Fi in VPN mode #1587
  • [Fixed] It takes too long to stop a local server in manual proxy mode #1746
  • [Fixed] No HTTPS filtering status flag in reports #1740
  • [Fixed] Wi-Fi calling doesn't work with T-Mobile #1570
  • [Fixed] AdGuard stops working when its language is set to Arabic #1765
  • [Fixed] Compatibility issues

A somewhat "unexpected" AdGuard for Android update — much smaller than a usual one. It contains a couple of hotfixes, which were basically the reason to release this version, alongside several quality of life improvements like separate WiFi/Mobile statistics in "Apps Management".

[Added] Separate Wi-Fi/Mobile stats #1542

Here we introduce one 'visual' change: separate Wi-Fi/Mobile stats on the 'Apps Management' screen. There's now a drop-down menu on the statistics screen that allows you to choose between displaying stats for Wi-Fi, Mobile or all traffic.

[Fixed] Wakelock (caused by GCM_RECONNECT) prevents devices from sleeping #1547

A self-explanatory one. There was an annoying bug with "Wakelock" that prevented the device from entering sleeping mode.

Other

  • [Added] Danish Adblock list filter #1523
  • [Changed] Translations for 'Advanced settings' screen have been updated #1507
  • [Fixed] Protection is restarted when you open HTTPS filtering menu #1605
  • [Fixed] Crash in Amazon version #1608
  • [Fixed] Compatibility issues
We usually try to avoid having “inbetween” major updates, but this time is different. There were not as many big changes to justify labeling this version 2.11, but some of them are still very important so we couldn’t just keep shelving them.

A couple of serious bugs have been fixed: misbehaving “Protection” button on Android 7, certificate detection issue and “broken” whitelist. You’ll find a lot of minor fixes too, plus updated translations.

[Fixed] "Protection" button misbehaves
The AOT (ahead-of-time) compilation method on Android 7.x could remove whole chunks of AdGuard code on its optimization step. This led to various problems, including the persistence of VPN connection despite the disabled protection.

[Fixed] Certificate detection issue
We have changed the algorithm of user certificate detection and it now works more correctly.


Ad blocking

[Fixed] Whitelist is not working

Network

[Fixed] Unexpected exception in the onUdpConnectRequest handler
[Fixed] Automatic proxy (with root) is starting very slowly
[Fixed] Disabling net access for Android OS does not work
[Fixed] Moscow subway Wi-Fi cannot work with DNS filtering enabled
[Fixed] Disabling internet access for Android OS does not work
[Fixed] Internet is not working after switching from Local HTTP proxy(root) to VPN

UI

[Fixed] Minor UI issue in traffic stats screen
[Fixed] The application is not fully translated after changing the language
[Fixed] Proxy port more than 32767 is converted to 0
[Fixed] Incorrect calculation result of "App Details "screen
[Fixed] Protection restarts when exporting settings
[Fixed] Import of previously exported settings is buggy
[Fixed] The visual glitch with 2 active DNS servers is back

Other

[Changed] Japanese translation
[Changed] Traditional Chinese translation
[Changed] Several compatibility fixes
[Fixed] The header is not written after the HAR file rollover
[Fixed] AG should request write_external_storage permission in runtime when it's required
[Fixed] Proxy mode with Magisk 14.2 takes 2+ minutes to enable
[Fixed] bccard.com, local.gosi.go.kr are not accessible with the HTTPS filtering enabled
[Fixed] Alisa is broken in Yandex.Browser alpha
Hi everyone! AdGuard for Android has always been one of the most rapidly evolving AdGuard products, and it stays that way. Today, we introduce to you the new version, featuring some of the biggest and potentially the most important changes in a while: significant increase of the filtering speed, outgoing proxy and TOR support, DNS filtering, DNS encryption and everything cool that goes alongside it. More details ahead!

[Added] Improved outbound proxy support

There is now a separate section for outbound proxy configuring in the main section of "Settings" menu, just above the "Advanced". You can now add, configure and use multiple proxies through AdGuard. Please note that only filtered apps' traffic is routed through AdGuard (which means it will only work for browsers in the free version). Also, DNS requests are not routed through proxies.

One related thing worthy of a separate mention: now it is very easy to set up Tor proxy via Orbot. Once you install Orbot, there will be a configured Tor proxy at the ready in the AdGuard proxy settings. Just enable Orbot in the notification bar, and you are good to go!

[Added] Improved DNS settings

We have also allocated a separate screen for DNS settings, you can find it in the side menu. You can add a custom DNS server, or select any public DNS provider from our list, including AdGuard DNS servers. No matter what server you choose, you can enable DNS filtering there.

Another great feature is DNSCrypt support. It is a special protocol that makes your DNS traffic secure, and we recommend to choose a DNS provider that supports DNSCrypt (by the way, AdGuard DNS does!).

[Added] Integration with the new network stack
[Added] Integrate common URL filtering library

These words may appear a tad too techy, so let us explain. Behind the ad blocking process of every AdGuard app on every platform lies the same algorithm. This algorithm - network stack - has been significantly improved recently, its performance has been increased up to 3 times compared to old numbers. In this version we integrate the Android app with it and also with our new filtering library.

[Added] Logs and system info export

This is a new addition to the 'Advanced settings'. Basically, after you tap it, the app grabs all current logs, packs it into an archive and asks you where to export it. It will be useful mostly for the forum and GitHub frequenters - for example when you report a bug and the support team member asks you to collect some logs. But it also can be helpful in certain tech support cases.

[Added] Battery usage stats screen

Historically, questions about AdGuard battery usage are among the most frequently asked ones. Sadly, Android distorts the battery consumption breakdown, attributing other apps' traffic and battery consumption to AdGuard. We've even written a detailed knowledgebase article that explains this issue. To mitigate the misconception, we added a new screen called 'Battery usage'. You can access it by tapping on the battery icon in the top right corner of the main screen. Inside you will find a chart that shows the AdGuard battery resource consumption within the last 24 hours, with an option to get more detailed hour-to-hour data by tapping on the dots on the chart. Besides that, there's also a numeric breakdown of the relevant data and a short technical explanation.

----------

Adblocking

[Added] Add support for browsers cloned by the "App Cloner
[Added] Add EasyList Lithuanian filter
[Added] `/deep/` and `::shadow` selectors support
[Changed] Upgrade "ExtendedCss" module to v1.0.8
[Changed] Optimize DNS filtering statistics write
[Changed] Allow multiple filters to be enabled as language-specific at once
[Fixed] Unknown rule options
[Fixed] Native stack is not properly closed sometimes when AdGuard is auto-restarted
[Fixed] AdGuard does not resume protection occasionally

Networking

[Changed] The iptables rules have been reworked
[Changed] Add new filtered ports
[Changed] AdGuard now can handle compressed responses when downloading filters
[Fixed] Iptables redirect doesn't work for IPv6
[Fixed] Reinitialize VpnService when newly installed app should not be filtered
[Fixed] Captured HAR is invalid
[Fixed] Adguard cannot handle huge chunks properly
[Fixed] Cryptography-code error
[Fixed] No internet connection when DNScrypt and "record everything" logging level are enabled
[Fixed] NPE in DnsUpstreamServer
[Fixed] Alpha build segfaults when accessing some websites
[Fixed] Old certificates are not purged properly
[Fixed] The Onion (theonion.com) does not work with AdGuard enabled
[Fixed] Error while generating a domain certificate
[Fixed] If IP address is blocked by ISP, it is impossible to connect to the site even via proxy
[Fixed] No internet connection after disabling DNS settings
[Fixed] Auto Proxy mode causes Wi-Fi Calling to fail for Verizon Wireless
[Fixed] When switching from VPN to Auto Proxy, Protection "restarts" but mode doesn't change
[Fixed] Iptables redirect doesn't work for ipv6 P2
[Fixed] Opera browser now targets SDK level 25 and does not trust user certificates

UI

[Added] "Add new rule" button is missing in user filter
[Added] Open links in a webview
[Added] Open AdGuard by long-pressing on the tile icon
[Added] Add an option to search in the filtering log
[Added] Round icons support for Android 7.1
[Added] Add a checkbox "Overwrite existing rules" to the import user filter dialogue
[Added] Show filters which blocked an element in the Filtering log
[Added] Export logs and system info
[Added] Trim string when user enters new domain or rule into Whitelist/User filter
[Added] Export/import of all profile's settings
[Added] An annotation to "Google Play services" app details
[Added] Custom DNS ports support
[Changed] Rework the HTTPS filtering settings section
[Changed] Dialog windows should have min width
[Changed] Change "Filtering log" status label text
[Changed] Change AdGuard notification text 6.0+
[Changed] Contents of state.txt file (the one attached to support messages)
[Changed] French translation has been updated
[Changed] 'Adguard' to 'AdGuard' in all translations
[Changed] AdGuard notification text on Andoird 6.0+
[Changed] Some wording has been updated across the app
[Changed] Minor UI changes
[Fixed] Firewall UI inconsistency
[Fixed] Deleting a single rule from a search result removes all rules from the User Filter
[Fixed] First string is imported as a rule even if it is a comment.
[Fixed] Subscription status description is misleading
[Fixed] Few issues with the new DNS sub-menu section
[Fixed] Wrong padding in the DNS section
[Fixed] Spelling issue in DNSCrypt
[Fixed] Displaced titles in the 'Statistics' tab of the 'DNS' screen
[Fixed] The search request is reset after keyboard is closed
[Fixed] Make the log stop scrolling when reading it
[Fixed] Incorrect DNS is displayed when you set up a custom DNS
[Fixed] AdGuard doesn't memorize the selected DNS server
[Fixed] Proxy warning in apps management can be seen when changing tabs
[Fixed] Scrolling on the DNS screen works incorrectly
[Fixed] FAQ is displayed in the wrong language on Android N
[Fixed] Side menu "Settings" button doesn't work as intended
[Fixed] DNS requests blocking is not enabled by default when you toggle on the main DNS switch
[Fixed] Main switch in HTTPS settings is not being toggled by tapping on the label
[Fixed] Toast messages are shown in system language, not in app language
[Fixed] Scrollbar is missing at both DNS server lists (regular and DNScrypt)
[Fixed] Headers are not translated after switching the language
[Fixed] Apps are missed from apps management statistics in proxy-mode
[Fixed] "Block ads in all apps" is not checked after you activate the license key

Other

[Added] "Request trial" should require an email
[Added] Add an annotation to "Google Play services" app details
[Added] AdGuard has been added to Google's apps backup
[Changed] Increase the trimming limit we use for request URLs
[Changed] Beta build should have "beta" update channel by default
[Changed] .apk file has been removed from the app cache after the update
[Changed] Add AdGuard version to both settings and logs export files
[Fixed] Don't ask for root access when crashed
[Fixed] Missed separator in filtering log between `ads=` and domain name
[Fixed] Apps management section is not loaded in the background
[Fixed] Сrashes on Android 6.0.1
[Fixed] Unnecessary exception in the log file
[Fixed] App freezes and can't be restarted
[Fixed] AdGuard crashes if you open `ws://` or `wss://` request in the Filtering log
[Fixed] EV certificate filtering checkbox rarely works
[Fixed] Advanced settings aren't applied on protection restart
[FIxed] Crash on Android v4.x
[Fixed] Update crash on KitKat and Lollipop
[Fixed] Individual apps settings aren't exported
[Fixed] Crash while trying to clear Firewall stats with AG disabled
[Fixed] AdGuard is not listed in Google's apps backup
[Fixed] Apps Management's "All time" tab is very slow after clearing stats
[Fixed] Wi-Fi calling Verizon issue
[Fixed] Custom DNS might not work in some circumstances

Some users started to encounter a network error while using applications (YouTube, Google Plus, Facebook Messenger and some others). This update is a hotfix for that issue: #1334

The new version is not excessively rich with new additions and other changes - more will come in v2.10 and, eventually, in Adguard v3.0. However, there is still one big highlight - we have vastly reworked and improved the User filter. Read below to find out the details.

[Improved] The user filter has been reworked #1279

Any experience of interacting with the previous incarnation of User filter could not be described with any other word but 'miserable'. It used to be clunky, unresponsive and slow. A lot has changed in this version.

First, the new design. It has become much cleaner.

As you will see, we have combined all of the control elements - add a new rule, clear the filter, edit the filter, import and export - under one toolbar menu.

Second, you now have an option to enter the so-called "edit mode" that brings up the multiline text edit area. It is very handy if you need to copy/paste/delete multiple lines of text at once, or just edit several rules in a row without clicking on each and every one of them.

Finally, the general way it looks. Rules are color-differentiated depending on their type, comments are distinctively visible and every rule can be disabled and enabled back without having to delete and re-create it.

If you have any interest in creating and maintaining a list of your own rules, you are going to, without any doubt, welcome these changes. We, personally, are very excited! :)

Ad blocking

  • [Added] Juvander's Adblock List #1225
  • [Changed] Minor memory optimizations #1181
  • [Changed] The range of the $$ rules was increased #1185
  • [Changed] The way we handle rules with $empty modifier #1274
  • [Fixed] Rules constructor ignores referer #1221
  • [Fixed] $network modifier doesn't work #1268
  • [Fixed] Firefox nightly 64-bit is not recognized as a browser #1257
  • [Fixed] CPU overuse issue caused by repeating requests to a tracking server #1179

Networking

  • [Changed] The HTTPS exclusions list has been updated
  • [Changed] HTTPS is not filtered any more for Nougat targeted apps without network_security_config #1286
  • [Fixed] Nougat auto-pause issue #1202
  • [Fixed] SHA-1 intermediate issue #1178
  • [Fixed] App preview does not work #973
  • [Fixed] Android O compatibility issues #1227
  • [Fixed] VPN + IPv6 issue on Android 4.4.2 #1267
  • [Fixed] IPv4 mapped addresses bypass VPN #1026
  • [Fixed] The first packet of a connection processing delay #1192
  • [Fixed] Adguard does not filter HTTPS connection with TLS 1.0 servers #1195
  • [Fixed] Reconfiguring iptables on package add/replace leads to no internet #1245
  • [Improved] Session resumption was implemented using session IDs #1238

UI

  • [Added] Portuguese (PT) and Persian language support #1139, #1189
  • [Changed] Subscription status description wording #1191
  • [Fixed] Filtering Log toolbar layout #1180
  • [Fixed] Crash on network type changes #1272
  • [Fixed] Typos and punctuation mistakes #1159, #1186
  • [Fixed] User filter import doesn't work on Nexus 9 #1300
  • [Improved] Localizations has been updated #1290

Other

  • [Changed] Yuzu browser has been added to the list of browsers filtered by default #1285
  • [Fixed] Multiple compatibility issues
  • [Improved] Logging in case of a critical error #1216

This is arguably the biggest we've changed our app since v2.5 or even since the introduction of the new design back in Adguard v2.0. Some of these changes were meant to be introduced only in the 3.0 version, but we couldn't wait any longer :) Significant changes to UI, the long hoped-for filtering log feature, other new options - all this and much more awaits you in this update.

[Improved] New app navigation system #969

Alright, we realize that when it comes to changing the design, there's going to be a controversy. There will always be those who find it better than the old one, and there will always be those who don't. Our hope the majority of users will find the new navigation system more convenient.

What exactly has changed? There is now a side menu, which will help to navigate through the app more easily. Besides that, we can finally utilize the context menu in the top-right corner, you can find an example of this in 'Apps Management' section. By the way, 'Apps management' will now include all Firewall settings as well. Having these two sections together at the same time felt excessive and confusing.

[Added] Filtering Log #11

Oh, boy. Anyone who has ever tried to check what's being filtered/blocked knows the struggle of inspecting Adguard's log file. It was the only way, and I doubt there is a single user who found it convenient. No surprise, as it was initially meant to be used by filters developers only. We were thinking: 'Why would anyone want to see on such deep level what do their apps do?'. We had been completely ignoring tech savvy people who do care about it and do want to have a complete control of what is going on on their device.

We'd like to apologize for this. We should have implemented filtering log functionality a long time ago. Well, better late than never. The filtering log has arrived, come and see for yourself. We don't expect to hit the nail on the head on the first try, so your feedback on what's lacking and what you can live without is invaluable.

Ad Blocking

  • [Added] $network basic rules modifier #1032
  • [Added] Support for exception rules #815
  • [Changed] The behavior of the third-party modifier #891
  • [Changed] Websites cache is now suppressed after filters change #946
  • [Fixed] $replace rules aren't applied to .m3u8 files content #1060
  • [Fixed] Regular expressions with $ symbol aren't processed properly #1027

Networking

[Added] An option to not filter HTTPS on websites with 'Extended Validation' certificate #934

Adguard for Windows users are familiar with this option already. Extended Validation SSL certificates grant that the owner of the certificate has gone through a very strict process of verification. The trust for such certificate owners is much higher - those are usually banks, other financial organizations etc. Often times there are zero or close to zero ads on their websites, and filtering them is excessive anyway - it only increases the chance to break something useful.

[Changed] VPN autopause is now disabled by default for new Android devices (Pixel, Nexus with Nougat) #1000

From the beginning, the VPN autopause functionality was not 'a feature'. It is a workaround for some known Android issues and bugs. For example, tethering could not work along with a VPN, or Adguard's network access could be denied in power saving mode.

It seems that all these issues are sorted out in the newest Android devices, so we have disabled autopause functionality for them. You can turn it back ON in Adguard's low-level settings if needed.

  • [Fixed] HTTPS filtering in Nougat-targeted apps #979
  • [Fixed] Amazon license check hangs while doing the background check #1121
  • [Improved] Active proxy connections closing time was reduced #990
  • [Imporved] AG styles are protected from disabling now #947

UI

[Added] Bulk change functionality for the Apps Management section #1063

Available from the context menu that we have already mentioned above, it grants a fast and easy access to the most common settings that can be applied to all apps at once.

[Added] A new advanced preference: a list of networks which LAN should be filtered for #1154

Initially, there was just a bug that prevented Adguard from filtering ads in Moscow subway Wi-Fi network. Turned out that wi-fi.ru is located inside of a LAN, which we exclude by default. Rather than making an exception for this particular network, we decided to choose a more broad approach and create a new preference.

  • [Changed] Aggregate all removed apps stats in one item #806
  • [Changed] 'Blocked' pages markup was updated #1029
  • [Changed] Translations were updated #1138
  • [Changed] 'Notification without icon' mode is made default for 'Notification icon' setting #988
  • [Changed] Locale-specific number format is used now on the main screen #1117
  • [Changed] 'Removed apps' package icons now appear inactive in the apps list #1105
  • [Fixed] Data stats are shown for Adguard app in Apps Management #889
  • [Fixed] 'Learn more' button link resolves to an undefined page #1113
  • [Fixed] FAQ UI is broken on Android 5.1.1 when you highlight the text #1097
  • [Fixed] The quick settings tile doesn't highlight/shade when you toggle the protection #1100
  • [Improved] 'App details' activity is sped up considerably #1099
  • [Improved] pref.filtered.ports setting now can understand port ranges #830

Other

[Added] 'Watchdog period' advanced setting #1067

Depending on the firmware, Android might be very aggressive to background services, killing them really frequently. In Adguard case this aggressive behavior may be truly destructive. This feature starts a special 'watchdog' service, which keeps Adguard's main process alive. However, it is disabled by default as most of the Android devices do not suffer from the 'random process killing' issue.

  • [Added] ABVPN filter #1015
  • [Added] Hungarian filter #1011
  • [Added] Adguard French filter #1127
  • [Changed] Default HTTPS exclusions list was updated #1116
  • [Changed] 'Update only over WiFi' option is grayed out when automatic filters update is disabled #953
  • [Fixed] Crash while updating Adguard #1086
  • [Fixed] 'Filters autoupdate period' graying out bug #956
  • [Fixed] Premium license expiration notification is shown after the first installation #1062
  • [Fixed] Cannot send MMS when Adguard is in Proxy+Auto filtering mode #1058
  • [Fixed] VpnService.prepare crashes due to XPosed module #1084
  • [Fixed] An attempt to get a license from within the app makes Adguard crash when there's no browser installed #1112
  • [Fixed] Compatibility issues
  • [Improved] UDP connections handling was reworked #906
For the full version history visit this page.
Try AdGuard ad blocker for Android apps for free and feel the difference! Once you go with our app on your tablet or mobile phone, you'll never want to go back.
More on AdGuard
Forum
We are always open to communication. You can leave feedback on AdGuard for Android on our Forum.
Github
We have an open bug tracker, so feel free to report issues or simply check what we are working on at the moment.
Knowledgebase
Have a question that is not answered on this page? Head to our Knowledgebase, as it is likely to be covered there.