v2.8.67:
Finally, it's time for Adguard for Android 2.8 to come to light! It brings the ad blocking quality to the next level with several big novelties such as Simplified domain names filter or extended CSS support. Many new low-level settings will allow advanced users to customize app to their liking, and for all the rest we bring quite a few quality of life improvements and bugfixes. We hope everyone finds something useful in the new Adguard for Android version.
Ad Blocking
[Added] Support for Extended CSS and Extended Selectors ( https://github.com/AdguardTeam/ExtendedCss )
Extended CSS support is a very important addition in terms of future (and present) possibilities that it opens for ad blocking. Extended CSS is a module for applying CSS styles with extended selection properties. Basically, it means that we will be able to select and, therefore, block some elements that we would not be able to block otherwise. Currently we support following pseudo-classes: -ext-has ( :has ), -ext-contains ( :contains ), -ext-matches-css ( :matches-css ).
'Extended selector' is a technical term, but what hides behind it? With extended selectors support, we can much more easily create some rules that were very, very hard to create earlier. Notably, this concerns rules required to block such things as 'Sponsored posts' on Facebook.
[Added] Simplified domain names filter
Fresh addition to the Adguard filters family. Simplified domain names filter is composed of several filters (English filter, Social media filter, Spyware filter, Mobile ads filter, EasyList and EasyPrivacy), modified for better DNS filtering. It blocks ads and trackers wherever it is possible to indicate own DNS addresses. Note that it will block the whole domains and not the specific URLs. You can learn more about DNS blocking by visiting 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] 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. By the way, in our blog you can find a detailed guide to blocking ads in YouTube app.
[Added] 'pref.filtered.ports' added to low level settings — advanced users can now add new ports to filter
[Added] $websocket content type modifier — it will enable to use rules written exclusively for WebSocket connections
[Added] $important rule modifier
[Added] Latvian filter list
[Added] List-KR filter list
[Added] A new low-level setting: "pref.boot.startup.delay"
[Changed] Multiple browsers added to the list of browsers filtered by default
[Fixed] $replace rules can now be applied along with other filtering rules
[Fixed] $app modifier is ignored when HTML content is being filtered
[Fixed] HTML filtering rules with wildcard attribute can not be parsed
[Improved] Users are now allowed to select filters update check period
[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
Networking
[Added] pref.vpn.ipv4.bypass low-level setting
If this option is enabled, Adguard will ignore all IPv4 connections. This might appear weird and unnecessary, but in reality it allows to use Adguard as a 'DNS-level' ad blocker. You only need to enable the following options: pref.vpn.ipv4.bypass, pref.vpn.ipv6.bypass, DNS requests filtering and Adguard DNS filter (the latter is not crucial, but will help immensely with blocking ads in browsers). Adguard will cease filtering other apps' traffic, and will only block ad domains on the DNS requests level. As a result, ad blocking quality will drop and Firewall functionality will not be available, but also there will be close to zero performance penalty.
[Added] VPN restart feature
[Changed] Updated default SSL whitelist
[Changed] Protection is now paused automatically when Bluetooth tethering is detected
[Changed] IPv4 connections now have priority over IPv6 connections
[Changed] New server is now used for filters
[Changed] The way Adguard blocks IPv6
[Fixed] Wi-Fi calling for AT&T
[Fixed] Crash due to "Too many open files" error
[Fixed] ENOBUFS error while writing to the TUN
[Fixed] SOCKS 5 proxy blocks internet traffic
[Fixed] Error processing HTTP/2 requests
[Fixed] HTTPS connections with some upstream HTTP proxy
[Fixed] "Operation not permitted" error while processing UDP connection
[Fixed] Issue with traffic slipping through firewall
[Improved] HTTPS is now used for safebrowsing service requests
[Improved] Adguard styles are now protected from removal
[Improved] Adguard automatically detects when Adguard's certificate is moved to system certificate storage (Helps with https filtering in Android N+)
UI
[Added] 'Installation date' to the app details screen
[Added] A Quick Settings tile for Android N and up
[Added] A low level switch to enforce "protection paused" notification to be visible even when notification icon mode is set to 'None'
[Changed] Some localizations were updated
[Changed] Filtering methods explanations were updated
[Changed] IME (typing) mode for adding/importing custom rules dialogs
[Changed] System packages list is added to the "Tech info" section of "Android OS" details screen
[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
[Fixed] Unnecessary exception is logged
[Improved] Filter editor now recognizes lines starting with "!" as commentaries in user-imported filters
Minor and compatibility issues
Lots of other minor issues and compatibility fixes. The full list can be found on the GitHub inside the descriptions of previous beta versions.