Releases: AdguardTeam/AdguardBrowserExtension
2.2.4
This is an urgent hotfix release for Chromium-based browsers only. It is supposed to fix an issue caused by CCleaner (#205). We hope Piriform will fix this issue too, but we can't wait for it.
This build contains the following changes:
Chromium:
[Fixed] CCLeaner breaks chrome extension #205
[Fixed] Wise Disk Cleaner issue with Adguard extension #207
How to install Adguard
Stable version
Note: we have just uploaded new version to all stores. It will take some time for stores staff to review and publish it.
Chromium
Opera
Beta version
If you want to help us with Adguard development, you can install the beta version of Adguard.
Chromium
2.2.3
It has been a while since the last major update of Adguard browser extension, but today is the time! This release contains one important change for the Firefox version and some technical features with our selector library.
Optimization for multiprocess Firefox #138
This is the main feature of the release. As you may heard, Firefox browser is switching to multiprocess model. To ensure our add-on will work correctly we had to adjust and move to a different API. PageMod we were using previously would seriously limit us in implementing new important features in future Firefox extension releases. To avoid this, we switched to frame-scripts API instead of PageMod. It is important no mention that this change will also improve overall performance for Firefox extension users.
Firefox
[Added] "useGlobalStylesheet" option added to Firefox about:config #163
[Fixed] Compatibility issue with Random Agent Spoofer add-on #174
[Fixed] Filters update notification pops up correctly now #192
[Fixed] User filter export works correctly now #193
Chromium
[Fixed] "Block ads on this site" button now works as intended if several windows are opened #134
Other changes
[Changed] "Selector" module code refactoring and creating an independent module from it #55
This issue is more technical and for now will not immediately affect end-user experience. But that means we are now able to make changes relating to element blocker tool faster and easier, as well as reuse the code in our other products, such as AG Assistant and mobile apps. For example, in the next release you will see redesigned element blocker tool interface.
[Fixed] Selector lib creates an invalid rule #133
How to install Adguard
Stable version
Note: we have just uploaded new version to all stores. It will take some time for stores staff to review and publish it.
Chromium
Firefox (version 38 or newer)
Safari
Opera
Beta version
If you want to help us with Adguard development, you can install the beta version of Adguard.
Chromium
Firefox (version 38 or newer)
Old firefox versions (includes Palemoon)
Safari
- Standalone safariextz file
Important note: beta version of Adguard extension is updated from our server. In Safari 9+ such updates cannot be applied automatically, you should check "Safari" -> "Extensions" from time to time.
2.2.1-dev
2.2-dev
This is the developer build of Adguard browser extension. This build brings some very important changes to Firefox add-on.
Attention: dev build may contain a few bugs.
Firefox:
[Changed] Use frame scripts and message manager instead of PageMod: #138
[Added] Add "useGlobalStylesheet" option in Firefox about:config: #163
[Fixed] Compatibility issue with Random Agent Spoofer add-on: #174
Chromium:
[Fixed] "Block ads on this site" button doesn't work if few windows are opened: #134
Other changes:
[Changed] Refactor "selector" code and make it an independent module which we can use for both AG Assistant, browser extension and our mobile apps #55
[Fixed] Selector lib creates an invalid rule: #133
2.1.5
We are finally ready to release this major update of Adguard browser extension! We have made a lot of improvements and important fixes since the first beta version.
Safari Content Blocker API #16
You may have heard 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 for big brother to use it 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.
New API has some pros and cons.
Pros:
- We are now able to block any web request. With an old API (due to the nature of that API) we could miss some video ads.
- It seems faster than the old API. Safari developers were focused on performance while developing that API.
Cons:
- Content Blocker rules syntax is not 100% equivalent to Adguard filters syntax. This means that a small part of our rules won't work. That's why we have added new Adguard Safari Filter, which single purpose is to fix the issues with missing rules.
- Filtering Log and blocked items counter cannot be implemented using new API: #160.
- There is a weird limitation on the rules number. You can't use more than 50000 rules. Due to that limitation we have implemented the "optimized" filters option (you can learn more about it below).
Back to old API
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.
An option to use "optimized" filters #68
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.
Domain security check in a "private" way #50
First let me tell how that check was done in the previous versions. For check 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:
- Adguard calculates a 256-bit hash of the domain name.
- Then it sends first 32 bits of that hash to a web service and gets all matching hashes in response.
- Adguard checks if any of these hashes matches the domain hash.
As you can see, no sensitive information is being sent.
Other changes
[Added] Add $genericblock modifier support: #30
[Added] Add $generichide modifier support: #31
[Added] Add "Allow useful ads" item to the "thank you" page (NOTE: this is not acceptable ads by ABP, it has nothing to do with it, we do not accept money for getting to the whitelist): #113
[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
Firefox
[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
Safari
[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
Chromium
[Changed] Use shadow DOM for CSS injections: #44
Minor issues
[Changed] Use higher resolution favicon on extension pages: #40
[Fixed] Sanitize "host" parameter on the "Access Denied" page: #72
How to install Stable version
Chromium
Firefox (version 30 or newer)
Safari
Opera
How to install Beta version
If you want to help us with Adguard development, you can install the beta version of Adguard.
Chromium
Firefox (version 30 or newer)
Old firefox versions (includes Palemoon)
Safari
- Standalone safariextz file
Important note: beta version of Adguard extension is updated from our server. In Safari 9+ such updates cannot be applied automatically, you should check "Safari" -> "Extensions" from time to time.
2.1.3 RC
Second v.2.1 release candidate. It includes some important changes we'd like to check before release.
The most important change is a special setting that allows switching Safari extension back to using old API.
Safari
[Added] Create a setting switching Safari extension from Content Blocker to old API and back: #143
To change this setting go to "Safari" - "Preferences..." - "Extensions" and select Adguard. Switching between APIs require browser restart.
[Fixed] Safari add-on blocks whole websites because of $subdocument modifier #145
Firefox
[Fixed] "Unsafe CPOW usage" in Firefox Nightly because of getTabForContentWindow method: #130
[Fixed] Filtering log is very slow on websites with 1k+ images: #137
[Fixed] No Adguard logs in Browser Console: #135
[Fixed] User filter export no more exports it to a new file: #136
[Fixed] Avoid blocking UI thread while initializing filter rules: #131
2.1.2 RC
Adguard extension v2.1 release candidate. If everything is ok with this build, it will be the next release.
Firefox
[Changed] Avoid blocking UI thread while initializing filter rules: #131
[Fixed] Sometimes preferences are not saved in Firefox for Android: #105
Safari
[Fixed] Ads are not blocked in Safari when the browser is just started: #124
[Fixed] Rules with $~third-party modifiers are converted incorrectly: #120
[Fixed] Third-party rules do not block 4-th level subdomains: #116
Minor issues
[Added] Add "Allow useful ads" item to the "thank you" page: #113
[Changed] Update copyrights to 2016 everywhere: #125
[Fixed] User filter should be loaded first (before other filters): #117
[Fixed] Invalid rule is constructed by "Block ad on this website" feature:
#122
2.1.1 beta hotfix
Hotfix for 2.1.0 beta: fixed UTF characters in Firefox add-on description.
2.1.0 beta
This is a major update with quite a few new features and some very important changes. At first we were focused at Safari and their new Content Blocker API, but while adding this new API support we have added some features that may be useful to users of any browser. Let's start.
Safari Content Blocker API #16
You may have heard 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 for big brother to use it 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.
New API has some pros and cons.
Pros:
- We are now able to block any web request. With an old API (due to the nature of that API) we could miss some video ads.
- It seems faster than the old API. Safari developers were focused on performance while developing that API.
Cons:
- Content Blocker rules syntax is not 100% equivalent to Adguard filters syntax. This means that a small part of our rules won't work. That's why we have added new Adguard Safari Filter, which single purpose is to fix the issues with missing rules.
- There is a weird limitation on the rules number. You can't use more than 50000 rules. Due to that limitation we have implemented the feature below.
An option to use "optimized" filters #68
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.
Domain security check in a "private" way #50
First let me tell how that check was done in the previous versions. For check 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:
- Adguard calculates a 256-bit hash of the domain name.
- Then it sends first 32 bits of that hash to a web service and gets all matching hashes in response.
- Adguard checks if any of these hashes matches the domain hash.
As you can see, no sensitive information is being sent.
Other changes
[Changed] Refactor UI and background services communication: #26
[Changed] Display the actual number of the rules used by the extension: #78
[Changed] $popup rules must be applied to "document" only: #79
[Changed] $elemhide rules should be applied to "Documents" only: #60
[Changed] Increment "blocked items" counter every time: #83
[Added] Add $generichide modifier support: #31
[Added] Add $genericblock modifier support: #30
Firefox
[Fixed] Filtering log "Source" column is null for newly opened website: #38
[Fixed] Error in FF console: Unable to run script because scripts are blocked internally: #45
[Fixed] Filtering Log in Firefox 38 ESR: Referrer is null for EACH request: #47
[Fixed] Filter stats collection is broken when e10s is enabled: #36
[Fixed] Cannot disable ad blocking for a website in Tor Browser: #96
Safari
[Fixed] The enabled property of SafariPrivateBrowsing is deprecated. Use the private property of SafariBrowserTab instead: #65
Minor issues
[Changed] Use higher resolution favicon on extension pages: #40
[Fixed] Sanitize "host" parameter on the "Access Denied" page: #72
How to install Beta version
Chromium
Firefox (version 30 or newer)
Old firefox versions (includes Palemoon)
Safari
- Standalone safariextz file
Important note: beta version of Adguard extension is updated from our server. In Safari 9+ such updates cannot be applied automatically, you should check "Safari" -> "Extensions" from time to time.