Excuus voor de ontbrekende vertaling. We werken er aan.

Android Beta - AdGuard versies

It seems that the first AdGuard v3.3 beta has opened the floodgates, and now there’s no power in the world to stop our developers from releasing more and more. Only one week has passed since, and we’re already presenting the next one. This time, our designers had a say too, and this is reflected in several UI-related changes that you won’t be able to miss.

[Changed] The onboarding process #2895

We sure love us some redesign! This time, we revamped the onboarding sequence (basically, what you see when you launch the app for the first time). Key changes:

  • An option to choose a ‘quick’ or a ‘long’ configuration: you’ll be asked to either make only key decisions or set most of the settings manually
  • New option to allow sending some technical and interaction information that will help us further improve AdGuard
  • Better graphics!

[Added] HTTPs filtering dialog #2967

HTTPS filtering is a cornerstone of AdGuard for Android. Without the permission to filter the HTTPS protocol the ad blocking power of AdGuard is severely crippled. That’s why we walk an extra mile to emphasize to users its importance.

We show a notification on the main AdGuard screen if HTTPS filtering is not enabled yet, and when you click on it, we now show a simple yet informative GIF that explains how HTTPS filtering works and why we recommend so strongly to turn it on.

  • [Added] “Refresh license status” button #2988
  • [Added] TLS v1.3 support for custom DNS servers #3132
  • [Added] Restore purchases button: a notification if there’s nothing to restore #2990
  • [Changed] Phrasing on activation screens #3141
  • [Changed] Internet connection availability checking method #3095
  • [Fixed] Pressing the “Buy one more license” button closes the current screen #3136
  • [Fixed] Some buttons in the first start dialog boxes can’t be seen on certain device models #3114
  • [Fixed] The switch for Custom filters incorrectly represents the state of the filter group #3119
  • [Fixed] Compatibility issues
  • [Improved] CoreLibs has been updated to v1.5.84 #3143

We hope you were missing our beta versions that can put to shame some releases because we have a laundry list of changes, fixes and improvements. A good portion of it refers to UI, but there are a few performance enhancements and such.

[Added] New activation flow #2901

Not a lot of Android users had a chance to see our AdGuard for iOS app, so they likely don’t know about the system that’s being used there for Premium features activation. But it recommended itself as one that’s convenient for users, so we adopted it for AdGuard for Android too.

As you can see, there are now two options: enter a license key directly, or log into AdGuard personal account. If your account has a license key that can be used to activate Premium, it will get picked up automatically after you enter credentials.

Ad blocking

  • [Added] Preset Stealth Mode settings configurations #2625
  • [Added] abp:subscribe and adguard:subscribe links interception #2918
  • [Added] subscribe.adblockplus.org links interception #2930
  • [Fixed] DNS User filter import bug #2972
  • [Fixed] Some legit hosts lists are not recognized as valid #2982
  • [Fixed] Error while checking updates of resources added from the local storage #2997
  • [Fixed] Quick Settings does not allow to choose a different Privacy protection Level #2768
  • [Improved] AdGuard now uses on-the-fly methods of applying settings changes without restarting the protection when possible #2881

UI

  • [Added] Whitelisting apps option to the Assistant dialog #2853
  • [Added] “On/Off” switch on some screens #2877
  • [Added] Notifications about certificate errors #2722
  • [Added] Link to Version history in the About tab #2774
  • [Added] System default theme option #2174
  • [Added] Empty field validation when adding a new extension #2983
  • [Added] Silent update action as a long-tap on the update button #2890
  • [Added] Ability to copy the current version number by tapping on it #2773
  • [Changed] Toast notifications parameters #3087
  • [Changed] The imported filter list’s URL now won’t be stored if a content: link was used #2813
  • [Changed] Chrome custom tabs now open in the same window #3019
  • [Changed] Premium screens now can be viewed without Premium #2843
  • [Changed] Proxy screen UI #3092
  • [Changed] Update notifications behavior #2922
  • [Changed] DNS request type is now displayed in the Filtering log even when there's no answer #2961
  • [Changed] Tap on filter category titles in search will bring you to the respective category’s screen #3035
  • [Fixed] Minor UI issues #2879
  • [Fixed] Issue with distribution graphs on the main screen #2935
  • [Fixed] Incorrect filter locale is displayed after language change #2971
  • [Fixed] Scrolling issue in the Filtering log #2974
  • [Fixed] Wrong filters status is shown #2987
  • [Fixed] Incorrect updates status when the network is not available #3020
  • [Fixed] “Preparing to start protection” notification #3034
  • [Fixed] “Edit Filter” overlay bug #3045
  • [Fixed] Divider stripe is still shown when there are no updates available #3047
  • [Fixed] Cloudflare DNS description #3062
  • [Fixed] Wrong Chinese date format #3068
  • [Fixed] Application updates icon #3098
  • [Fixed] Missing button shadow #3109
  • [Improved] HTTPS filtering-related UI changes #2896
  • [Improved] UI elements are now focusable on Android TV #2818
  • [Improved] Rich formatting added to some modules’ descriptions #2878

Networking

  • [Fixed] Unexpected connections resets #2980
  • [Improved] Target SDK level has been changed to 29 #3053
  • [Improved] Interaction between AdGuard DNS settings and Private DNS #2797
  • [Improved] AdGuard’s network safety and stability #2995

Other

  • [Added] Whitelist export feature #3069
  • [Fixed] AdGuard 3.2 does not launch #3076
  • [Fixed] Update window appears after a short inactivity period #3055
  • [Fixed] Userscripts updates are not tracked by the battery service #3073
  • [Fixed] “Include license data” option works incorrectly when you try to export settings #3067
  • [Improved] CoreLibs has been updated to v1.5.74 #3105
  • [Improved] Localizations have been updated

This is a last-minute beta before we pull the trigger and release AdGuard 3.2 for Android. There are only a couple of fixes here.

  • [Fixed] Issues while in root+proxy mode configuration #2894

There are very few changes in this beta (literally two) but the CoreLibs update is important enough that we decided to release it.

  • [Fixed] Overlayed hints can’t be dismissed #2979
  • [Improved] CoreLibs has been updated to v1.4.133 #2993

This is a much smaller follow-up update compared to the previous monster of a beta. Few fixes here and there, a CoreLibs update, some UI improvements - nothing you haven't heard about before.

  • [Added] Empty field validation when adding a new extension #2954
  • [Changed] Cutout area on cutout devices is now colored #2952
  • [Changed] Firefox preview has been added to the list of browsers #2958
  • [Fixed] Minor UI layout issue #2934
  • [Fixed] AdGuard blocks internet connection #2842
  • [Fixed] An error when you export settings #2906
  • [Fixed] Homepage link for Tracking Protection filter #2937
  • [Improved] CoreLibs has been updated to v1.4.120 #2959
  • [Improved] Search functionality in the Apps Managements is slow #2951
  • [Changed] Localizations have been updated
  • [Fixed] Compatibility issues

First beta since the v3.1 release, and out of the gates it's packed with new stuff. Custom userscripts , DNS User filter , newbie-friendly feature discovery , hosts syntax suuport for DNS filters . And a looooooooong list of other changes, bugfixes and UI improvements. Let's go:

[Added] Userscripts support #34

Userscripts (we also call them extensions) are basically mini-programs written in Javascript that extend the functionality of one or more websites. Usually, you'd need some special userscript manager to add them, and it's traditionally more of a desktop thing. But with AdGuard everything is possible! Now you can add any userscripts by URL or load them from a file, and AdGuard will serve as a userscript manager and take care of the rest. Go to Settings > Extensions to enable some of the pre-installed extensions or to add custom userscripts.

[Added] Extension Details activity #2807

By the way, you can tap on any userscript from among the added ones to see more details, and to reinstall or delete it.

[Added] Feature discovery #2459

We try to position AdGuard for Android as an app you can technically turn on and forget about it, but that can offer so much more if you spend some time to explore it. To help new users not get lost in many many features we added over the years, we'll now highlight the most important UI elements and give short tooltips that explain what they are all about. This will only happen when you visit this or that screen for the first time, of course, otherwise it would become old very soon.

[Added] DNS User filter #2803

This is very similar to the regular User filter for custom filtering rules, but for DNS requests. You can find it at Settings > DNS Filtering > DNS Requests blocking. DNS User filter supports two types of syntax: limited portion of AdGuard syntax and "hosts" syntax. More about it in our Knowledge Base.

[Added] Custom hosts files support #1851

Another DNS-related feature. AdGuard users now can add any hosts lists as custom DNS filters. Again, this option is on the Settings > DNS Filtering > DNS Requests blocking screen.

[Fixed] IPv6 filtering doesn't work in automatic proxy mode #2579

Not a new feature, but a very important fix. Many users with rooted devices use AdGuard in automatic proxy mode, and it turned out that IPv6 filtering wasn't working in this mode. This beta fixes the problem.

Ad blocking

[Added] "Disable AMP" userscript #2815
[Changed] Google DOH and DOT URLs in the configuration have been updated #2844
[Fixed] A bug with license status, filters and userscripts updates #2855
[Fixed] The value for one of Stealth Mode settings can't be set #2788
[Fixed] DNS filter's metadata doesn't update #2830
[Fixed] Filter groups' statuses aren't restored from backup #2887
[Fixed] Double tap is required to start protection #2883
[Fixed] Custom filters aren't restored from backup [#2864]
[Fixed] Wrong rule is suggested when blocking an HTTPS tunnel request #2865
[Improved] CoreLibs filtering engine has been updated to v1.4.91 #2928

UI

[Added] An error toast when an error occurs during a long-running background task #2819
[Added] Response status to the DNS log entry details #2835
[Changed] Languages' names have been homogenized in the language select menu #2753
[Changed] A bullet has been added to the statistics period selection dialog #2756
[Changed] Icons order in Apps Management has been made consistent #2777
[Changed] Notification about updated userscripts and filters #2796
[Changed] Dialogs on the Stealth mode screen #2808
[Changed] "New custom filter" dialogs layout #2809
[Changed] An indicator telling that AG cannot filter itself has been added to Apps Management #2700
[Changed] AdGuard and Proxy notifications have been combined into a single notification group #2718
[Changed] Upstream DNS server's address is now shown in the Filtering log #2735
[Changed] "Get Premium" activity now closes after free trial is successfully started #2816
[Fixed] UI bug on older LG devices #2789
[Fixed] Settings activity doesn't run on some devices with rare firmware #2770
[Fixed] Search results in Filtering log do not include some matching entries #2681
[Fixed] Valid email address is highlighted as if it was invalid #2752
[Fixed] Minor UI-related issues #2870
[Fixed] An inconsistency with the UI of Stealth Mode settings #2854
[Fixed] Wrong text below the license type in the main menu #2903
[Fixed] UI resets to the classic theme after switching the update channel #2784
[Improved] User dialogs have been greatly improved #2754
[Improved] Items in dialogs are now highlighted on tap #2716

Networking

[Added] TCP listener to the DNS filtering proxy #2470
[Changed] "Block WebRTC" Stealth Mode option is now applied to browsers only #2757
[Fixed] IPv6 is not resolved within IPv6 VPNs if the main connection is IPv4-only #2325
[Fixed] Proxy settings won't renew if user disables proxy via notification #2707
[Fixed] Low-level setting pref.dns.blocking.nxdomain works inconsistently #2847
[Fixed] Search suggestions don't work in Firefox #2884

Other

[Added] Userscripts metadata localizations #2806
[Changed] File names for exported User filter and Whitelist #2880
[Fixed] AdGuard crashes to desktop #2762
[Fixed] AdGuard freezes when the device orientation is switched to landscape mode at a certain time #2765
[Fixed] AdGuard crashes after adding a certain custom filter #2888
[Fixed] App sometimes crashes upon launch on S10+ devices #2825
[Fixed] DNSProxy logging level does not change #2858
[Improved] AdGuard now launches faster #2786
[Changed] Localizations have been updated
[Fixed] Compatibility issues
[Fixed] Few rare crashes

Another beta version for AdGuard 3.0 for Android. All the flashy stuff went into the first one, now it’s time to roll up the sleeves and do some good old bugfixing. Doesn’t mean, of course, that there’s nothing to talk about — we went over some of the more notable improvements in greater detail. Also we can’t but mention that CoreLibs filtering engine grows better and better, this update contains the new CL version.

- [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.

- [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.

- [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.

UI

  • [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] 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
  • [Fixed] Menu items disappear on the promo screen #2504
  • [Improved] An icon added for the recommended filters on the filter groups screen #2556

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

CoreLibs & Crash

  • [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

  • [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

Hello! This is a special day, because this beta is, perhaps, the most important one in AdGuard for Android history so far. We are about to jump from v2 to v3 — those of you who were around when we first released AdGuard for Android 2.0 can get an idea of how many changes to expect. But tell you what, there will be even more this time!

Before we go into details and scrutinize the changelog, let’s talk a little about a major improvement in the CoreLibs. A quick refresher: CoreLibs is a completely new filtering engine that serves as a foundation for everything else. One of the biggest advantages of CoreLibs compared to the previous engine is that it is cross-platform. This means AdGuard for Android can now take the best from other AdGuard apps, and you will see it in action very soon. In this beta CoreLibs recieves a further boost, granting better performance and filtering quality.

[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] Stealth Mode module #2094

A much anticipate 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.

[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?.

  • AdGuard now supports DNS-over-TLS protocol, which is one of the most secure modern DNS protocols
  • 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
  • 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] Statistics charts #2083

Statistics is 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..

[Added] Protection status 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...

[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:

Networking

• [Fixed] ConnectionFinder finds wrong connection #2450

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
• [Fixed] Filter names have been specified for all filtering rules in Filtering log #2320
• [Improved] A placeholder has been adopted for the current year #2440

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] 1×4 widget with current statistics #576
• [Changed] Localizations have been updated
• [Changed] Comments in Filter editor can now be added and deleted individually #2228
• [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
• [Fixed] Compatibility issues
• [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

Another release candidate, this time for sure! One small but important fix and one change that we decided to include here because the opportunity presented itself.

* [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
The final push to the v2.12, which itself should become the last version before the long-awaited v3.0 release. As you can expect with release candidates, only minor changes here.

UI

[Fixed] Send feedback doesn't save screen state after rotating
[Fixed] Bug in the AppsManagement screen


Network

[Added] com.alseda.ideabank app - add to the HTTPS filtering exceptions
[Fixed] Fix DnsCrypt parse scripts

Other

[Fixed] Samsung Pay in South Korea won't work when any VPN is running
[Added] Add Joey for reddit to browser list
[Updated] Translations has been updated
Transitioning to a new filtering engine rarely goes smoothly, and we too faced quite a few problems. That was somewhat expected, so there was no need to panic — rather, a need to do a lot of work. Which we did! The CoreLibs themselves underwent an update to a new version; we fixed several crashes and network-related issues along the way, and even extended our tasker API. Now it’s your turn! Help us find more stuff to fix!

[Added] Extended Tasker API: proxy settings

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.

Networking

[Changed] If configured, outbound proxy must be used even if ad blocking is disabled for an app
[Fixed] AdGuard does not use the fallback DNS server when the primary server times out
[Fixed] Protection doesn't restart when changing mode of HTTPS filtering

UI

[Added] Bulk change option for “HTTPS filtering” preference
[Changed] Hide export option when User filter is empty
[Fixed] "I agree with Terms" button is not visible if scale is enlarged in Android settings
[Fixed] The toggle button icon missing from the notification drawer on Huawei P10 Premium

Other

[Added] An option to reset HTTPS filtering's whitelist or blacklist to default
[Added] Hindi [hi-IN] localization
[Changed] Remove comments from HTTPS white/black list for CL configuration
[Changed] Start using ProcessHealthStats instead of scanning proc-stat for calculating AdGuard's own battery usage
[Fixed] The app hangs when press cancel button in bulk change setting of apps management
[Fixed] HTTPS whitelist entries can't be deleted if there is a request in search box
[Fixed] HTTPS whitelist entries not saving
[Fixed] Importing a backup from the stable version breaks DNS settings
[Fixed] Compatibility issues
Have you fastened your seatbelt? Because this AdGuard beta will blow you away! We haven’t released a new beta version for 3+ months (which may be an anti-record, actually), but check out the new stuff: it was well worth the waiting. From the brand new filtering engine to UI improvements and enhancing the DNS filtering — this update has a lot to offer. Let’s have a closer look:

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

We have been working hard on integration with CoreLibs for a long time, and we are extremely proud and happy to finally include it into beta. 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] Notification channels

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

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.

[Fixed] Compatibility problems on Android P

Android P release is drawing near, and we don’t want to get ambushed by possible compatibility problems when it hits the market. We’ve looked into developer preview and modified our code accordingly.

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

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

There are two different imrovements 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

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!

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

New filtering engine (see above: CoreLibs) means that there may be more crashes than usual, and to address them quickly we introduce an 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
[Fixed] Crash caused (possibly) by a huge number of apps installed
[Fixed] Crash on opening app's settings with Assistant
[Fixed] Crash if protection fails to stop in 60 seconds
[Fixed] Crash: java.lang.SecurityException: Destination must be on external storage
[Fixed] Crash: The specified child already has a parent
[Fixed] Crash: Unable to import null to preferences
[Fixed] RuntimeException: The TCP/IP stack has finished its work unexpectedly
[Fixed] Timeout crash due to slow Magisk initialization

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.

Also, more than 120 CoreLibs issues has been resolved since the first nightly build!

Networking
[Changed] Protection startup timeout is not used anymore when the VpnService requires preparation
[Changed] pref.vpn.disable.reconfiguration is now checked for all Android versions 7+
[Fixed] Adguard does not pause itself properly when a third-party VPN is started
[Fixed] AdGuard is disabled after network change event
[Fixed] AdGuard is not capturing the mobile data usage correctly
[Fixed] AdGuard misbehaves when it's set as always-on and it receives a connectivity change event
[Fixed] AdGuard protection is not restored after being revoked by another VPN
[Fixed] Unable to access internet with DNSCrypt enabled

UI
[Added] A checkbox that disables Assistant and Filtering Log
[Added] "Terms of Use" step when the app is started for the first time
[Added] Marketing consent checkbox to the "Request trial" dialog"
[Added] Bulk edit option for ad blocking preference
[Added] Information about non-filtered connections to the filtering log
[Added] A custom file picker
[Added] Add "Enable all" and "Disable all" to User Filter selection options
[Added] A warning about moving the certificate to the system store
[Added] A permanent notification when HAR, pcap or "record everything" logging level is enabled
[Changed] User is now asked for confirmation before importing the settings file
[Changed] HTTPS filtering warning is not showed anymore on Android 7+ when the certificate is in the system store
[Changed] “Update available” notification made permanent
[Fixed] App UI is distorted in Arabic
[Fixed] AdGuard Notification Separator/Dot Size Issue on Samsung
[Fixed] User login/password is missing from the HTTP proxy settings
[Fixed] Wi-Fi icon disappearing when AdGuard is restarted

Other
[Added] An option to renice the AG process priority
[Added] A new parameter for web reporting tool integration
[Changed] adguard.com/forward is now used for the website links
[Changed] Amazon AppStore build got rid of
[Changed] The way conflicting apps are being detected has been changed
[Changed] Translations moved from Spanish [es-ES] to Spanish [es] locale
[Fixed] AdGuard can't detect when certificate was removed using Android settings
[Fixed] AdGuard crashes when launching Assistant on Android 4.2.2
[Fixed] Can't export User Filter on Android 8.1.0
[Fixed] Some rules in the User filter keep working after being disabled
[Fixed] Error while importing settings
[Fixed] Slow initialization of Magisk upon the device boot on Samsung S9
[Fixed] Moving the certificate does not work with Magisk
[Fixed] Moving the certificate to the system store does not work on some devices
[Fixed] NullPointer exception in the onTrafficChanged method
[Fixed] T-Mobile counts traffic as Tethering when VPN is active
[Fixed] The AdGuard app is filtered in the manual proxy mode
[Fixed] AdGuard process kills itself unexpectedly
[Improved] Battery stats are counted properly now
Another small fix and a new release candidate is ready!

[Fixed] An option to enforce HTTPS filtering for a Nougat-targeting app
This is the second beta version of AdGuard for Android v2.11. This time, it is almost exclusively devoted to various bug fixing, so nothing to write home about. We promise to include more interesting stuff in the next beta!

Ad blocking

[Added] YousList to the list of available filters
[Changed] ExtendedCss has been updated to v1.10

Networking

[Fixed] AdGuard exposes an open port
[Fixed] DNS proxy server is now restarted on network change regardless of whether VPN reconfiguration is enabled or not
[Fixed] VPN reconfiguration has been disabled by default on Samsung + Oreo
[Fixed] Due to IPv6 filtering in proxy mode Facebook believes that IPv6 is accessible
[Fixed] IPv6 connectivity is not enabled on protection stop if 'pref.proxy.block.ipv6' is enabled
[Fixed] Error building the VPN tunnel on the network change on Huawei Mate 10
[Fixed] Ipv6 address lookup error
[Fixed] Using DNSCrypt in AdGuard blocks internet connection

UI

[Changed] Notification action text color
[Changed] HTTPS filtering lists have been divided into pre-defined and user-defined
[Fixed] Filtering log fails to refresh after being cleared
[Fixed] Pause/Assistant buttons' look on Xiaomi
[Improved] IconCache now handles non-bitmap icons

Other

[Changed] AdGuard DNS over IPv6 has been added to the list of regular DNS servers
[Changed] Level3 has been removed from the list of available DNS servers
[Fixed] Invalid file types can be imported into the UF
[Fixed] AdGuard does not restart automatically after OpenVPN is disabled
[Fixed] "Remove certificate" works incorrectly without root
[Fixed] AdGuard won't start on boot on some Oreo devices
[Fixed] Autopause does not work when there's no internet connection
[Fixed] "Move certificate to system store" doesn’t work
[Fixed] Crash while exporting the log file
[Fixed] Google Backup does not work on Wi-Fi in VPN mode
[Fixed] It takes too long to stop a local server in the manual proxy mode
[Fixed] No HTTPS filtering status flag in reports
[Fixed] Wi-Fi calling doesn't work with T-Mobile
[Fixed] AdGuard stops working when its language is set to Arabic
[Fixed] Compatibility issues
Hi everyone!

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

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! :)

Ad blocking

[Fixed] Added support for `$network` exceptions rules
[Changed] "ExtendedCss" module has been upgraded to v1.0.9

Networking

[Changed] Auto-proxy is reconfigured now on network state change
[Changed] OpenNIC server address has been updated
[Changed] `NXDOMAIN` answer (domain does not exist) is now used instead of `127.0.0.1`
[Fixed] AdGuard is not capturing the mobile data usage correctly
[Fixed] App traffic is blocked on Android 4.x even when it should not be filtered at all
[Fixed] Manual VPN connections crash when AG is enabled
[Fixed] Error on VPN reconfiguration: failed to bind TUN pcb
[Fixed] IPv6 filtering does not work on Oreo 8.1 + Magisk
[Fixed] Firewall temporary allowance notification is not displayed #966

UI

[Changed] 2017 to 2018
[Changed] "Blocked ads" and "blocked trackers" have been separated in the app stats
[Changed] "Ad blocking" is now grayed out setting in per-apps settings if "Block ads in apps" is disabled
[Fixed] Certificate state styles in HTTPS filtering settings
[Fixed] Filtering log search issues
[Fixed] Current language is displayed as the default language, instead of the system language
[Fixed] Visual glitch with Amazon version activation

Other

[Added] Integration with reporting web tool

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.

[Added] New localizations — Spanish (Latin), Danish, Arabic
[Fixed] Beta build doesn’t have "beta" update channel by default
[Fixed] While app is in Russian, preview opens an EN version of Knowledgebase article instead of RU
[Fixed] FAQ articles are not accessible when AdGuard is switched to Japanese
[Fixed] First line of imported user filter rules is always interpreted as an actual rule
[Fixed] Disabling net access for Android OS does not work
[Fixed] Compatibility issues
Several more semi-urgent fixes have been made in this release candidate, along with a couple of QoL changes.

[Added] Separate Wi-Fi/Mobile stats

A self-explanatory one. 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

Other

[Added] Danish Adblock list filter
[Changed] Translations for 'Advanced settings' screen have been updated
[Fixed] Protection is restarted when you open HTTPS filtering menu
[Fixed] Compatibility issues
This build brings a fix for the important issue with Wakelock and also a change to App management screen, mobile and Wi-Fi traffic counters are separated now.

[Fixed] Wakelock (caused by GCM_RECONNECT) prevents devices from sleeping
[Added] Separate Wi-Fi/Mobile stats

Other

[Changed] Update Russian translations for 'Advanced settings' screen
[Fixed] Compatibility fixes
A small update (release candidate) that fixes one major and a couple of minor bugs.

[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 persistance of VPN connection despite the disabled protection.

[Fixed] bccard.com, local.gosi.go.kr are not accessible with the HTTPS filtering enabled
[Fixed] Alisa is broken in Yandex.Browser alpha
This is a small update which has fixed minor issues.

[Fixed] Moscow subway Wi-Fi cannot work with DNS filtering enabled
[Fixed] Certificate detection issue
[Fixed] Disabling internet access for Android OS does not work
Despite the relative proximity to the last AdGuard for Android release, we are ready to present the first beta already. We have discovered a rather pesky bug that causes automatic proxy to start very slowly on rooted devices — it required an immediate fix. Of course, a bunch of other less important changes were made along the way.

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 network access for Android OS does not work

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 for total data transferred
[Fixed] Protection restarts when exporting settings

Other

[Changed] Japanese translation
[Changed] Traditional Chinese translation
[Changed] Compatibility fixes
[Fixed] The header is not written after the HAR file rollover
[Fixed] AG doesn’t request `write_external_storage` permission in runtime when it's required
[Fixed] Proxy mode with Magisk 14.2 takes 2+ minutes to enable
Just few more fixes for the upcoming release.

Network

[Added] Opera browser now targets SDK level 25 and does not trust user certificates
[Fixed] Iptables redirect doesn't work for ipv6

UI

[Fixed] "Block ads in all apps" is not checked after you activate the license key
The previous build needed a little bit more bug fixing and polishing and here's our renewed release candidate. If everything goes smoothly expect the release tomorrow.

### Networking
[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

### UI
[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

### Other
[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
[Changed] Add AdGuard version to both settings and logs export files
Important update notice:

Unfortunately, there is an issue with an update from the previous beta on Android 4 and Android 5 devices. If Adguard crashes after you try to install the update, please download the .apk file of the new beta here: https://www.adguard.com/apkb and update manually. 2.10.56 is the only version affected by this bug.


We are approaching the v2.10 release by creating this release candidate. Hopefully, it will be the last as well, but should any unnoticed bugs surface, another one will follow it. Anyway, here the major addition is the Battery usage stats screen. What it is, and why it was added is described right below. Aside from that, several minor UI changes and improvements to app's stability.

[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.

AdGuard battery usage
Inside you will find a chart that shows the AdGuard battery resourse 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.

Ad blocking

[Added] /deep/ and ::shadow selectors support

Networking

[Changed] AdGuard now can handle compressed responses when downloading filters
[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
[Improved] The iptables rules have been reworked

UI

[Added] Export/import of all profile's settings
[Added] An annotation to "Google Play services" app details
[Added] Custom DNS ports support
[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] 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

Other

[Added] AdGuard has been added to Google's apps backup
[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
[Changed] .apk file has been removed from the app cache after the update
[Changed] Compatibility fixes
[Changed] HTTPS exclusions have been updated
When we added new functions of custom DNS and proxy settings in the last beta, we, of course, expected that there will be at least some minor bugs or other things we had missed. In this new beta, we address them and even add some new stuff, like the option to export logs and system info into an archive. Details below, as usual.

[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.


Adblocking

[Fixed] Native stack is not properly closed sometimes when AdGuard is auto-restarted
[Fixed] AdGuard does not resume protection occasionally
[Changed] Optimize DNS filtering statistics write

Networking

[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

UI

[Added] Export logs and system info
[Added] Trim string when user enters new domain or rule into Whitelist/User filter
[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
[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+

Other

[Added] "Request trial" should require an email
[Added] Add an annotation to "Google Play services" app details
[Changed] Increase the trimming limit we use for request URLs
[Changed] Beta build should have "beta" update channel by default
[Compatibility] HTTPS exclusions have been updated
The time has come to publish a fresh update of AdGuard for Android!
It brings quite a lot of fixes and also new exciting functionality: outbound proxy settings, DNS settings (including DNSCrypt) and more.

All these and other notable changes are described below in details:

[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!).

Adblocking

[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.

[Fixed] Unknown rule options
[Fixed] Allow multiple filters to be enabled as language-specific at once
[Added] Add support for browsers cloned by the "App Cloner
[Added] Add EasyList Lithuanian filter
[Changed] Upgrade "ExtendedCss" module to v1.0.8

Networking

[Fixed] Iptables redirect doesn't work for IPv6

IPv6 traffic is now routed through proxy when automatic proxy filtering mode is selected. Only works for Android 5.1 and higher.

[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
[Changed] Add new filtered ports

UI

[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
[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

Other

[Fixed] Don't ask for root access when crashed
[Fixed] Missed separator in filtering log between ads= and domain name
[Compatibility] Add Код Доступа Mail.Ru app to HTTPS exceptions
[Compatibility] Add Simple Bank app to HTTPS exclusions
[Compatibility] AG should be disabled for Nextbit Smart Storage by default
[Compatibility] Wi-Fi calling Verizon issue
[Compatibility] Custom DNS might not work in some circumstances
[Compatibility] nh.smart.nhallonepay - https filtering issue

Known issues
[Bug] No internet connection when DNScrypt and 'record everything' logging level are enabled
The last release candidate turned out to have a rather obnoxious bug: a crash while updating from beta v2.9.111 to v2.9.133 on Android 7 and Android O. The new update is a hotfix addressing this issue.

If you have trouble updating, please download the new version manually.

Note: there will be one more update later today. It will effectively carry no new changes: we need to test if the self-updater was actually resolved in v2.9.134 and the only way to test it is to release one more update.

[Fixed] Update fails on Android 7 and Android O #1308
Another update for the Android version featuring the rework of the User filter and other secondary changes and fixes. This build will become the new release version if everything goes as planned.

[Improved] The user filter has been reworked

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.

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

[Changed] The way we handle rules with $empty modifier
[Fixed] $network modifier doesn't work
[Fixed] Firefox nightly 64-bit is not recognized as a browser

Networking

[Changed] HTTPS is not filtered any more for Nougat targeted apps without `network_security_config`
[Fixed] Android O compatibility issues
[Fixed] VPN + IPv6 issue on Android 4.4.2
[Fixed] IPv4 mapped addresses bypass VPN
[Fixed] Reconfiguring iptables on package add/replace leads to no internet
[Fixed] App preview does not work

UI

[Fixed] Crash on network type changes
[Fixed] User filter import doesn't work on Nexus 9
[Improved] Localizations has been updated

Other

[Changed] Yuzu browser has been added to the list of browsers filtered by default
[Fixed] Multiple compatibility issues
This is a hotfix for the beta-version 2.9.110, addressing critical errors.

Changelog for beta v2.9.111: this is the first beta after the v2.9 release, we've fixed some networking issues and improved ad blocking.

Ad Blocking

[Added] Juvander's Adblock List
[Changed] The range of the $$ rules was increased
[Changed] Minor memory optimizations
[Fixed] CPU overuse issue caused by constant requests to a tracking server
[Fixed] Rules constructor ignores referer

Networking

[Changed] The HTTPS exclusions list has been updated
[Fixed] Nougat auto-pause issue
[Fixed] SHA-1 intermediate issue
[Fixed] Adguard does not filter HTTPS connection with TLS 1.0 servers
[Fixed] The first packet of a connection processing delay
[Improved] Session resumption was implemented using session IDs

UI

[Added] Portuguese (PT) and Persian language support
[Changed] Subscription status description wording
[Fixed] Typos and punctuation mistakes
[Fixed] Filtering Log toolbar layout

Other

[Improved] Logging in case of a critical error
Just one more release candidate, we promise! It features a new addition to advanced settings.

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

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.
This is a (presumably) a very last release candidate, just to double-check everything before the tomorrow's release. It has close to no changes whatsoever.
A couple of bugs addressed in the previous RC turned out to not be fixed completely. This version tidies it up.

If the new version won't install, please clear the Adguard cache on the memory card.

[Fixed] Notification delay problem for Google services
[Fixed] The `pref.vpn.disable.pause` setting is ignored
This RC contains the finishing touches before the imminent v2.9 release: new French filter, updated translations, and some minor bugfixes.

[Added] Adguard French filter
[Changed] Translations were updated
[Fixed] Disabling auto-pause on Android Nougat may cause a significant slowdown
[Fixed] Amazon license check hangs while doing the background check
[Fixed] Bugs on Android 4.0.3-4.0.4
[Fixed] Crash while updating Adguard
[Fixed] Compatibility issues
As we prepare for the official release of v2.9, here's a release candidate with fixes to some, mostly minor, bugs. If all goes well, this version will become Adguard 2.9.

[Changed] Updated default HTTPS exclusions list
[Changed] Locale-specific number format is used now on the main screen
[Fixed] "Android OS" cannot be found in the "Apps Management" section
[Fixed] Amazon license check hangs while doing the background check
[Fixed] 'Learn more' button link resolves to an undefined page
[Fixed] An attempt to get a license from within the app makes Adguard crash when there's no browser installed
This beta is nowhere near as rich of the new features as some of the latest releases, but it considerably improves the app's performance, speeds up many of the processes and fixes several bugs.

Networking

[Fixed] HTTPS filtering in Nougat-targeted apps
[Improved] Active proxy connections closing time is reduced
[Imporved] AG styles are protected from disabling now

UI

[Changed] 'Removed apps' package icons now appear inactive in the apps list
[Fixed] Incorrect protection status is shown in side menu
[Fixed] FAQ UI is broken on Android 5.1.1 when you highlight the text
[Fixed] The quick settings tile doesn't highlight/shade when you toggle the protection
[Improved] 'App details' activity is sped up considerably

Other

[Fixed] Compatibility issues
[Fixed] Crash on the app update
[Improved] UDP connections handling reworked
A follow-up to the recent beta, fixing one major issue and addressing several other bugs, including filtering log-related ones.

[Fixed] Adguard breaks GCM notifications

Google Cloud Messaging (GCM) is a service that enables developers to send messages between servers and client apps. It is required to inform a client app that there is new data to be fetched from the server. The bottom line is, it is crucial for many apps to operate normally.

The latest Adguard beta introduced a new `pref.filtered.ports` feature, which turned out to mess up with GCM, affecting a serious number of apps like Gmail, Whatsapp, Telegram etc. Here we fix this problem by changing the default filtered ports and ceasing the HTTPS decryption for ports different from 443.

### Other

[Changed] Filtering log issues
[Fixed] Cannot send MMS when Adguard is in Proxy+Auto filtering mode
[Fixed] VpnService.prepare crashes due to XPosed module
[Fixed] $replace rules aren't applied to .m3u8 files content
]Fixed] Filtering log crash
[Fixed] Filtering log creates an incorrect rule for unblocking requests on some devices
[Fixed] Compatibility issues
[Improved] Navigation drawer is now accessible from any activity
Many (or at least some) of you remember the release of Adguard 2.5 almost a year ago, and how huge it was. It brought HTTPS filtering, UI changes, new localizations and much more. There has been nothing close to it ever since in terms of the amount and impact of changes. Obviously, the next big one was meant to be Adguard v3.0, but we feel like it is still going to take a while to release it, so we might as well implement some of the new features right away.

[Improved] New app navigation system

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

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 what their apps do?". We completely ignored 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
[Added] Support for exception rules
[Changed] The behavior of the third-party modifier
[Changed] Websites cache is now suppressed after filters change
[Fixed] Regular expressions with $ symbol aren't processed properly

### Networking

[Added] An option to not filter HTTPS on websites with "Extended Validation" certificate

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):

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.

### UI

[Added] Bulk change functionality for the Apps Management section

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.

[Changed] Aggregate all removed apps stats in one item
[Changed] "Blocked" pages markup was updated
[Changed] "Notification without icon" mode is made default for "Notification icon" setting
[Fixed] Data stats are shown for Adguard app in Apps Management
[Improved] `pref.filtered.ports` setting now can understand port ranges

### Other

[Added] "Watchdog period" advanced setting

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] Hungarian filter
[Added] ABVPN filter
[Changed] 'Update only over WiFi' option is grayed out when automatic filters update is disabled
[Fixed] Compatibility issues
[Fixed] 'Filters autoupdate period' graying out bug
[Fixed] Premium license expiration notification is shown after the first installation
Looking forward to Adguard v2.8, today we push out a release candidate. A couple of leftover bugs were fixed, several other changes and improvements were made.

[Changed] Some localizations were updated
[Changed] YuBrowser and Brave browser added to the browser list
[Fixed] $app modifier is ignored when HTML content is being filtered
[Fixed] HTML filtering rules with wildcard attribute can not be parsed
[Improved] HTTPS is now used for safebrowsing service requests
[Improved] Adguard styles are now protected from removal

### Compatibility issues

* Puffin browser
* Citi Mobile®
* Samsung Theme store
Hello! Supposedly, this is the last beta version before v2.8 release. We bring some new toys for advanced users and, as usual, more compatibility fixes.

### Ad Blocking

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

This option will allow rooted users to automate removing Youtube app data, which appears to be crucial for blocking ads in it.

[Fixed] Adguard does not filter HTTPS in Youtube
[Fixed] $replace modifier breaks content charset

### Networking

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

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.

### Other issues

[Fixed] 'Filter autoupdate period' is now item inactive when 'Autoupdate filters' option is disabled
[Fixed] No 4G connection after WiFi is disabled
[Fixed] Divider between 'Autoupdate filters' and 'Filters autoupdate period' is displaced on some devices
[Fixed] System apps are not listed in Apps management section
[Fixed] Different stats on the main screen and inside of 'Apps Management'
[Fixed] Adguard app is "disabled" in Apps Management, but some data stats for it can be seen
[Fixed] Adguard crashes when you enter value of invalid type in low-level settings
[Fixed] $empty modifier and access-control-allow-origin header

### Compatibility issues

* AquaMail
* ua.novaposhtaa
* kde.kdeconnect_tp
* ru.beeline.services
* Dunkin' Donuts App
* Chrome Canary
Hello! This beta has a little bit of everything - some new additions (like DNS filter and $important modifier), some compatibility and other fixes, as well as some quality of life improvements (e.g. you can now customize update check period for filters).

### Ad Blocking

[Added] Adguard DNS filter

Fresh addition to the Adguard filters family. Adguard DNS 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 this page.

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

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] $important modifier
[Added] A new low-level setting: "pref.boot.startup.delay"
[Changed] Armorfly Browser added to the list of browsers filtered by default
[Improved] Users are now allowed to select filters update check period

### Networking

[Changed] New server is now used for filters
[Changed] The way Adguard blocks IPv6
[Changed] WoSign and StartCom certificates are now distrusted
[Fixed] "Operation not permitted" error while processing UDP connection
[Fixed] Crash due to "Too many open files" error
[Fixed] ENOBUFS error while writing to the TUN
[Fixed] SOCKS 5 proxy blocks internet traffic

### UI

[Changed] System packages list is added to the "Tech info" section of "Android OS" details screen
[Fixed] Unnecessary exception is logged
[Fixed] Turkish translation errors

### Compatibility issues

Crunchyroll app
TSB's Mobile Banking app
PopkonTV app
Raumfeld app
Raiffeisen mobile apps
mstoo.asiae.co.kr
newstube.ru
ru.yota.android
New beta features few bugfixes, but is rather about various quality of life improvements.

### Ad Blocking

[Added] Latvian filter list
[Added] List-KR filter list
[Fixed] $replace rules can now be applied along with other filtering rules
[Improved] Upgraded "ExtendedCSS" module

### Networking

[Fixed] Error processing HTTP/2 requests
[Fixed] HTTPS connections with some upstream HTTP proxy
[Changed] Updated default SSL whitelist
[Changed] Protection is now paused automatically when Bluetooth tethering is detected

### UI

[Added] A low level switch to enforce "protection paused" notification to be visible even when notification icon mode is set to 'None'
[Changed] IME (typing) mode for adding/importing custom rules dialogs
[Changed] Filtering methods explanations were updated

### Compatibility issues fixed:

Megafon-Bank
Rozetka
Google Trips
Sofascore
Anews
Updato
Hello! This beta ends our 2-months 'break'. But we were not sitting on our hands - just look at the changelog. A lot of new additions and fixes to old bugs. Notably, we added the support for extended CSS. Why is it so important? If you use Adguard for Windows, you should already know. Otherwise, just read the release notes.

### Ad Blocking

[Added] Support for Extended CSS and Extended Selectors

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] 'pref.filtered.ports' added to low level settings - advanced users can now add new ports to filter
[Added] $websocket content type modifier - it will enable to use rules written exclusively for WebSocket connections
[Added] $important rule modifier
[Fixed] Inconsistent behavior of $image rule modifier
[Improved] Increased content filtering rules maximum length limit
[Improved] HAR file writer, which is used for debugging purposes
[Improved] QUIC-connections blocking for the Chrome browser

### UI

[Added] 'Installation date' to the app details screen
[Added] A Quick Settings tile for Android N and up
[Changed] Apps Management screen is automatically updated when new app is installed - no need to restart Adguard anymore
[Changed] 'Apps and Statistics' section renamed to 'Apps Management' and brought to the main menu
[Fixed] Time format on main screen now follows system settings
[Improved] Filter editor now recognizes lines starting with "!" as commentaries in user-imported filters

### Networking

[Added] VPN restart feature
[Changed] IPv4 connections now have priority over IPv6 connections
[Fixed] Wi-Fi calling for AT&T
[Fixed] Issue with traffic slipping through firewall
[Improved] Adguard automatically detects when Adguard's certificate is moved to system certificate storage (Helps with https filtering in Android N+)

### Minor

[Changed] Pyrope browser added to the list of browsers filtered by default
[Changed] 'com.opera.browser.extension' added to the list of browsers filtered by default
[Fixed] example.comole="main"]:style(display: none;) rule now converts correctly

### Compatibility issues fixed:

* SoundHound
* Skype
* Google Allo
* ru.yota.android
* Roboform
* Yandex Mail
* Bria
* Apple Music
* Google Duo
* SwiftKey
* Panda Antivirus
* se.feomedia.quizkampen.ru.lite
Last release candidate showed several non-critical bugs, which, however, had to be eliminated before the release. We hope this RC will fix all the existing bugs and will not bring any new ones.

### Changelog

[Changed] com.samsung.syncservice added to exceptions
[Fixed] A notification about expiring license
[Fixed] Ad blocking interferes with videos in Mail.ru news app
Following the Monday's beta version, today we publish a release candidate. Hopefully, it goes smoothly and will become Adguard 2.7 next week.

[Changed] Allowed DNS requests for root user
[Changed] Disabled vibration for Adguard notifications
[Fixed] Disabling filtering for "Android OS" now fully excludes OS packages from the VPN
[Fixed] Idealo app compatibility issue
[Fixed] Upload doesn't work for Yandex Disk
[Fixed] ENOBUFS (no buffer space available) error
[Fixed] SSL whitelist no more can be applied to random domains
In this beta we offer a lot of fixes and changes. More than other aspects, UI and compatibility issues were addressed.

### UI

A lot of UI changes in this beta. Among them is a long-awaited possibility to import user filter from a local file, new localizations and many 'quality of life' improvements.

[Added] An option to browse for a file to import user filter
[Added] A notification to inform user of expiring license
[Added] New localizations: Slovak & Norwegian Bokmål
[Changed] Made some other UI enhancements
[Changed] Adguard now counts DNS traffic towards a special "virtual" package named "DNS"
[Fixed] An issue with Samsung's buggy firmware (messed notification sounds)
[Improved] Apps and Statistics interface
[Improved] Premium features description
[Improved] UI accessibility for a visually impaired users

### Networking

[Added] An option to disable network connectivity when the screen is off

There was already an option to disable network access for any app when the screen is off. What is important about this update, now not only new connections are not allowed when this option is enabled, but also all existing connections are terminated when the screen goes off.

[Fixed] An issue when allowed apps couldn't connect when DNS was blocked
[Fixed] A bug with new application permissions
[Fixed] Resolved shadowing of our Apache commons classes by old versions shipped in Android
[Improved] All our requests are now more secure with SSL/TLS

### Ad Blocking

[Added] RoList filter to the list of supported filters
[Improved] Added support for the :style pseudo class syntax
[Improved] Modified $empty modificator behavior to improve filtering

### Install/Update

[Added] Automatic protection restart after Adguard update
[Fixed] Self killing on update

### Compatibility

Following apps were added to exclusions:

- Waze app
- Prisma app
- Grindr app
- Several banking apps
- Romeo Uncut app
- SwiftKey app
- S Voice app
- Goes app
- NU.nl app
- Coursera app
- Astana Bank app
- Google Now app
- Yandex Navigator app
- Heetch app
- TomTom Go Mobile

Following compatibility issues were fixed:

- Samsung Battery Saving mode
- HTC battery optimization
- Sync for Reddit app
- Cortana voice app
- Lazada app
- Smart appointments in Google Calendar

### Minor

[Changed] Gello browser added to the list of browsers filtered by default
[Changed] Opera Labs browser added to the list of browsers filtered by default
[Fixed] Crash after resetting firewall settings
Urgent fix for v2.7.151. There was a bug breaking ad blocking in browsers for all non-premium users.

Also there are some minor changes besides fix of that bug.
[Added] Slovak language
[Fixed] Resetting firewall settings to default leads to constant crashes
This beta comes with several noticeable changes like new $app modifier or Firewall screen redesign. Find the details below.

### UI

[Added] 'Apps & Statistics' settings section

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.
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 :)

[Changed] Instead of stopping protection on settings change, show a toast message
[Changed] When user changes default firewall settings, ask him if he wants to reset per-app settings
[Changed] Show notification when VPN is revoked
[Fixed] Adguard closes if you swipe it with 'No icon' notification setting

### Ad Blocking

[Added] $app modifier

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

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.

[Improved] Increase content filtering rules maximum length limit

### 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.

[Changed] Mountainview and Itau added to https exclusions
[Changed] com.yik.yak app added to https exclusions
[Changed] Box app added to https exclusions
[Changed] Amazon apps added to https exclusions
[Changed] com.jet.jet.app is broken with https filtering
[Fixed] MeetMe compatibility issue
[Fixed] Moovit app is not compatible with https filtering
One more release candidate before the new version release.

## Changelog

[Fixed] Not starting of VPN service on quick network change #636
[Fixed] Reworked a fix of #527
Hopefully the last release candidate. If nothing critical happens, this version will become the actual release next week.

## Changelog

[Fixed] Do not start VPN when another VPN is in use: #527
[Fixed] Firewall temporary unblock notification is shown every minute: #251
This version is a release candidate for Adguard v2.6. Here is what's new in this version.

#### Ad Blocking

[Added] Korean Adblock list
[Added] Fanboy's Swedish filter
[Added] Fanboy's Vietnamese filter
[Added] LastPass app added to the browsers list

#### UI

[Added] Default language is now "System" (just uses the system language even if you change it)
[Fixed] An issue with Adguard shortcut opening app UI

#### Compatibility

[Fixed] Aliexpress
[Fixed] Yandex Navi and Maps
[Fixed] Wire
[Fixed] Sberbank and manual proxy mode
[Fixed] Adwords app

#### Other

[Fixed] Limit the number of license check requests
[Fixed] HTC devices power saving mode
### Here’s what’s new in this beta version

#### Ad Blocking

[Added] Annoyances filter

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

[Fixed] Improved ad blocking in Youtube app
[Fixed] Adguard fails to detect HTML on some websites

#### Networking

[Added] New low-level setting allowing to block IPv6 traffic in Proxy+Auto filtering mode
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.

[Changed] Updated default https exclusions list (almost 1k domains there now)

[Fixed] Wi-Fi calling in UK EE network does not function if Adguard is active
[Fixed] No HTTPS filtering of Google domains in Chrome browser

#### UI

[Added] Added Adguard shortcut for fast enabling or disabling Adguard
[Changed] 1-place widget appearance

#### Compatibility

[Fixed] Outlook mobile app
[Fixed] Openbank
[Fixed] Samsung Theme Store
[Fixed] SimpleNote sync
[Fixed] Wawa
[Fixed] Yelp (cannot complete a transaction)

#### Other changes

[Fixed] Samsung Battery saving feature interferes with Adguard
[Fixed] HTC battery optimization mode interferes with Adguard
[Fixed] License key can be found in the log file
This beta version brings a number of very important changes to Adguard. Along with the new features, this build contains fixes for some major bugs (like no ad blocking in Youtube on Android N). Attention: we did not test this build on x86, so if you experience any troubles or crashes, please report to us.

Here’s what’s new in v2.6.23 beta

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)". I am very excited to announce, that today 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 (https://www.privateinternetaccess.com/) user, you now can setup Adguard to use their SOCKS5 proxy. Learn more about it here: https://www.privateinternetaccess.com/pages/client-support (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 (https://play.google.com/store/apps/details?id=org.torproject.android).
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 the only way to use proxy when you are on mobile data. Android just does not provide such possibility.

HTTPS filtering performance: #501

One more 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 increased in 5-10 times!

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 DNS servers addresses (one per line).

Other important changes

UI

[Added] Show warning when user tries to set notification icon to "None": #497
[Fixed] Tethering "conflict" notification is shown every time: #503
[Fixed] Change statistics detalization for low-res devices: #525
[Fixed] Dialog windows width: #557
[Fixed] Accessibility problem for a visually impaired users: #519

Networking

[Added] Low level switch for AG to dump HTTP/HTTPS content to a file: #502
[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] (Play music issue) some apps repeat ad requests every second: #511
[Fixed] HTTPS filtering does not work for Google domains (Android N): #486
[Fixed] Error generating certificate for certificates w/o alternative name: #548

Compatibility

[Fixed] PrivatBank: #567
[Fixed] Angry Birds Friends: #546
[Fixed] HERE Maps: #530
[Fixed] FarPost Кино: #529
We are now very close to v2.5 release. Almost all of major issues were resolved in this beta version.

However, this release brings a very important change to HTTPS filtering. Now Adguard does not establish unnecessary remote encrypted connections until we are sure that this connection should not be blocked. Sounds good, but we have to make sure it works good enough.

### UI

[Added] Add Bulgarian language
[Changed] New material icon
[Changed] (minor) Improved statistics detalization
[Changed] Return "Rate App" button to "About" view in Amazon build
[Fixed] Low level settings: selected text background is the same as text color

### HTTPS filtering

[Changed] Adguard now does not establish unnecessary encrypted connections
[Changed] Clear expired domain certificates
[Fixed] Handle incomplete certificate chains properly
[Fixed] Entering HTTPS filtering settings section turns off AG protection
[Fixed] An issue with HTTPS filtering in manual proxy mode

### Ad Blocking

[Added] Estonian filter
[Changed] Optimized filtering speed
[Fixed] Adguard does not filter "application/xhtml" pages
[Fixed] Parser builds wrong absolute URL

### Compatibility with HTTPS filtering

[Fixed] Gas Buddy
[Fixed] Snapchat
[Fixed] Musically
[Fixed] Yandex Drive
[Fixed] Whisper
[Fixed] Payoneer
[Fixed] Amex Mobile

### Compatibility

[Fixed] Nekto Me app

### Other bugs and changes

[Added] Apus Browser support
[Changed] Make HTTPS whitelist, blacklist and apps exceptions available in "Low level settings" so you can easily reset it to default
[Fixed] Correct HTTPS filtering description in-app
[Fixed] Unexpected app crash Context.getApplicationContext
[Fixed] Unexpected app crash PhoneWindow$DecorView
[Fixed] Crash when user clicks on "Alternative certificate install" button
[Fixed] Crash in HTTPS filtering settings
Three weeks have passed since our last major beta release. A lot of important bugs were found, big thanks to all beta testers! We are finally ready to publish a new beta version fixing almost everything found.

### New features and important changes

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

### Ad Blocking

[Added] "Anti-Adblock Killer | Reek" filter
[Added] Polish cookies filter
[Added] Persian/Farsi list
[Added] Finnish filter
[Added] Greek AdBlock filter
[Added] Bulgarian filter
[Added] $replace modifier for basic rules
[Changed] $popup rules should be applied to "redirect" responses

### HTTPS filtering

[Changed] Store domain certificates cache in the app data instead of cache
[Added] Adguard now provides an alternative way for HTTPs certificate installation
[Fixed] Crash on certificate installation


### Compatibility with HTTPS filtering

[Fixed] Facebook lite
[Fixed] Uber
[Fixed] Gas Buddy
[Fixed] SongPop 2
[Fixed] Dailymotion
[Fixed] Sticky Password
[Fixed] Yandex Drive
[Fixed] Yandex Mail
[Fixed] Google Plus

### Compatibility

[Added] Sleipnir Mobile added to the browsers list
[Added] VIA browser added to the browsers list
[Fixed] Nimbus Note app sync issue
[Fixed] Compatibility issue with Zoiper and CSipSimple apps
[Fixed] Some banking apps were added to exceptions list
[Fixed] IP Cam Viewer Pro stream blocked
[Fixed] LiveJournal app broken by ad filtering
[Fixed] Issue with SK Telecom's SMS and MMS app

### Other bugs and changes

[Added] Add support for HTTP method REPORT
[Changed] Use Origin as Referer for websocket connections
[Fixed] Infinite loop in manual proxy mode
[Fixed] Website can be broken because of invalid HTML inside a "noscript" tag
[Fixed] Adguard ignores <base> tag href attribute while constructing an absolute URL
[Fixed] Adguard cannot detect HTML if there is an xml declaration at the document start
[Fixed] Error while sending feedback message
[Fixed] Glitch with swiping Adguard from the recent apps
[Fixed] Error while opening about.com
[Fixed] HTML parser should not filter "data:" URLs
This beta release of Adguard for Android is a real milestone. We finally add long-awaited HTTPS filtering! This is a 'bomb' of this beta release, but we have some less important fixes and changes as well.

#### HTTPS filtering

Previously quite a bit of ads were missed by Adguard, specifically those that used HTTPS protocol to load - simply because Adguard couldn't filter HTTPS traffic.

Now these days are over. To enable HTTPS filtering, go to Adguard settings -> HTTPS filtering. Put checkmark besides 'Install certificate' to install certificate, then enable 'Filter HTTPS connections' and you are good to go.

Unfortunately, such power doesn't come with no price; there are few minor drawbacks. First, you will need to set a password or a lockscreen pattern. This is a system requirement with no workarounds. Second, 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.

Worth mentioning that if you have root access, you can manually add to and remove our certificate from System certificates storage. You can learn more about it in #334 (but please read all comments there).

Last but not least we would like to talk about different modes we have for new feature. Two major modes it has are 'Filter only blacklist' and 'Filter all domains except for whitelist'. In first mode, Adguard will filter HTTPS connections to the domains from the blacklist only. In the second mode, all HTTPS connections to all domains will be filtered, except for domains from the whitelist.

#### Blocking ads in Youtube app

We decided to mention this as a separate topic since it was one of, if not the most popular questions: why Adguard doesn't block ads in YouTube app? The answer was, because YouTube app uses HTTPS protocol to load ads, and Adguard wasn't able to filter HTTPS traffic. Now it can, and now these ads are blocked.

#### Languages and translations

[Added] Finnish language
[Added] Hungarian language
[Added] Chinese Traditional language

#### Compatibility issues

[Fixed] Fixed an issue with Telegram app
[Fixed] Fixed an issue with Yandex Navigator

#### Other changes

[Changed] Added RelayForReddit Pro to the list of browsers (you don't need premium to block ads in this app)
[Changed] Improved HTML content detection
[Fixed] AG code is injected into "noscript" tag
[Fixed] Error while parsing a style tag with embedded svg (lifehacker.com issue)
[Fixed] com.project.materialmessaging and com.osp.app.signin are added to exclusions
[Fixed] Issue with wrong stats calculated for apps listed in "pref.net.exclusions"
[Fixed] Wrong Firewall traffic stats
[Fixed] Fixed a bug with filtering of the apps from exceptions list
[Fixed] Add com.google.android.apps.adwords to exclusions
[Fixed] An issue with blocking POST requests and "keep-alive" HTTP connections
This version is a third release candidate for 2.1 Patch №2. It is very likely that this version will become the next release.

### Changelog

[Fixed] Critical error caused by slow write operations.
[Fixed] Random timeout error while downloading large files.
[Fixed] Adguard breaks WebSocket protocol.
[Fixed] Wildcard's "*" character does not match a new line.
[Fixed] Foreground check does not work in Android 5.1.1+.
[Fixed] Adguard shows permanent empty notification when notification icon is set to "None".
This version is a release candidate for 2.1 Patch №2.

### Network

[Fixed] "Filter DNS requests" feature does not work with mobile connection.

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 beta testers to try it.

### UI changes

[Changed] Change Mb to MB in firewall data statistics.
[Changed] "Protection paused" notification should not have high priority in Android 4.X.

### Minor changes

[Fixed] Wi-Fi direct does not work with Adguard on Samsung devices.
[Fixed] Always return status=500 for blocked requests.
### UI changes

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

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

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

### Minor changes

[Changed] Use keyboard settings to detect default language-specific filters
[Fixed] Tethering/hotspot is falsely detected (second try)
[Fixed] T-Mobile Wi-Fi calling issue
[Fixed] Error while sending feedback
[Fixed] Sites with Transfer-Encoding=chunked are broken in "Simplified" filtering mode
[Changed] Add Link Bubble Browser to the browsers list
[Changed] Improve release notes layout
### Major changes

[Added] Added popular filter subscriptions

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] Swedish language
[Added] Estonian language

### UI changes

[Changed] Add a description text for each filter

### Browsing Security

[Changed] Changed the way Adguard checks domain

### Ad blocking

[Added] $generichide modifier support
[Added] $genericblock modifier support
[Changed] Improved $popup rules
[Fixed] A bug with HTML filtering rules - void elements never removed
[Fixed] An issue with "base url"
[Fixed] Rules with $elemhide modifier now applied to "Documents" only

### VPN

[Changed] Adguard now checks if IP address is reachable before redirecting connection to a proxy
[Fixed] Crash when system call is interrupted

### Compatibility issues

[Fixed] Tethering/hotspot is falsely detected (MIUI, Zenfone2)
[Fixed] Fixed an issue with filtering Boat Browser and Dolphin Browser with add-ons installed
[Fixed] Viber app compatiblity issues
[Fixed] Added Firefox Nightly to the browsers list
[Fixed] Added RT Software Studio's Download Manager to the browsers list
[Fixed] Added Yandex Browser Alpha to the browsers list
[Fixed] Periscope app incompatibility
[Added] New low-level setting "pref.net.exclusions". Allows to change the list of apps for which network filtering is disabled
[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
Emergency fix:
Fixed an issue with closing connections, which led to an increased use of the battery.
According to preliminary data, the problem was on third-party firmware such as CyanogenMod.
Release candidate

* Multiple improvements in our TCP stack implementation
* 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
* 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 fix in UI of Send Feedback activity
One more urgent fix: version 2.1.212. Previous beta version had incorrect TCP retransmission implementation. It could break large files downloads.

Urgent update: version 2.1.195. It appears that previous beta didn't work with Android 4.4.
Fixed in this new update.

Changes in version 2.1.191:
* Fixed issues with downloading large files (including Google Play updates)
* Improved handling of TCP connections
* Added summary field to "Low level settings"
* Added "pref.vpn.capture" preference to Low Level Settings section
* Fixed an issue with applying "Low level preferences"
* Fixed an issue with DNS cache in manual proxy mode
* Icons cache moved to app cache
+ An option has been added to low-level configuration, which prohibits VPN pause when changing the network or disconnecting from it
* Fixed a mechanism for identifying modem and access point mode and showing a warning
* Now the notification about firewall blocking current app will hide when user allows it in firewall settings
* Updated German and Polish localizations
* Handcent Next SMS added to the exceptions
* Once again, changed the mechanism of protection restarting after network reconnection
* Fixed an issue when the firewall was turned off after a clean installation
* Fixed problem with appearance of a "critical error" when uploading files to the internet
* Fixed rare problem with automatic filter updates
* FarmVille 2 game was added to the exceptions
* Fixed an issue with firewall interface on small screens, yet again
* Fixed an issue with IPv6 network of AT&T operator, introduced in 2.0.139
+ 'Firewall' section added to settings, with an ability to disable it comletely.
+ Firewall: Added an ability to temporary pause blocking for foreground application
* Fixed an issue with collecting traffic statistics
* Fixed firewall interface on small screens
* Added Jbak Browser to default browser list
* Fixed application restart after deep sleep
* Chomp SMS added to exclusion list
* Fixed SMS issue in AT&T networks
* Added support for new browsers: Dolphin Zero, Ghostery, CM Private Browsing and more
* 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 critical error that led to Adguard restart
* Fixed authorization problem in the Moscow Metro
* Fixed several issues in the interface
* Fixed problem sending SMS/MMS in the AT&T network
+ Added low-level settings that can help with the work in non-standard networks and custom firmware
+ Added ability to reset the statistics
+ Added information in FAQ about DNS-filtering
* Fixed an error 194 in the Google Play
* Many fixes and improvements in the interface
* Added automatic statistics refresh in the Firewall screen
* Improved app details view in Firewall
* Significantly improved traffic statistics system
* Remarkably redesigned UDP and TCP connections handling, which led to the load reduction and increase of concurrent connections number in torrent clients like PopcornTime
* Improved restarting protection after reconnecting to the network
* Several improvements in the interface
* Switched to Material Design
* Added module for blocking advertising domains by DNS (can be found in advanced settings)
* Many small but important fixes
* Firewall interface rearranged to a separate window. Now launched from the main menu
* Fixed connection breaks when downloading large files
* Fixed Chinese Simplified localization
* Fixed an issue where sometimes Adguard widget stopped working
* Fixed problem with restoring the service after the pause
* Fixed an issue where apps tried to work on IPv6 in its absence (Google Play, Gmail, and others)

+ Added blocking of requests to Facebook advertising networks in all applications.
Important: we are afraid that this change may affect the integration with Facebook for some applications. Please pay attention to this during the testing.
+ Added options for update channel - Beta/Release
* Fixed sorting of apps in the firewall
* Fixed sending of SMS for T-Mobile users
* Fixed filter auto-update settings
* Vintera.tv app was added to the exceptions
* Added support for NoChromo browser
* Fixed problem with TCP-stack when downloading large files (in Google Play, etc.)
* Fixed saving of traffic statistics
* Roku app added to exceptions
* Fixed problems with an autostart of the app
* Use of system Intents to manage the service from other programs (Tasker, etc.) is now allowed
* Fixed problem with incorrect saving of ad filtering settings in the firewall
* Added an exception for new Opera Max, you can now use it with Adguard in proxy mode
* Fixed minor bugs in the interface
* Fixed widget functionality
* Several improvements in the interface
* Updated localizations
+ Added simplified filtering mode without cosmetic rules. It is useful for low-end devices
* Fixed bugs related to the application lifecycle
* Improved statistics system, now the data is stored and updated faster in the interface
* Added new icons for different application states
* Added saving the last url of imported user filter
* Added Polish, Armenian, Korean and Simplified Chinese localizations
* No more colored icon option in Lollipop
+ Added IPv6 filtering support
+ Added support for Chrome Dev browser
+ Added the statistics for the system and uninstalled applications
* Fixed an issue where the service couldn't start after a few stops by the system (often on the phone with little memory).
* Fixed bugs in the firewall interface
* Changed the firewall interface - we now have a nice and smooth list
* Fixed problem with sending MMS through the Verizon operator
* Fixed some minor errors
+ Implemented blocking of QUIC protocol in Google Chrome
* Fixed a rare problem with unsaved firewall rules
* Fixed a crash when opening the firewall detail page of applications with missing data
* Fixed saving and updating of traffic consumption statistics for applications
* Fixed automatic installation of blocking rules for freshly installed browsers
* Fixed crash when entering the Firewall section when an app was using a multilayered icon
* Fixed Firewall markup on devices with low resolution screen
* Fixed bug with saving app blocking rules, when you exit the program immediately after making changes
* Fixed app crash when sending a message to tech support
* Several minor but necessary fixes
+ Added the long-awaited firewall feature
Now it is possible to fully control the internet access of apps in different networks
+ Added app traffic monitoring system
You can monitor the consumption of app traffic in real time
+ Added the import function for rules user lists from a file
* Redesigned interface of users lists
* Improved blocking of TCP connections
  • Improved filtering speed of heavy HTML pages
  • Fixed compatibility issue with "Premium wallpapers HD" app
  • If the protection is disabled, Adguard service now turns off correctly after processing the network events
* Improved HTTPS filtering, now we can block skype ads
* Some minor memory usage optimizations
* 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)
* Optimized memory allocations on upload
* We now use better way to exclude some apps from VPN on Lollipop
* Fixed an issue with Android 4.3 and SGS3
* Fixed some minor compatibility issues
* Memory usage optimizations
* Filtering performance optimizations
* Fixed a bug with local network exclusion in previous beta version. Now local network is properly excluded on all devices.
* Added support of Habit browser and Yandex browser beta.
* 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.
* We've excluded local network from filtering in VPN mode. This should fix some compatibility issues: working with local FTP servers, Sonos, Amazon Fire TV, etc
* Fixed Adguard filtering in case of using proxy server with port 80
* Fixed UI issue when bandwidth saved value is more than 1GB
* Google Messenger app added to exclusions list
* Fixed major bug in the filtering engine
* Fixed Onavo Extend compatibility issue
* Fixed Google Play Music compatibility issue
* Fixed an issue with waiting for ROOT access on device boot
* Fixed an issue with domains with multiple A DNS-records
* Fixed a problem with the screen orientation on some devices
* Fixed handling of some filtering rules
* PAC Console and unofficial client for 4pda.ru added to exceptions
* Fixed a problem processing UDP protocol in local VPN mode (fixed Bleep messenger)
* Added support for Naked Browser
* Added an exception for some programs (Handcent SMS, etc.)
* Fixed processing of some apps that use certain TLS settings (Dropsync, etc.)
* Improved notification system and icon choosing
+ Tested and optimized for Android 5.0
* Optimized CPU and battery use
* Fixed display of some elements of the interface and notifications
* Fixed processing of certain HTTPS requests
* Resolved compatibility issues with some apps
* Improved ad filtering over HTTPS
* Fixed possible conflicts when using the same port number with another proxy server
* Fixed issues with some apps (Telegram, Meduza and others.)
* Fixed bugs with some HTTP requests processing
* Added an option to change the look of notification icon
* Fixed problem with landscape mode on devices with low resolution screen
+ Limited support of HTTPS requests filtering
+ Added Ukrainian and German languages
* Fixed proxy filtering mode in Android 5.0 Lollipop
* We now handle properly Lollipop VPN bugs
* Fixed some app crashes
* Fixed slow protection startup in proxy mode
* Improved battery usage in both proxy and VPN modes
* Fixed some compatibility issues
* Fixed bug with broken proxy settings (when our process was killed)
* Fixed VPN restart bug (sometimes our UI was shown when it should not)
* Fixed bug with license reset
* Fixed bug with filters update (some filters were not updated properly)
+ Added "Filtering method" setting.

In this version we've introduced new filtering method which is much faster than previous, but filtering quality is lower.

+ Notification text in manual mode now depends on Wi-Fi connection settings (you'll now see if Wi-Fi is configured properly).
* Fixed bug with Adguard statistics (we've ignored lots of blocked requests before)
* Fixed app crash caused by device locale
* Added timeout for requests to our servers
* Fixed bug with t.co links
* Fixed app crash (when Adguard does not have localization for device language)
* Fixed some major proxy mode bugs
* Fixed license key reset operation
* Fixed UI for some low-res devices
* Improved filtering quality
* Fixed bug with handling UDP packets
* Fixed bug with protection autostart - this time it's for real:)
* Fixed license reset
* Fixed bug with VPN hanging when network is lost
+ Added language setting
Added:
+ Adguard now can filter Google Chrome traffic even when «Reduce data usage» is on.
+ Fixed issue with significant slowdown in Adguard 4.4
+ Filled FAQ with content. Added proxy manual setup instruction.
+ Added «Logging level» setting

Fixed:
* Fixed Adguard crashes
* Adguard log files moved to app cache
* Improved application update check
* Proxy status notification is now pinned
* Proxy status notification text now depends on proxy mode
* Proxy now starts silently on rooted devices boot
* Fixed error page localization