We are finally ready to officially release this major update of Adguard browser extension! We have made a lot of improvements and important fixes since the first beta version.
Read further if you want to learn the details.
First of all, let us recall about Content Blocker API, as it is the most important update of our extension.
We have already told you that Safari has introduced a new API designed specifically for ad blockers. It works for both OS X and iOS and thanks to this API you can now use Adguard for iOS. Now it’s time to use it in our extensions as well. If you use Safari 9 or later, Adguard will use a new API instead of the old one. Users of Safari 7-8: please don’t worry, we still support these browsers.
New API has some pros and cons.
Some of you may want to stick to old API because of these cons. It is possible with a special setting switching Adguard back to old API: #143
To change this setting go to “Safari” – “Preferences…” – “Extensions” and select Adguard. Switching between APIs require browser restart.
Old API is deprecated and will be removed in one of the future Safari versions!
A long time ago we have added an option (turned off by default) that allows you to send us ad filters usage statistics. This statistics allows us to optimize existing filters and clean up redundant rules. But what’s more important, it allowed us to use special “optimized” filters in Adguard for iOS and Android. App performance and memory usage depends on the filters size, so it is essential to use smaller filters there.
Now you can use the same optimized filters in Adguard browser extension. If you are concerned about extension performance and memory usage it is highly recommended to try this new option.
Just look at the screenshot below. One memory snapshot is done with default filters and the other with “optimized filters”. The difference is astounding. With “optimized” filters memory usage is almost 40% lower.
Memory snapshots are made in Chromium. First shows, that AG uses 17.7MB with default filters. Second, that AG uses 11.1MB with “optimized” filters.
Do you know how the check was done in the previous versions? For checking if domain is phishing or malware, Adguard sent domain name to a special web service. This is a very simple and straightforward way, but it has a serious flaw. We could see the websites you visit. Of course we didn’t use or save this information, but anyway, it does not look good, eh? From now on we use a new way that does not hurt your privacy in any way.
Now, instead of sending the whole domain name:
As you can see, no sensitive information is being sent.
[Added] Add “Allow useful ads” item to the “thank you” page #113
[Added] Add $genericblock modifier support: #30
[Added] Add $generichide modifier support: #31
[Changed] $elemhide rules should be applied to “Documents” only: #60
[Changed] $popup rules must be applied to “document” only: #79
[Changed] Display the actual number of the rules used by the extension: #78
[Changed] Increment “blocked items” counter every time: #83
[Changed] Refactor UI and background services communication: #26
[Changed] Update copyrights to 2016 everywhere: #125
[Fixed] Invalid rule is constructed by “Block ad on this website” feature: #122
[Fixed] User filter should be loaded first (before other filters): #117
[Changed] Avoid blocking UI thread while initializing filter rules: #131
[Fixed] “Unsafe CPOW usage” in Firefox Nightly because of getTabForContentWindow method: #130
[Fixed] Avoid blocking UI thread while initializing filter rules: #131
[Fixed] Cannot disable ad blocking for a website in Tor Browser: #96
[Fixed] Error in FF console: Unable to run script because scripts are blocked internally: #45
[Fixed] Filter stats collection is broken when e10s is enabled: #36
[Fixed] Filtering log “Source” column is null for newly opened website: #38
[Fixed] Filtering Log in Firefox 38 ESR: Referrer is null for EACH request: #47
[Fixed] Filtering log is very slow on websites with 1k+ images: #137
[Fixed] No Adguard logs in Browser Console: #135
[Fixed] Sometimes preferences are not saved in Firefox for Android: #105
[Fixed] User filter export no more exports it to a new file: #136
[Fixed] Content script does not receive events from background page when page is preloaded by “Safari top hit”: #159
[Fixed] The enabled property of SafariPrivateBrowsing is deprecated. Use the private property of SafariBrowserTab instead: #65
[Changed] Use shadow DOM for CSS injections: #44
Updated version is waiting for review
Updated version is not yet published to Safari Extensions Gallery
We want to thank everyone who helped us with testing of this release. Thanks for your contribution, guys!