Android Release - AdGuard 版本

With releases like this one it's hard to build up excitement, but they are necessary. There are no major new features or radical design decisions. Instead, as you will see, there are a lot of minor UI changes to improve user experience and some fixes to known crashes. So the app should be more stable and user-friendly after this update.

Ad blocking

  • [Changed] Opera Touch has been added to the browsers list #2691
  • [Fixed] HTTPS Filtering is unavailable on some devices #2736

Network

  • [Fixed] AG breaks captive portals authentication #2713
  • [Improved] DNS-related functionality has been updated #2749
  • [Improved] Optimised interaction with Magisk v.19.0 #2679

UI

  • [Added] "Export the license information" flag when exporting settings #2622
  • [Added] "Modified requests" filter to filtering log #2623
  • [Added] A confirmation dialog when exiting AdGuard #2566
  • [Added] An option to download updates manually #2299
  • [Added] An option to run the onboarding tool for the second time #2562
  • [Added] Attention bar on the main screen if no filters are enabled #2609
  • [Added] Icons to switchbars #2610
  • [Changed] "Filters auto-update period" setting is now grayed out when filters auto-update is disabled #2593
  • [Changed] Battery usage chart draw style has been changed #2669
  • [Changed] Localizations have been updated #2725
  • [Changed] More information about events is shown now by default in filtering log #2564
  • [Changed] New UI for landscape orientation #2335
  • [Changed] The descriptions for Stealth Mode options have been updated #2660
  • [Fixed] An issue with screen rotation #2721
  • [Fixed] Inconsistency with context menu position on the Proxy settings screen #2641
  • [Fixed] Incorrect display of letters on the App management screen #2619
  • [Fixed] Last selected statistics date range does not persist #2516
  • [Fixed] Logs for exporting have been stripped of identifying information #2639
  • [Fixed] Occasionally stats for ads blocked are not shown correctly #2627
  • [Fixed] Splash screen is white when dark theme is enabled #2657
  • [Fixed] System language detection fails in some cases #2684
  • [Fixed] UI corrections on the main screen #2617
  • [Fixed] UI does not support Android TV #2611
  • [Fixed] Widget 1x1 is missing on some devices #2666
  • [Improved] First launch VPN description has been improved #2640
  • [Improved] Multiple Filtering log improvements #2638
  • [Improved] Separators have been added to statistics for better readability #2630
  • [Improved] UI has been made more friendly towards color-blind people #2637

Other

  • [Changed] The suggested battery capacity value for Huawei devices has been changed #2587
  • [Fixed] AdGuard crashes when you create rules from the filtering log #2737
  • [Fixed] AdGuard crtashes when you import settings #2687
  • [Fixed] AdGuard doesn't recognize the SSL certificate #2675
  • [Fixed] Background activity will be blocked in future Q builds #2629
  • [Fixed] Compatibility problems
  • [Fixed] Crash in the Apps Management settings #2308
  • [Fixed] Protection turns on after app restart #2491
  • [Improved] CoreLibs has been updated

If you’ve been around the block, you know how we have it here: up goes the release, and the next day it’s the hotfix time. No exception with AdGuard 3.0, on some devices there’ve been problems with Wi-Fi calling, and some users reported updating issues.

  • [Fixed] Update from v2.12 messes up DNS settings #2643
  • [Fixed] Changing theme or language triggers "problematic device" notification #2644
  • [Fixed] Wi-Fi calling issue on LG phones #2645

What do you think of when you see a jump from v2.0 to v3.0? Whatever it is, you'll probably find it inside. New design, new features, better performance, and a variety of bugfixes. Without further ado:

Stealth Mode

It is telling that we’re starting our feature overview with Stealth Mode, listing it even before the redesign, or anything else. With Stealth Mode, AdGuard takes another role in addition to ad blocker and app manager: the role of a privacy protection tool, and a strong one at that. AdGuard has had a special Tracking Protection filter for a long time, but the new module presents an entire range of tools. Some of them will suit almost everyone, and others are for more hardcore users.

[Added] Stealth Mode module #2094

A much anticipated addition, all thanks to the aforementioned CoreLibs integration. For the uninitiated, Stealth Mode module is responsible for protecting your privacy. Use it in conjunction with Tracking Protection filter to ensure the best protection. Also mind that different Stealth Mode options differ in their severity, some are “free”, and some come with certain trade-offs in convenience. When in doubt, read the tooltips or even send us a message with a question.

New UI

As important as Stealth Mode is, the tone of the update is largely dominated by the visual changes, and this time there are plenty. Almost every aspect of the old design was reworked, revamped and (hopefully) improved. There’s too much to mention in one chunk of text, so let's divide them into more digestible paragraphs.

[Improved] App redesign #713

One of the most expected, and at the same time controversial changes, for sure. We were debating whether to put “Changed” or “improved” tag on this one, and decided for the latter. We wholeheartedly believe that the new variant is better than the old one. Our designers spent countless hours on it, going through many iterations, and this is where we finally arrived.

As you will notice very soon, we changed not only colors but the layout too. For seasoned AdGuard veterans, it will take some getting used to, but we are sure you’ll find the new design even better and more convenient after a while.

[Added] Dark theme #104

And before you say “But I was hoping for the dark theme!” — don’t worry, it is also available. Looks not a single bit less slick than the default one.
Hop straight to settings and switch to it if you are a night person :)

[Added] Statistics charts #2083

Statistics are useful, it’s always nice to know how many ads were blocked, how much traffic was saved and so on. But simply looking at bland numbers is not very informative, and also plain boring. Charts both provide more information and are much more comprehensive.

[Improved] New first launch wizard #1965

If you are reading this, likely you don’t need any suggestions and you can navigate AdGuard’s options with ease. But for new and less experienced users this will be a helpful addition. Upon the first launch, the wizard will tell you about available features and suggest turning them on.

[Improved] Widget redesign #2354

App’s icon was changed, so the widget needed to be altered as well. Not much to say here, aside from the change in looks, widgets now provide some statistics about blocked requests and so on. Better to see it once:

CoreLibs update

In case you need a refresher, CoreLibs is the new filtering engine that AdGuard is built upon. What AdGuard can and can't do is defined by it, so no wonder it's so important. One of the biggest advantages of CoreLibs compared to the previous engine is that it's cross-platform. This means AdGuard for Android can now take the best from the other AdGuard apps, and you can already see it in action with Stealth Mode.

In this update, CoreLibs receives a further boost, granting better performance and filtering quality. About 150 improvements were made to the filtering engine. We cannot list them all here, but here is a link if you want to check them out.

Other changes

Here are some of the more niche features that will primarily appeal to more tech-savvy users.

[Improved] DNS functionality #2415

There are, in fact, several different improvements hiding under one. Instead of bundling with the dnscrypt-proxy binaries, we are now using our own DNS proxy server that supports all existing DNS protocols. But enough of this gobbledygook, what does it mean for you, the user?

  1. AdGuard now supports DNS-over-TLS protocol, which is one of the most secure modern DNS protocols
  2. To configure a DNS-over-HTTPS (another secure DNS protocol) server, you don’t need to know the SDNS and can use a simple string like https://dns.adguard.com/dns-query.
  3. Indicate any number of upstream servers for your custom DNS server setup.

[Added] More filter subscriptions #12

Self-explanatory: the more, the better! If your favorite subscription wasn’t in the default list before, check it again.

[Added] Custom filter subscriptions by URL #13

…and if it is still not there, no big deal! Just add it manually, because now doing it is extremely easy. Just tap the respective button, enter the filter list’s URL, and it will appear among the rest of the filters. New filter will be updated automatically, and of course, you can add more than one at a time.

[Added] Protection suggestions tab #2241

And again, a feature mostly aimed at newer users. AdGuard for Android accumulated quite a bit of features over the years, and it is not easy to identify from the get-go which are the most important. This new tab draws your attention right on the main screen and hints at which steps can be taken to enhance your protection.

[Added] Problematic devices detection #2458

It seems that more and more smartphone manufacturers follow the questionable trend of killing apps whenever they feel like it. Some brands and models do so more often than other. Fortunately, there are certain steps you can take to improve the situation, and these steps vary depending on your particular device.
AdGuard learnt to detect such problematic smartphone models, and when it gets killed like that for the first time, it will show you a notification that explains what just happened (accompanied by some pieces of advice how to prevent that in the future). Its not a cure-all (if only there was one), but definitely better than nothing.

[Fixed] Wi-Fi calling doesn’t work with AdGuard #2550

Due to the way Wi-Fi calling is implemented, you will face problems if you try to use it while having an active VPN. Up until this update AdGuard wasn’t an exception — but it will be now. Without going into technical details (they are available by the link above), let’s just say we found a way to make AdGuard and Wi-Fi calling friends.

[Improved] Added fallback DNS servers #2490

If for whatever reason your current DNS server becomes unavailable (doesn’t matter whether you use one of the servers from the list we provide or a custom one), AdGuard uses your system default DNS as a fallback server. Not an ideal solution, so now you can indicate any DNS server (or even multiple) to be used as a fallback. Go to “Advanced Settings > Low-Level Settings” to set it up.

Common

UI

  • [Added] Adaptive icon support #1548
  • [Added] Context menu to the license activity #1885
  • [Added] CoreLibs version to the About screen #2255
  • [Added] Background / foreground CPU time to the battery usage screen #2355
  • [Added] Total requests count #785
  • [Added] Toggle to turn on/off all user filters & whitelist for debugging #1335
  • [Added] Toast notifications to inform user why an item is disabled/greyed out #699
  • [Added] Indicator for when Stealth mode rules were applied to a request or response #2365
  • [Added] Error notification when exporting logs and system info with an empty file name #2462
  • [Changed] Filter settings have been reworked #1806
  • [Changed] About screen has been reworked #797
  • [Changed] Filtering options in Filtering log have been redesigned #2265
  • [Changed] License status notifications #2460
  • [Changed] Old notification text in HTTPS Filtering #2510
  • [Changed] The app UI is distorted in Arabic #2547
  • [Changed] “Data saved” value goes beyond the bounds #2549
  • [Fixed] Menu items disappear on the promo screen #2504 - [Fixed] Filter names have been specified for all filtering rules in Filtering log #2320
  • [Fixed] Main stat doesn’t change after resetting the statistics #2506
  • [Fixed] A filter group doesn’t get enabled if a filter is enabled from search #2590
  • [Fixed] Adding AdGuard widget doesn't work correctly #2484
  • [Fixed] Crash after search in Apps Management #2508
  • [Fixed] Battery consumption displayed wrong #2487
  • [Fixed] Browsing security event has wrong status in Filtering Log #2512
  • [Fixed] “Content Blocking" menu is missing #2599
  • [Fixed] Custom launchers break widget's size #2521
  • [Fixed] Incorrect notification is shown after checking for updates when there is no connection #2502
  • [Fixed] Protection is restarted when enabling a filter group with all filters disabled #2589
  • [Fixed] Empty Stealth mode parameters in Filtering Log #2495
  • [Fixed] Landscape orientation UI errors #2612
  • [Fixed] Filters in disabled groups receive updates #2581
  • [Fixed] Recurring warning notifications in Apps Management #2481
  • [Fixed] “I agree with Terms" button is not visible on screens with small resolution #2571
  • [Fixed] Incorrect animation #2597
  • [Fixed] Outdated filters can't update their descriptions #2486
  • [Fixed] Extra icon in Custom filters group section #2592
  • [Fixed] Protection is not restarted after enabling the Custom filters #2517
  • [Fixed] Side menu is always opened after restarting the app #2479
  • [Fixed] Social media filter gets disabled if you skip the onboarding screen after the update #2545
  • [Fixed] Support menu bug #2561
  • [Fixed] Switches randomly change their states after screen rotation #2559
  • [Fixed] The license page does not fit on the screen #2464
  • [Improved] An icon added for the recommended filters on the filter groups screen #2556
  • [Improved] A placeholder has been adopted for the current year #2440

Networking

  • [Fixed] AG connecting to a proxy which is not added yet #2543
  • [Fixed] Connection is lost when DoH/DoT is enabled #2475
  • [Fixed] DNS appears in Apps management search results #2505
  • [Fixed] IPv6 upstream addresses are used for default DNS providers #2477
  • [Fixed] No internet connection via root proxy on T-mobile #2428
  • [Fixed] Wrong custom DNS server name for DOH stamps #2514
  • [Fixed] ConnectionFinder finds wrong connection #2450

CoreLibs & Crash

  • [Improved] CoreLibs updated to 1.3.207 #2621
  • [Changed] CL version added to the state file #2509

  • [Fixed] Crash after settings importing #2503
  • [Fixed] Crash in the Apps Management settings #2308
  • [Fixed] When selecting a quick install, automatic crash reporting doesn't turn on #2497

Other

  • [Added] Adguard DNS-over-HTTPS servers to DNS providers #2379
  • [Added] Firewall events to Filtering log #1214
  • [Added] Stealth mode parameters included to the report link #2370
  • [Added] Filtering log extended search feature #1369
  • [Added] 1x4 widget with current statistics #576
  • [Changed] Localizations have been updated
  • [Changed] The view of VPN dialog #2636
  • [Changed] Comments in Filter editor can now be added and deleted individually #2228
  • [Fixed] Compatibility issues
  • [Fixed] Localization issues
  • [Fixed] Stealth Mode settings persist in Filtering Log requests after license reset #2534
  • [Fixed] “Disable Whitelist” doesn’t work #2218
  • [Fixed] Requests highlighting issue #2474
  • [Fixed] HTTPS Filtering settings bug #2582
  • [Fixed] Importing settings from a file does not transfer filter settings #2513
  • [Fixed] Infinite loading after download fail #2560
  • [Fixed] Magisk Manager unable to pass SafetyNet check with AdGuard enabled #1894
  • [Fixed] Settings backup does not contain app settings #2492
  • [Fixed] Cookies TTL can’t be 0 #2548
  • [Fixed] AdGuard icon is missing on some devices after 2.12.223 update #2148
  • [Fixed] An issue due to some providers relying on their DNS servers to provide IPv4-mapped addresses #1884
  • [Improved] You can now clear stats for a single app #803
  • [Improved] You can now sort apps on the Firewall screen #384
  • [Improved] Filtering rules limitations #2401
  • [Improved] Device's current SDK level is now sent with check update requests #2328

Many of you already know, AdGuard team is working hard on developing AdGuard for Android v3.0. It has been taking a long time, but we are nearing the release. This small update serves a single purpose: prepare the current version so that the big update goes smoothly. No other changes — we saved them all for the big day :)

One thing to mention: starting with AdGuard for Android v3.0, we will drop the support for devices with Android OS version 4.x. Sadly, they are simply becoming too old.

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

It hasn't been long since we have released an urgent hotfix for Adguard v2.8, and today there is going to be another one. It is not normal when such things happen, we realize it, and want to apologize to all of you. We'll do our best to avoid such situations in future.

The most major fixed problem concerns one of the low-level settings - pref.vpn.ipv4.bypass, which, as the name suggests, allows to disable filtering for all ipv4 traffic. It was simply missing in the latest release version.

Along with the problem mentioned above, a couple of other issues were addressed.

An important hotfix for the recent release of Adguard v2.8. It contains only one, but crucial fix:

[Fixed] Routes exclusion string bug #939

This bug affected Adguard's work in WiFi networks and could lead to several problems, such as: no filtering fore some websites, local network FTP-server disability, incorrect functioning of WiFi calling feature.

Finally, it's time for Adguard for Android 2.8 to come to light! It brings the ad blocking quality to the next level with several big novelties such as Simplified domain names filter or extended CSS support. Many new low-level settings will allow advanced users to customize app to their liking, and for all the rest we bring quite a few quality of life improvements and bugfixes. We hope everyone finds something useful in the new Adguard for Android version.

Ad Blocking

[Added] Support for Extended CSS and Extended Selectors #810

Extended CSS support is a very important addition in terms of future (and present) possibilities that it opens for ad blocking. Extended CSS is a module for applying CSS styles with extended selection properties. Basically, it means that we will be able to select and, therefore, block some elements that we would not be able to block otherwise. Currently we support following pseudo-classes: -ext-has ( :has ), -ext-contains ( :contains ), -ext-matches-css ( :matches-css ).

'Extended selector' is a technical term, but what hides behind it? With extended selectors support, we can much more easily create some rules that were very, very hard to create earlier. Notably, this concerns rules required to block such things as 'Sponsored posts' on Facebook.

[Added] Simplified domain names filter #876

Fresh addition to the Adguard filters family. Simplified domain names filter is composed of several filters (English filter, Social media filter, Spyware filter, Mobile ads filter, EasyList and EasyPrivacy), modified for better DNS filtering. It blocks ads and trackers wherever it is possible to indicate own DNS addresses. Note that it will block the whole domains and not the specific URLs. You can learn more about DNS blocking by visiting our website adguard.com.

[Changed] "Filter DNS requests" feature is now available for non-premium users #875

With Adguard DNS introduced and being free, there is no point in keeping this Adguard for Android feature paid. Now it will be equally accessible for all users alike. There is still plenty of good stuff in the Premium version of the app :)

[Added] pref.root.clear.youtube low-level flag #907

This option will allow rooted users to automate removing Youtube app data, which appears to be crucial for blocking ads in it. By the way, in one of the recent articles in our blog you can find a detailed guide to blocking ads in YouTube app.

  • [Added] 'pref.filtered.ports' added to low level settings - advanced users can now add new ports to filter #796
  • [Added] $websocket content type modifier - it will enable to use rules written exclusively for WebSocket connections #801
  • [Added] $important rule modifier #833
  • [Added] Latvian filter list #730
  • [Added] List-KR filter list #756
  • [Added] A new low-level setting: "pref.boot.startup.delay" #776
  • [Changed] Multiple browsers added to the list of browsers filtered by default #757, #808, #862, #922
  • [Fixed] $replace rules can now be applied along with other filtering rules #844
  • [Fixed] $app modifier is ignored when HTML content is being filtered #921
  • [Fixed] HTML filtering rules with wildcard attribute can not be parsed #917
  • [Improved] Users are now allowed to select filters update check period #746
  • [Improved] Increased content filtering rules maximum length limit #590
  • [Improved] HAR file writer, which is used for debugging purposes #784
  • [Improved] QUIC-connections blocking for the Chrome browser #766

Networking

[Added] pref.vpn.ipv4.bypass low-level setting #909

If this option is enabled, Adguard will ignore all IPv4 connections. This might appear wierd and unnecessary, but in reality it allows to use Adguard as a 'DNS-level' ad blocker. You only need to enable the following options: pref.vpn.ipv4.bypass, pref.vpn.ipv6.bypass, DNS requests filtering and Adguard DNS filter (the latter is not crucial, but will help immensely with blocking ads in browsers). Adguard will cease filtering other apps' traffic, and will only block ad domains on the DNS requests level. As a result, ad blocking quality will drop and Firewall functionality will not be available, but also there will be close to zero performance penalty.

  • [Added] VPN restart feature #733
  • [Changed] Updated default SSL whitelist #843, #848
  • [Changed] Protection is now paused automatically when Bluetooth tethering is detected #791
  • [Changed] IPv4 connections now have priority over IPv6 connections #802
  • [Changed] New server is now used for filters #863
  • [Changed] The way Adguard blocks IPv6 #853
  • [Fixed] Wi-Fi calling for AT&T #817
  • [Fixed] Crash due to "Too many open files" error #834
  • [Fixed] ENOBUFS error while writing to the TUN #724
  • [Fixed] SOCKS 5 proxy blocks internet traffic #660
  • [Fixed] Error processing HTTP/2 requests #850
  • [Fixed] HTTPS connections with some upstream HTTP proxy #839
  • [Fixed] "Operation not permitted" error while processing UDP connection #840
  • [Fixed] Issue with traffic slipping through firewall #765
  • [Improved] HTTPS is now used for safebrowsing service requests #912
  • [Improved] Adguard styles are now protected from removal #913
  • [Improved] Adguard automatically detects when Adguard's certificate is moved to system certificate storage (Helps with https filtering in Android N+) #755

UI

  • [Added] 'Installation date' to the app details screen #794
  • [Added] A Quick Settings tile for Android N and up #767
  • [Added] A low level switch to enforce "protection paused" notification to be visible even when notification icon mode is set to 'None' #838
  • [Changed] Some localizations were updated #919
  • [Changed] Filtering methods explanations were updated #136
  • [Changed] IME (typing) mode for adding/importing custom rules dialogs #835
  • [Changed] System packages list is added to the "Tech info" section of "Android OS" details screen #857
  • [Changed] Apps Management screen is automatically updated when new app is installed - no need to restart Adguard anymore #747
  • [Changed] 'Apps and Statistics' section renamed to 'Apps Management' and brought to the main menu #823
  • [Fixed] Time format on main screen now follows system settings #819
  • [Fixed] Unnecessary exception is logged #854
  • [Improved] Filter editor now recognizes lines starting with "!" as commentaries in user-imported filters #759

Minor and compatibility issues

Lots of other minor issues and compatibility fixes. The full list can be found in our GitHub repository inside the descriptions of previous beta versions.

Hi! We can't wait to tell you about new Adguard for Android version!

It has a little bit for everyone. If you like to have everything under control and customize filtering for every app, check out new settings section - 'Apps & Statistics'. It is much easier now to make your apps behave exactly as you want them to.

For custom filter rules enthusiasts we have a new modifier: $app. Create rules that affect only one specific app, or all other apps except for it.

Those who use Android N devices will save a lot of nerves now - new version of Adguard automatically detects if an app is created specifically for Android N, which allows to avoid many problems (this affects some other potentially problematic apps too).

And everybody will notice a general increase in quality. Many bugs were fixed, many useful changes were made. All details are in the changelog below.

UI

[Added] ‘Apps & Statistics’ settings section #633

We decided to seriously redesign our Firewall section. There will be no more ‘Apps & Settings’ sub-section inside ‘Firewall’. Instead, we introduce a whole new first-level section named ‘Apps & Statistics’. It very much resembles the now gone ‘Apps & Settings’ but has some differences. For example, we got rid of ‘global’ switches - these buttons were too misleading.

Also, you can now disable network access when the screen is off, and you can configure it for each app separately. Not only new connections are not allowed when this option is enabled, but also all existing connections are terminated when the screen goes off.

Another big change is disposal of exclusions lists. Now you can simply add an app to exceptions through the ‘Apps and Statistics’ screen. There are other changes too, and we will not list them all here. We believe the new layout is more intuitive and you will have no troubles navigating through it.

Important note: this is not yet a big redesign we plan to do in Adguard 3.0. Only the tip of the iceberg :)

  • [Added] An option to browse for a file to import user filter #120
  • [Added] A notification to inform user of expiring license #606
  • [Added] New localizations: Slovak & Norwegian Bokmål #688, #717
  • [Changed] Disabled vibration and sound for Adguard notifications #205
  • [Changed] Instead of stopping protection on settings change, a toast message is showed #667
  • [Changed] When user changes default firewall settings, ask him if he wants to reset per-app settings #675
  • [Changed] Show notification when VPN is revoked #672
  • [Changed] Adguard now counts DNS traffic towards a special “virtual” package named “DNS” #668
  • [Changed] Made some minor UI enhancements #684, #685, #687, #692, #697, #698, #700, #721, #726
  • [Fixed] Adguard closes if you swipe it with ‘No icon’ notification setting #662
  • [Fixed] An issue with Samsung’s buggy firmware (messed notification sounds) #716
  • [Improved] Premium features description #669
  • [Improved] UI accessibility for a visually impaired users #519

Ad Blocking

[Added] $app modifier #544

This modifier will be useful for advanced users who create their own custom rules. It allows both blocking ads in a specific app and blocking ads everywhere except for that app. For example, Facebook uses same domains for both ads and useful stuff. This modifier allows to block facebook ads in other apps without breaking the Facebook app itself.

[Fixed] Detect if app targets Android N #653

Due to Android N security policy, HTTPs filtering is impossible for apps developed specifically for Android N, or other apps where user-installed certificates are not trusted. Previously that could lead to errors and app crashes. Now Adguard detects if app targets Android N and does not filter HTTPS for such apps.

  • [Added] RoList filter to the list of supported filters #523
  • [Changed] Several browsers were added to the list of filtered by default #708, #731
  • [Fixed] Disabling filtering for “Android OS” now fully excludes OS packages from the VPN #732
  • [Improved] Added support for the :style pseudo class syntax #701
  • [Improved] Modified $empty modificator behavior to improve filtering #677
  • [Improved] Increased content filtering rules maximum length limit #590

Networking

  • [Changed] Allowed DNS requests for root user #535
  • [Fixed] An issue when allowed apps couldn’t connect when DNS was blocked #714, #720
  • [Fixed] SSL whitelist no more can be applied to random domains #738
  • [Fixed] Resolved shadowing of our Apache commons classes by old versions shipped in Android #709
  • [Improved] All our requests are now more secure with SSL/TLS #611

Install/Update

  • [Added] Automatic protection restart after Adguard update #725
  • [Fixed] Self killing on update #696

Compatibility

From now on it will be much easier for users to add any app to exclusions. No need to go to low-level settings anymore, just open the apps screen in ‘Apps and Statistics’ and add it to exclusions from there.

Following compatibility issues were fixed:

  • Ad blocking interferes with videos in Mail.ru news app #711
  • Upload doesn’t work for Yandex Disk #736
  • Samsung Battery Saving mode #378, #656
  • HTC battery optimization #536
  • Sync for Reddit app #645
  • Cortana voice app #661
  • Lazada app #680
  • Smart appointments in Google Calendar #658

Following apps were added to exclusions due to problems caused by filtering:

Idealo, Mountainview, Itau, Yik Yak, Box, Jet, MeetMe, MoovIt, Waze, Prisma, Grindr, Romeo Uncut, SwiftKey, S Voice, Goes, NU.nl, com.samsung.syncservice, Coursera, Astana Bank, Google Now, Yandex Navigator, Heetch, TomTom Go Mobile, Amazon apps, some banking apps

(Issues: #673, #729, #641, #516, #642, #676, #612, #528, #492, #733, #715, #710, #702, #712, #686, #679, #674, #659, #655, #650, #637, #584, #447, #624, #647)

Hello everyone!

It feels like we were releasing version 2.5 just yesterday, and yet we are ready to present to you a new one: Adguard for Android v.2.6!

You will find quite a lot of improvements and new features there. Last version introduced HTTPs filtering, and in this one we made it faster by A LOT :) Now it is so much faster and more stable.

Also, our users get the ability to configure which DNS servers to use with DNS filtering, compatibility with other apps is improved, UI unergoes some tweaks, new filters are added to make filtering more comfortable... and much more!

Ad Blocking

[Added] Annoyances filter: #594

We have decided to create a new separate filter for irritating elements that disturb users or interfere with web surfing. As you may know, we already have a Social media filter that removes numerous social media widgets and different buttons – “Like”, “Share”, “Tweet” etc. (we are sure you have noticed how many of them are on certain websites). Our new filter will go further in making your surfing even more comfortable. You can learn more about it in our blog: https://blog.adguard.com/en/adguard-news/annoyances-filter.html

[Added] Custom DNS servers: #139

With Adguard you can now override system DNS settings and use any DNS servers you like. Just as with proxy settings, Android does not allow you to do it when you are on mobile data, so Adguard is your only option. To do it: go to Settings - Advanced - Low-level settings - tap pref.vpn.dns and enter preferred DNS servers addresses (one per line).

Other changes

  • [Added] Korean Adblock list: #556
  • [Added] Fanboy’s Swedish filter: #627
  • [Added] Fanboy’s Vietnamese filter: #589
  • [Added] LastPass app added to the browsers list: #476
  • [Fixed] Improved ad blocking in Youtube app: #573
  • [Fixed] Adguard fails to detect HTML on some websites: #554

Networking

[Added] Upstream proxy settings: #51

One of the most asked questions about Adguard is “can I use it with another VPN?”. The usual answer was “no, you can’t have two VPN running together (unless you have root and use AG in proxy mode)”. We are very excited to announce that we have brought a new solution suitable for non-rooted devices. Does this allow you to use two VPNs at the same time? No, unfortunately this is still impossible. However, most popular VPN providers allow you to use proxy instead and that’s what you can do now with Adguard. For instance, if you are a PIA VPN user, you now can setup Adguard to use their SOCKS5 proxy. Learn more about it here (scroll down until you see “SOCKS5 proxy” link). You may want to use TOR along with Adguard and it is also possible now! Here is a short instruction on how to setup Adguard to work with Orbot: Proxy with Tor.

  1. Run Orbot.
  2. Open Adguard.
  3. Go to Settings - Advanced, open Proxy settings.
  4. Select SOCKS4 proxy type, set host to 127.0.0.1 and port to 9050.
  5. That’s it, run Adguard protection and all your traffic is now going through TOR.

One more thing worth noticing is that Adguard is currently the only way to use proxy when you are on mobile data. Otherwise Android just does not provide such possibility.

[Added] New low-level setting allowing to block IPv6 traffic in Proxy+Auto filtering mode: #601

It appears that in Proxy+Auto mode Adguard cannot filter IPv6 traffic. As a temporary solution we’ve introduced new low-level setting “pref.proxy.block.ipv6” allowing to block IPv6 traffic to public networks. It is disabled by default, so if you have IPv6 offered by your ISP, you may want to enable it.

[Added] Low level switch for AG to dump HTTP/HTTPs content to a file: #502

This switch will be very useful to filters developers and enthusiasts. Adguard saves HTTP(s) requests in a HAR (http archive) v1.2 format which can be easily analyzed with a Fiddler app: #502

[Improved] HTTPs filtering performance: #501

Another popular question was about download speed drop over HTTPs. HTTPs filtering is a heavy operation, so that was expected. What was unexpected to us is that some services like Google Play may download apps over HTTPs. So, we have greatly optimized the filtering speed. On our test device it has showed an increase in 5-10 times!

Other changes

  • [Changed] Updated default https exclusions list (almost 1k domains there now): #579
  • [Fixed] Do not start VPN when another VPN is in use: #527
  • [Fixed] Wi-Fi calling in UK EE network does not function if Adguard is active: #582
  • [Fixed] No HTTPs filtering of Google domains in Chrome browser: #365
  • [Fixed] Empty ad placeholders are visible in some apps with HTTPS filtering enabled: #402
  • [Fixed] Adguard does not block connections when an app switches to SSL 3.0: #562
  • [Fixed] Some apps repeat ad requests every second (Play music issue): #511
  • [Fixed] HTTPs filtering does not work for Google domains (Android N): #486
  • [Fixed] Error generating certificate for certificates w/o alternative name: #548
  • [Fixed] Added workaround for update procedure on Android N #634
  • [Fixed] Not starting VPN service on quick network change #636

UI

  • [Added] Default language is now “System” (just uses the system language even if you change it): #131
  • [Added] Added Adguard shortcut for fast enabling or disabling Adguard: #481
  • [Added] Show warning when user tries to set notification icon to “None”: #497
  • [Changed] 1-place widget appearance: #481
  • [Fixed] An issue with Adguard shortcut opening app UI: #610
  • [Fixed] Tethering “conflict” notification is shown every time: #503
  • [Fixed] Statistics detalization for low-res devices: #525
  • [Fixed] Dialog windows width: #557
  • [Fixed] Accessibility problem for visually impaired users: #519

Compatibility

  • [Fixed] Aliexpress: #615
  • [Fixed] Yandex Navi and Maps: #447
  • [Fixed] Wire: #517
  • [Fixed] Sberbank and manual proxy mode: #545
  • [Fixed] Adwords app: #327
  • [Fixed] Outlook mobile app: #560
  • [Fixed] Openbank: #504
  • [Fixed] Samsung Theme Store: #571
  • [Fixed] SimpleNote sync: #540
  • [Fixed] Wawa: #543
  • [Fixed] Yelp (cannot complete a transaction): #603
  • [Fixed] PrivatBank: #567
  • [Fixed] Angry Birds Friends: #546
  • [Fixed] HERE Maps: #530
  • [Fixed] FarPost Кино: #529

Other

  • [Fixed] Samsung Battery saving feature interferes with Adguard: #378
  • [Fixed] HTC battery optimization mode interferes with Adguard: #536
  • [Fixed] License key can be found in the log file: #595
  • [Fixed] Limit the number of license check requests: #574
  • [Fixed] HTC devices power saving mode: #536

Not so long ago we announced a soon-to-come release of new Adguard for Android version, and we keep our promise by pushing out Adguard 2.5 today. Lots of new features and bugfixes are awaiting you, and some of them are HUGE. If you keep track of our blog, or forum, you already know that the killer news of this release is adding the HTTPS filtering. And yes, that means no more ads in YouTube, Facebook or Twitter - you name it. But there are other reasons to get excited besides it. Read on to find out what are they.

HTTPS filtering

Previously, ads which are loaded using HTTPS were ignored. Now Adguard can filter HTTPS protocol, which means that all such ads will be blocked. And these ads appear at many websites and apps - we already mentioned some of them above. To enable HTTPS filtering, simply go to Adguard settings -> HTTPS filtering. Put checkmark besides 'Install certificate' checbox to install certificate, then enable 'Filter HTTPS connections' - all is ready now.

The upside of this is obviously huge, but there are a couple of drawbacks as well:

1. You will need to set a password or a lockscreen pattern. This is a system requirement with no workarounds.

2. You will get a 'Network may be monitored' notification after enabling HTTPS filtering and after each device reboot. This notification, however, can be swiped away.

HTTPS filtering works in two modes. By default, Adguard will filter all HTTPS connections to all domains, except for domains from the whitelist. The other mode allows you to filter HTTPS connections to the domains from the blacklist only. We recommend blacklist mode for those with older smartphones and tablets, as filtering all HTTPS connections can possibly cause performance drop.

Privacy and security

From the beginning, the main goal of HTTPS was to secure your data that you transfer via network. We take privacy and security issues very seriously, and that's why we spent a lot of time to make sure you will not lose HTTPS advantages while filtering HTTPS protocol.

1. Your network traffic remains encrypted (because all the filtering happens inside your device).

2. Adguard checks server certificates by itself, and with any hint of danger filtering of this connection will be ceased.

3. Adguard is not affected by any SSL vulnerabilities which year 2015 was so rich of (it can be verified on SSL labs).

4. By default Adguard doesn't filter connections with known bank domains and other websites with personal info. Since this beta we fixed a lot of bugs concerning HTTPS filtering.

For those who want full control and maximum security, blacklist filtering mode will probably suit more than default whitelist mode.

UI changes

  • [Added] New material icon #203
  • [Improved] Statistics detalization #48
  • [Changed] "Rate App" button was returned to "About" view in Amazon build #232
  • [Fixed] Changed selected text background in the Low level settings to differ from text color #260

Ad Blocking

[Changed] In Android 6.0 Adguard now automatically pauses protection in the battery saver mode (unless battery optimization is disabled for Adguard app) #247

We feel this is an important change. When Android is switched to power saving mode, all apps are cut off from internet. But Adguard VPN was still alive and receiving all the packets from these apps. Now we simply disable protection for the duration of power saving mode. When battery saver mode is off, we automatically enable protection back.

  • [Added] $replace modifier for basic rules #239
  • [Changed] $popup rules are applied to "redirect" responses now #281
  • [Changed] Optimized filtering speed #470
  • [Fixed] Adguard filters "application/xhtml" pages now #477
  • [Fixed] Issue with parser building wrong absolute URL #442

Added various language-specific and other filters:

  • [Added] "Anti-Adblock Killer | Reek" filter #420
  • [Added] Polish cookies filter #354
  • [Added] Persian/Farsi list #296
  • [Added] Finnish filter #293
  • [Added] Greek AdBlock filter #282
  • [Added] Bulgarian filter #259
  • [Added] Estonian filter #468

Compatibility

  • [Fixed] Telegram app #294
  • [Fixed] Yandex.Navigator #278
  • [Fixed] Sleipnir Mobile added to the browsers list #316
  • [Fixed] VIA browser added to the browsers list #381
  • [Fixed] Fixed Nimbus Note app sync issue #364
  • [Fixed] Zoiper and CSipSimple apps #422
  • [Fixed] Several banking apps were added to exceptions list #414, #397
  • [Fixed] IP Cam Viewer Pro #321
  • [Fixed] LiveJournal app #144
  • [Fixed] SK Telecom's SMS and MMS apps #412
  • [Fixed] Nekto Me app #374
  • [Fixed] GoPro app compatibility with VPN #495
  • [Fixed] Disa app #499

Languages and translations

Added localizations to various languages:

  • [Added] Finnish language #293
  • [Added] Hungarian language #309
  • [Added] Chinese Traditional language #277
  • [Added] Bulgarian language #444
  • [Added] Croatian language #494
  • [Added] Vietnamese language #493
  • [Added] Dutch language #500

Other

  • [Added] An option to disable splash screen on Adguard launch #490
  • [Added] Warning for smartphone users about battery stats #366
  • [Added] Apus Browser support #449
  • [Added] Support for HTTP method REPORT #431
  • [Changed] Use Origin as Referer for websocket connections #429
  • [Changed] Make HTTPS whitelist, blacklist and apps exceptions available in "Low level settings" so you can easily reset it to default #457
  • [Changed] Added RelayForReddit Pro to the list of browsers (you don't need premium to block ads in this app) #301
  • [Changed] Improved HTML content detection #348
  • [Fixed] Website can be broken because of invalid HTML inside a "noscript" tag #400
  • [Fixed] Adguard ignores tag href attribute while constructing an absolute URL #401
  • [Fixed] Adguard cannot detect HTML if there is an xml declaration at the document start #428
  • [Fixed] Glitch with swiping Adguard from the recent apps #292
  • [Fixed] Error while opening about.com #441
  • [Fixed] HTML parser should not filter "data:" URLs #417
  • [Fixed] AG code is injected into "noscript" tag #330
  • [Fixed] Error while parsing a style tag with embedded svg (lifehacker.com issue) #373
  • [Fixed] Issue with wrong stats calculated for apps listed in "pref.net.exclusions" #252
  • [Fixed] Wrong Firewall traffic stats #338
  • [Fixed] Fixed a bug with filtering of the apps from exceptions list #252
  • [Fixed] An issue with blocking POST requests and "keep-alive" HTTP connections #332

Ad blocking

[Added] Added popular filter subscriptions: #0

List of added filter subscriptions:
* ABPindo
* EasyList China
* EasyList Czech and Slovak
* EasyList Hebrew
* EasyList Italy
* Liste AR
* Liste FR
* ABP Japanese Filters
* Adblock polskie reguły

[Added] $generichide modifier support: #4
[Added] $genericblock modifier support: #3
[Changed] Use keyboard settings to detect default language-specific filters: #0
[Changed] Improved $popup rules: #7
[Fixed] A bug with HTML filtering rules - void elements never removed: #4
[Fixed] An issue with "base url": #2
[Fixed] Rules with $elemhide modifier now applied to "Documents" only: #1

UI changes

[Added] New "Notification Icon" setting option: "Notification without icon": #2

So now we now have 4 options:
1. Default icon. Icon and notification are always visible.
2. Colored icon (only in Android 4.X). Icon and notification are always visible.
3. Notification without icon. Icon is not visible. Permanent notification is visible, but it has low priority, so it is semi-transparent and placed below all other notifications.
4 None. No icon, no notification.

[Changed] Make "Protection paused" a permanent notification: #1

This change should help with #3. When Adguard pauses protection, sometimes Android may kill it's process and then do not bring it back.

[Changed] Add a description text for each filter: #9
[Changed] Change Mb to MB in firewall data statistics: #0
[Changed] "Protection paused" notification should not have high priority in Android 4.X: #5

Browsing Security

[Changed] Changed the way Adguard checks domain: #2

VPN

[Changed] Adguard now checks if IP address is reachable before redirecting connection to a proxy: #7
[Fixed] Crash when system call is interrupted: #0
[Fixed] "Filter DNS requests" feature does not work with mobile connection: #1

We have improved "Filter DNS requests" feature, now it is much more reliable and works for both Wi-Fi and Mobile connection. This feature may drastically improve the battery usage, so I recommend trying it.

Languages and translations

[Added] Swedish language: #8
[Added] Estonian language: #7

Compatibility issues

[Changed] Add Link Bubble Browser to the browsers list: #7
[Fixed] Tethering/hotspot is falsely detected (MIUI, Zenfone2): #8
[Fixed] Fixed an issue with filtering Boat Browser and Dolphin Browser with add-ons installed: #7
[Fixed] Viber app compatiblity issues: #0
[Fixed] Added Firefox Nightly to the browsers list: #6
[Fixed] Added RT Software Studio's Download Manager to the browsers list: #9
[Fixed] Added Yandex Browser Alpha to the browsers list: #8
[Fixed] Periscope app incompatibility: #5
[Fixed] Add sberbank app to net exclusions: #9

Minor issues

[Changed] Compress request body when sending request to support: #6
[Changed] Improve release notes layout: #0
[Fixed] Add sberbank app to net exclusions: #9
[Fixed] Adguard breaks WebSocket protocol: #8
[Fixed] Adguard requests to a backend server has wrong User-Agent field: #1
[Fixed] Always return status=500 for blocked requests: #6
[Fixed] BOOT_COMPLETED Intent is not received at “Restart” or “Reboot”: #3
[Fixed] Critical Error: Deadlock caused by slow write operations #8
[Fixed] Download or upload of large files may be broken: java.net.SocketTimeoutException: #4
[Fixed] Foreground check does not work in Android 5.1.1+: #4
[Fixed] Random timeout error while downloading large files: #5
[Fixed] T-Mobile Wi-Fi calling issue: #3
[Fixed] UDP connection may be closed before it is actually established: #5
[Fixed] Wi-Fi direct does not work with Adguard on Samsung devices: #7
[Fixed] Wildcard's "*" character does not match a new line: #3

Patch for Adguard 2.1. This patch fixes a few major bugs discovered in the previous release.

  • [Added] New low-level setting "pref.net.exclusions". Allows to change the list of apps for which network filtering is disabled.
  • [Fixed] Problem with filtering stuck at detecting filtered app.
  • [Fixed] Cannot download file larger than 2Gb.
  • [Fixed] [Critical] Wakelock when there are semi-closed connections.
  • [Fixed] Compatibility issue with My JDownloader.
  • [Fixed] App crash while checking if app is in foreground.
  • [Fixed] Disabled update check for Amazon build.

Multiple TCP stack improvements:

Previously there were problems with downloading large files, especially from Google Play. It is not the case anymore, you don't have to disable Adguard just to update your favorite app or download a new game.

Overall performance improvement:

With recent changes Adguard has become faster, more stable and less resourse consuming. It was possible due to optimization of several 'bottleneck' situations.

Other changes:

  • Moved firewall icons-cache to Cache folder to be able to clear it from app settings
  • Fixed unnecessary restart of protection in Proxy mode
  • Proxy mode: DNS cache is now flushed on network reconnect
  • Multiple GUI improvement in Low-Level Settings
  • A new preference "pref.vpn.capture" added to low-level settings. If this setting is enabled, Adguard will create the special file named «tun.pcap». It contains all network packets transferred through the VPN. This file is located in the app cache directory, and can be analyzed with the Wireshark program.
  • Optimized Pcap functionality in Low-Level Settings
  • Update channel options are hidden for Amazon builds
  • Fixed handling of HTTP CONNECT requests without Host header
  • Small UI fix on Send Feedback screen
  • Added new localizations: Czech, French, Turkish, Serbian, Spanish
To find more information and discuss new version, visit our blog.
  • 'Firewall' section added to settings, with an ability to disable it comletely.

    Firewall Adguard

  • Firewall: Added an ability to temporary pause blocking for foreground application

    Pause blocking

  • Added low-level settings that can help with the work in non-standard networks and custom firmware
  • An option has been added to low-level configuration, which prohibits VPN pause when changing the network or disconnecting from it
  • Reworked the DNS-filtering - now it should work even where external DNS are blocked
  • Reworked the application life cycle: now the protection can be turned off/on without any issues
  • Fixed application restart after deep sleep
  • Fixed critical error that led to Adguard restart
  • Fixed a mechanism for identifying modem and access point mode and showing a warning
  • Fixed authorization problem in the Moscow Subway
  • Fixed problem sending SMS/MMS in the AT&T network
  • Fixed an issue with collecting traffic statistics
  • Fixed rare problem with automatic filter updates
  • Fixed an issue with firewall interface on small screens
  • Added support for new browsers: Dolphin Zero, Ghostery, CM Private Browsing, Jbak Browser and more
  • Exceptions added: Handcent Next SMS, Chomp SMS, FarmVille 2
  • Updated German and Polish localizations
  • Fixed several issues in the interface
To find more information and discuss new version, visit our blog.
  • Added the long-awaited firewall feature. Now it is possible to fully control the internet access of apps in different networks. The apps won’t be able to go online and send any data without you knowing. In addition, by using our firewall, you can allow some apps to go to the network only via mobile Internet, while others (for example, ones that require a lot of traffic) – only through Wi-Fi.

    Firewall Adguard

  • Added app traffic monitoring system. You can monitor the consumption of app traffic in real time.

    Monitor the traffic

    Adguard will show you which apps consume resources at the moment, and demonstrate the used traffic for day, month or all-time.
  • Added module for blocking advertising domains by DNS (can be found in advanced settings). DNS filtering consists in Adguard intercepting requests to the DNS server, which let the program know where the particular domain is, at what IP address. If requests to the domain should be blocked, then Adguard returns the special blocking response with a lifetime of 1 hour. During this hour, the program will no longer send requests to the DNS server, so the load will be reduced accordingly.
  • Added Material Design. We have switched to the Material design. Now Adguard is consistent and even more handsome :)

    Version 2.0

  • Added IPv6 filtering support. This protocol may not even be supported by your provider yet, and we have already added its support in VPN mode. Just keep using Adguard as if nothing has changed.
  • Implemented blocking of QUIC protocol in Google Chrome. Google servers are working based on it, and also with its help Google Chrome loads banners and text ads. At the moment, the use of this protocol gives no significant advantage to the user, therefore we decided to block this protocol.
  • Added simplified filtering mode without cosmetic rules. It is useful for low-end devices limited by memory and CPU resources. Banners are also wonderfully blocked, but once they are blocked, there will be “holes” that are usually hidden by some cosmetic rules that are present in other modes of filtering.
  • Added the import function for user rules lists from a file.
  • Added widget for your desktop, allowing one-click control for the ad-protection.
  • Added options for update channel - Beta/Release. If you plan on using latest beta updates, don't forget to check the checkbox in advanced settings.
  • Fixed problem with TCP-stack when downloading large files (in Google Play, etc.).
  • Remarkably redesigned UDP and TCP connections handling, which led to the load reduction and increase of concurrent connections number.
  • Use of system Intents to manage the service from other programs (Tasker, etc.) is now allowed.
  • Improved restarting protection after reconnecting to the network.
  • Fixed problem with sending MMS through the Verizon operator.
  • Fixed sending SMS for T-Mobile users.
  • Added support for NoChromo, Chrome Dev, Amazon Silk.
  • Added an exception for new Opera Max, you can now use it with Adguard in proxy mode.
  • Added new icons for different application states. Our notifications became more vivid and informative with new icons of pause, available update, or when a conflicting app is found on the device.
  • No more status bar colored icon option in Lollipop. In new Android version Google has released a new design requirements, and when we assembled Adguard for the new system while using new technologies, a color icon was “damaged” by assembly tools. Therefore, we had to abandon the colored icon in the Android Lollipop notification (5.0+).
  • Redesigned interface of user lists.
  • Added new languages and updated existing localization.
  • Many small but important fixes.
To find more information and discuss new version, visit our blog.
* Fixed some bugs with HTTPS traffic filtering (known issue: conflict with Heroes Charge game)
* Fixed an issue with Android killing app process in case of swiping it from recent apps
  • Improved HTTPS filtering, now we can block ads in Skype
  • Optimized programs performance
  • If the protection is disabled, Adguard service now turns off correctly after processing the network events
  • Improved filtering speed of heavy HTML pages
  • Fixed an issue with Android 4 killing Adguard after swiping task from recent
  • Fixed a bug with service autostart in case of wrong events order (if we receive network event first, then boot event)
  • We now use better way to exclude some apps from VPN on Lollipop
  • Fixed an issue with Adguards performance on Android 4.3 SGS3
  • Optimized memory consumption upon loading heavy files
  • Fixed some minor compatibility issues

You can discuss the latest version in our blog: here.

+ Added support of Habit browser and Yandex browser beta.
* Google Messenger app added to exclusions list.
* Fixed a bug with local network exclusion. Now local network is properly excluded on all devices. This should fix some compatibility issues: working with local FTP servers, Sonos, Amazon Fire TV, etc.
* Fixed filtering issue with websites which use Content-Security-Policy.
* Fixed an issue with proxy+automatic filtering mode on devices with kernel version 3.10.
* Fixed Adguard filtering in case of using proxy server with port 80.
* Fixed UI issue when bandwidth saved value is more than 1GB.
* Fixed Google Play Music compatibility issue.
* Fixed an issue with waiting for ROOT access on device boot.
Fixed major bug with filtering of some HTTP connections
Added in version 1.1.805:

+ Added limited support of HTTPS requests filtering
+ Added Ukrainian and German languages
+ Tested and optimized for Android 5.0 Lollipop
+ Added support for Naked Browser
+ Added notification icon setting
+ Added new types of filtering rules (regexp-rules)

Fixed in this version:
* Resolved compatibility issues with some apps including Telegram, Handcent SMS, Dropsync, Dropbox, Bleep, PAC Console
* Fixed bug with processing UDP traffic in VPN mode (Bleep messenger)
* Fixed some app crashes
* Fixed slow protection startup in proxy mode
* Improved CPU and battery usage
* Fixed processing of certain HTTPS requests
* Fixed problem with landscape mode on devices with low resolution screen
* Fixed possible conflicts when using the same port number with another proxy server
* Fixed an issue with processing requests to some domains with multiple A DNS-records
After a month of open beta testing, we finally announce the first official release of Adguard for Android. Many thanks to all who helped us in testing the app. Thanks to you, we have fixed more than 100 bugs for the last month!

We are not going to stop on that and will continue the further development of Adguard. Please write us about shortcomings or send your suggestions. We are always here to help you.
+ Splash screen
* Fixed an issue with HTTP/1.0 connections
* Fixed Google Chrome filtering if "Reduce data usage" is enabled and proxy mode is on
* Fixed bug with update available notification error
* Minor UI fixes
+ Added tutorial on app first run
+ Added unsupported browsers detection
* Fixed slow page load on some devices
* Fixed service restart issues
* Fixed lots of minor bugs
+ Adguard in proxy mode now can be used along with Opera Max and DrWeb
+ Added new questions to FAQ
* Fixed handling of the situation when VPN is not supported
* Fixed app crash in proxy mode
* Fixed an issue with app autostart
* Minor UI fixes: added new dialog on first VPN startup
* Memory usage has been significantly reduced
* Improved filtering speed and protection initialization speed
* Fixed bug with unexpected protection shutdown (in proxy mode mostly)
* Fixed compatibility issues with Viber, Okko and Mobilism apps
* Fixed compatibility issues with Youtube and Play apps and manual proxy mode
* Improved update process in standalone app version (apk)
* Fixed lots of minor bugs
* Fixed crash caused by downloading huge files in VPN mode
* Fixed filtering of Opera Classic
* Minor UI fixes
* Fixed vpn autorestart issue
* Fixed app update
* Fixed HTTP keep-alive issue with POST requests
+ Added trial period
+ Added "Errors only" logging level
* Fixed bug with Adguard start even if protection was not enabled
* Fixed major bug with HTTP keep-alive connections
* Fixed lots of minor bugs
Open beta-version of Adguard for Android