Your average grocery list is probably longer than this update’s changelog, but don’t let it fool you. We introduce two powerful new tools that are going to serve well to filtering rules creators and will noticeably improve the ad blocking quality.
[Added] Scriptlets support #1366
Scriptlets is a powerful ad blocking instrument. You can say that scriptlet is an internal script (a mini-program) that we install in the extension, and then execute that script with the help of filtering rules. Putting it simply, scriptlets allow us to modify how the code of the web page behaves. As for the practical use, this helps to block anti-ad blockers, for example.
$rewrite modifiers support #1367
They are practically the same modifiers, and they allow to substitute resources. If you are not a custom filtering rules aficionado, don't bother with it. Just know that it is yet another instrument in the hands of filter developers that helps efficiently block ads.
We should mention that both
$rewrite modifiers are still kind of working in test mode, but they are fully operational and you should feel free to use them.
- [Changed] The browser action UI on internal browser pages #1433
- [Changed] Manifest file has been updated #1419
- [Fixed] CSS rules exceptions don't work #1412
- [Fixed] "Allow search ads and websites' self-promotion" checkbox doesn't correlate properly with "Self-promotion" filter #1287
- [Improved] uBlock Origin syntax recognition #1383, #1428
After a series of hasty hotfixes we are happy to finally do a full-scale release. It may be not the biggest AdGuard browser extension release of all times, but it’s something. Inside you will find some small-ish changes and of course more bug fixes! This time, they were not so urgent, though.
- Changed] "Mobile ads filter" is enabled by default on the Firefox for Android #1307
$badfiltercollection passed to ReplaceFilter #1340
- [Changed] Chinese date format is now used for filters' update time in Chinese interface #1322
- [Changed] Manifest file now properly indicates the latest supported Chrome version #1134
- [Fixed] "Add custom filter" button is shown in English after adding a custom filter #1356
- [Fixed] "Remove X-Client-Data header" has been made specific to Google Chrome only #1362
- [Fixed] “Thank you” page in Edge #1369
$stealthmodifier does not work in some cases #1342
BODYtag is ignored in the rules constructor in developer tools #1301
- [Fixed] Comment symbol ! is applied as a URL blocking rule #1361
- [Fixed] Enabled filters in turned off filter groups should be updated after the group is turned back on #1334
- [Fixed] Incorrect automatic activation of the language-specific filters #1354
- [Fixed] Language-specific filters are automatically activated even if the Language-specific filter group is disabled #1308
- [Fixed] Last custom filters update check time is not saved #1347
- [Fixed] Settings page in the extension doesn't wait until the extension is initialized before requesting information #1329
- [Fixed] Standalone server breaks the extension's popup #1343
- [Fixed] Strings alignment on the Settings screen #1360
- [Fixed] The extension doesn't subscribe to the
abp:subscribe- type links in the iframe #1357
Turned out, we overlooked a couple of minor bugs and inconsistencies in the previous hotfix. Here's a quick fix to set things right.
[Fixed] Statistics flushed after browser restart (randomly) #1341
[Fixed] ExtCss DOM observer fails in Edge due to a "Syntax error" #1330
[Fixed] Extension doesn't search for other rules if first found rule matched with
badfilter rule #1328
[Fixed] User filter editor is often stuck in "Saving" state #1316
[Fixed] AdGuard extension does not properly show on Chrome 56 (winXP) #1315
[Fixed] AdGuard extension doesn't work in UC browser #1318
[Fixed] ExtendedCss recursively calls MutationObserver #1317
As they say, you can't have a good release without a hotfix. Or maybe they don't say that, but we sure need one.
In this update, we fix a particularly nasty bug that causes high CPU load because of some filtering rules.
Among important changes is a fix to the Assistant "block" button issue and a new "Save filtering log" feature that will come handy for filter developers and in some cases of troubleshooting via support.
- [Added] An option to save Filtering Log when reloading the page #1074
- [Fixed] AdGuard 2.10.8 extension for Edge blocks Spotify web player playback #1090
- [Fixed] Assistant preview doesn't close #1083
- [Fixed] The Norwegian translation implementation is broken #1085
- [Fixed] When using Edge dev console, JS error occurs in extended-css.js #1086
- [Fixed] Сosmetic filters stop working after refresh of a page cached by a ServiceWorker #1087
- [Fixed] AdGuard "send statistics" crashes google sheets when option turned on #1096
This update adds several minor-ish (although filter enthusiasts will argue) features to the Filtering Log and improves ad blocking quality. You'll find an array of bug fixes, as usual.
[Added] Element hiding rules highlighting #1053
Applied element hiding rules are now highlighted with yellow color in the Filtering Log. This will greatly help parse log entries. We don't need to prove it to you if you are actively using it :)
[Added] Wildcard character support in rules with domain modifier #571
Again, another treat for filtering rules creators. Previously you had to list domains old-fashioned way: example.com,example.eu etc, and now you can simply use example.* syntax.
[Improved] Scripts are injected faster #1029
To efficiently block ads on the page we need a way to reliably inject our scripts before the in-page scripts are executed. A set of measures has been taken to ensure this. While there is still no 100% guarantee, the success chance has increased considerably — along with ad blocking quality.
- [Added] "Public suffix list" automatic update #1010
- [Added] Display applied element hiding and CSS rules in Filtering log #830
- [Added] "Filter" column to the Filtering log #863
- [Added] Pre-processor directives for filters #917
- [Fixed] Error in event handler for `webRequest.onBeforeRequest` #1015
- [Fixed] Unnecessary "Cannot create rule from filter" error entries in the browser console while in integration mode #1016
- [Fixed] Whitelist is not applied for requests sent from within a service worker #1032
- [Fixed] Wrong filters sort order #1028
- [Fixed] Text box is not editable in the "Block element" window #331
- [Fixed] Incorrect layout for filter name #1050
- [Fixed] High CPU usage because of searching hidden elements #1067
- [Fixed] Underscore character is not displayed on Linux #393
- [Fixed] Some Extended CSS rules are not working because of regex issues in content attribute #1079
- [Fixed] Rules containing content substring are not working correctly while Filtering log window is open #1080
- [Improved] Browser extension build process has been optimized #991
- [Improved] Filters-downloader module has been upgraded to v1.0.5 #1051
- [Fixed] Some sites are broken by `$$` rules in Firefox Quantum #1001
- [Fixed] Element hiding rules don't work in frames by playbuzz #1046
- [Fixed] JS rules don't work on xda-developers.com #1004
- [Fixed] Ineffective browser.storage issue #1006
- [Fixed] `$replace` rule does not get applied #1038
- [Fixed] FF for Android: If you click on "AdGuard settings" nothing happens #1034
- [Fixed] WebSocket requests are not visible #1014
- [Fixed] "Activate the most appropriate filters automatically" doesn't work #997
Ho Ho Ho! Just kidding, it is not Christmas, but it might have very well been — isn’t every AdGuard Browser Extension release a special day for you? For us, it certainly is 🙂 This time we prepared a couple or two of quite important changes and improvements, to come along with a long list of more routine-ish fixes. Read on to find out the details.
[Added] Integration with the new Assistant #956
For a while now we develop AdGuard Assistant more or less independently, to later use it wherever we need — Windows and Mac apps use regular Assistant, Android and iOS apps use mobile version. Browser extension users encounter Assistant when they click "Block ads on this website" button. We will not go into the details here, those who interested can find the exhaustive changelog inside the Assistant repo.
[Improved] `InsertCSS` to use instead of the content scripts #847
There was a certain change in Chrome browser recently, that prompted us to respond by reconsidering the way we inject scripts and styles. The good thing is, thanks to this change we now have less bugs, more possibilities and were even able to make the extension more lightweight by reducing the amount of code.
[Improved] ExtendedCss has been updated to v1.10 #980
This change is on the technical side, but from the end user perspective it converts into better performance and better quality ad blocking, thanks to more tools being available to the extension now.
- [Fixed] HTML filtering rule does not work on example.org #948
- [Fixed] The issues with content filtering rules in Firefox #959
- [Fixed] Assistant crashes in Safari #974
- [Fixed] Wrong URL blocking rule behavior on iOS #957
- [Fixed] Styles are applied twice in the Safari extension #979
- [Fixed] Safari content blocker converter fails if we pass it an invalid rule #945
- [Improved] SafariContentBlockerConverter memory usage #955
- [Fixed] Wrong filter names language #889
- [Fixed] Some regex rules don't work #978
- [Fixed] Can't build the extension with Maven 3.5.2 #946
- [Fixed] Assistant menu doesn't save its position on pages #973
- [Fixed] Assistant does't block in 'Preview' mode #975
- [Fixed] Element hiding exclusion can't be applied to iframe #934
- [Fixed] Filters are not getting updated after the clean install #981
- [Fixed] Assistant dialog default position is different from where it should be #976
- [Fixed] AdGuard extension for Yandex Browser prevents downloading of .pdf files on vk.com #897
- [Fixed] Rules proposed by AdGuard for "content-security-policy-check" are incorrect #941
- [Fixed] Warning Page Appears Twice #995
- [Fixed] Extension can't detect it when you disable filtering in Adguard for Win via Assistant #989
- [Improved] Old links have been replaced with new ones #952
Ad blocking has been enhanced in this version by adding support for several modifiers. We've also integrated the extension with our web reporting tool, details below. As usual, all spotted bugs have been fixed too, this mostly concerns Firefox version.
[Added] Integration with reports.adguard.com #894
A new convenient way to report any issues with websites, be it missed ads, false positives, unblocked social widgets etc. Just head to the problematic website, bring up the context menu and select "Submit a complaint" option. You will be transferred to reports.adguard.com and a wizard will take you through the required steps to report the issue — and most of the fields will be even filled out automatically. Try it!
- [Added] $badfilter modifier support #866
- [Fixed] onet.pl shows anti adblock notice #860
- [Fixed] Errors in the browser console #865
- [Fixed] Blog link in the footer #908
- [Fixed] Double scroll bar in filtering log #907
- [Improved] AdGuard now filters "New tab" windows #881
- [Improved] Styles protection has been enhanced #829
- [Improved] "ExtendedCss" module has been upgraded to v1.0.9 #906
- [Added] $replace and $$ rules partial support #864
- [Fixed] Huge amount of writes by storage.js.temp #892
- [Fixed] Search option misbehaves on news.yandex.ru #872
- [Fixed] Recaptcha is hidden by AdGuard on vk.com #880
- [Fixed] Content filtering rules aren't visible in the filtering log #910
- [Fixed] group.aliexpress.com #924
- [Fixed] "Thank you" page switches don't change the extension settings #929
- [Fixed] AdGuard for Firefox hides iframe with text area on insanelymac.com #922
- [Fixed] Beta 2.8.2 Doesn't save whitelist settings after reboot (Beta 2.8.1 works) #933
A long time has passed since the last release. But we weren't sitting on our hands. We fixed a whole lot of various bugs, so most users will find something positive in this update. This version also contains some sweet additions that will be interesting mostly for rule creators.
[Improved] $important modifier was added to the rule constructor: #626
This one is a rather obvious: when you use the manual blocking tool to create a rule, you can now give this rule a higher priority by ticking the checkbox. The `$important` modifier was available before, but you had to manually add it via the user filter.
[Added] $csp modifier support: #685
This is strictly for the rule creators, as it requires the basic understanding of the Content Security Policy security layer.
This modifier completely changes the rule behaviour. If it is applied to a rule, it will not block the matching request. The response headers are going to be modified instead.
You can find the syntax and examples for `csp` inside the issue.
We had been waiting for this for a long time, it took a lot of time but now the code is much more simple and convenient to work with.
The builds themselves are now available directly on GitHub, all the updates will be stored here. The build names are now more clear and understandable.
All additions, improvements and issues fixed in this release:
- [Added] `$empty` modifier: #280
- [Added] Adguard French filter: #612
- [Added] “Select all/none” buttons to rules constructor: #703
- [Changed] '2016' to '2017': #519
- [Changed] filterlists.com were added to possible filters sources: #544
- [Changed] Filtering log performance: #403
- [Fixed] Rule constructor can't create a rule with
- [onclick] attribute which contains a big script: #469
- [Fixed] Rule constructor works incorrectly with TD tag: #483
- [Fixed] Regular expressions with `$` aren't processed properly: #517
- [Fixed] Error while parsing rules with `$replace` modifier: #559
- [Fixed] Error while parsing wide filtering rules: #556
- [Fixed] Basic URL rule, which contains domain name, blocks WS: #528
- [Fixed] Blocked `blob:` URLs #525
- [Fixed] Errors while parsing CSS rules: #617
- [Fixed] Sustainability to the LastPass vulnerability: #625
- [Fixed] Huge user filter slows down the 'options' page loading: #641
- [Fixed] Browsing security doesn't work: #580
- [Fixed] Error parsing pseudo class: #576
- [Improved] WebRTC circumvention: #588
- [Improved] Separate loading of the cosmetic filters and JS filters: #512
- [Changed] German translation was updated: #680
- [Changed] A link for "Protected by Adguard for Windows" menu item was added to the description page: #672
- [Fixed] Adguard settings window is not shown in private mode: #658
- [Fixed] WebRTC circumvention: #588
- [Fixed] Adguard 2.6.1 Beta does not block WebSocket connection: #652
- [Fixed] Auto-activation of filters still work in integration mode: #666
- [Fixed] `$webrtc` does not work on rapidvideo.com: #669
- [Fixed] Filtering log errors: #687
- [Fixed] A bug with element hiding rule with domains containing www: #665
- [Fixed] A rule with a single `$content` modifier now will be ignored. A rule with multiple modifiers which includes `$content` continue to work: #719
- [Fixed] CSP and WebRTC rules are now processing the proper way: #725
- [Fixed] unutulmazfilmler.co - blocked iframe is not collapsed: #733
- [Fixed] $content modifier works as URL exclusion: #719
- [Fixed] Difference of blocked ads before AG turn off and after turn on: #748
There are few notable changes in this release that take place in Firefox version. First of all, FF have finally released the WebExtensions technology which allowed us to completely revamp the extension code. It now greatly resembles the code for Chrome extension, which makes it much easier for further development among other advantages. A lot of other improvements have been done, too.
- [Improved] FF extension migrated to WebExtensions: #523
- [Improved] "Require" calls were got rid of: #367
- [Improved] SDK is not being used anymore: #151
- [Improved] `-moz-binding` approach was got rid of: #463
- [Fixed] Errors in FF browser console: #673
- [Fixed] Cleaning Firefox data breaks Adguard extension: #681
- [Fixed] Filtering log: new tab stays in the background when opened: #697
- [Fixed] Scrollbar is missing in the filtering log: #732
Firefox - other
- [Fixed] `chrome.webRequest.onBeforeRequest` now intercepts WebSocket: #572
- [Improved] Text in the rules constructor is too dark with built-in dark theme for dev tools: #739
- [Fixed] Separators in rules constructor are collapsed in some cases: #741
- [Fixed] Edge Storage size limit issue: #566
- [Fixed] Russian localization: #538
- [Fixed] Error on start/adding/removing filter subscription: #627
- [Fixed] Browsing security - "Proceed anyway" issue: #628
- [Improved] CSP fix is now applied for newer Edge versions (Insider Preview): #602
- [Improved] Edge extension now downloads own platform filters: #721
- [Fixed] Edge `browser.windows.getAll` issue in the Insider Fast ring build: #569
- [Fixed] Adguard dropdown menu glitch - Edge browser: #675
- [Fixed] Advanced settings menu does not expand: #708
- [Fixed] "Block ads on this website" tool misbehaves: #691
- [Fixed] Google Docs document glitch: #720
- [Changed] "Activate the most appropriate filters automatically" setting is now disabled by default: #715
- [Fixed] `$websocket` modifier works incorrectly in Safari: #597
- [Fixed] Possible websockets blocking issue: #586
- [Fixed] `$elemhide` exceptions also affect basic rules: #642
- [Fixed] User filter rules are being imported from .txt together with comments: #584
- [Fixed] Browsing security error: #583
- [Fixed] Safari tab / Ergonomics issue: #505
- [Fixed] "Block ads on this website" tool does not work in Safari 9.1.3: #704