New data storage in Adblock Plus for Firefox · 2017-04-11 11:42 by Wladimir Palant
As of Firefox 57, classic extensions such as the current Adblock Plus for Firefox will no longer load and only Web Extensions will be allowed to continue working. In order to prepare for the transition, starting with Adblock Plus 18.104.22.16844 development build we will use Web Extensions for data storage. Any existing data (this includes both current filters/subscriptions and automatic backups) will be taken over automatically and ideally there should be no visible changes at this point. However, the data will no longer be stored in the
adblockplus/patterns.ini file of your Firefox profile but rather in the
Please tell us about any data loss issues you encounter after this change. We are moving towards releasing Adblock Plus 2.9 which will start data migration for our entire user base. Note that the format of the Web Extensions storage is still supposed to change which will hopefully make it more robust and performant.
Do you #blockbetter? Tell us how and win a smartphone of your choice! · 2017-03-28 14:00 by Björn Loesing
We know there are a million reasons to use Adblock Plus with the Acceptable Ads program, but what we really want to know is yours!
Celebrate and share a safer Internet with us today! · 2017-02-07 10:05 by Björn Loesing
Did you know today is the official Safer Internet Day? No? Well, now you do! Today is about celebrating all the accomplishments we have achieved in the past years to make the Internet a better and safer place for everyone.
Why you will always have a choice to switch off Acceptable Ads, and why you shouldn’t - an opinion piece · 2016-12-14 14:46 by Björn Loesing
The advertising business in general has gone down the wrong rabbit hole. It’s all about getting clicks. To find out why the Acceptable Ads initiative is the most sensible choice despite all of this, read more in this personal opinion piece.
Adblock Plus 2.8.2 for Firefox released · 2016-11-22 18:17 by Wladimir Palant
This is a maintenance release, most importantly introducing some improvements to CSS property filters.
- Made sure that element hiding rules don’t affect browser’s and extensions’ special pages, this regressed with Adblock Plus 2.8 (issue 4624, issue 4625).
- Fixed blockable items list slowing down page loading (issue 4587).
- Pop-ups using
data:URLs and similar unusual schemes can be blocked now (issue 4368).
- When selecting keyboard shortcuts, more shortcut keys already in use by the browser can be recognized. This will change the shortcut key to show Blockable items list from Ctrl/Cmd-Shift-V to Ctrl/Cmd-Shift-U for pretty much everybody (issue 4544).
CSS property matching improvements · 2016-11-14 13:05 by Felix Dahlke
About a year ago, we introduced CSS property filters as a means of hiding elements based on their styles. Today, we have landed two improvements to this:
Case insensitive matching
This is a change in semantics; CSS properties will now always be matched in a case insensitive manner, to make it consistent with the way Adblock Plus matches URLs. This is unlikely to result in undesired behaviour as there shouldn’t be many use cases for case sensitive property matching.
Regular expression matching
Until now, CSS properties could only be matched using the simple URL matching syntax, which made it difficult to match property values in a fine-grained manner. To address this, properties can now optionally be matched using regular expressions. The default matching behaviour is still the same, to use regular expressions, a matching expression needs to start and end with
/, for example:
These improvements are available in Adblock Plus for Firefox as of 22.214.171.12429 and Adblock Plus for Chrome and Opera as of 126.96.36.1992, and will presumably be released with the next stable version on each platform respectively.
Please note that we still consider CSS property filters an experimental feature, and therefore subject to change. Considering this, and the fact that CSS property filters are slower than regular element hiding rules, they should only be used as a last resort.
Adblock Plus 2.8.1 for Firefox released · 2016-10-28 14:37 by Wladimir Palant
Our Adblock Plus 2.8 release introduced a regression that went unnoticed for months in the development builds. Users who activated the please_kill_startup_performance preference were experiencing data loss: filters didn’t load completely. Also, importing custom filters was failing for large files. Both issues have the same root cause (issue 4576) and have been resolved in Adblock Plus 2.8.1. If your data is still incomplete after updating to Adblock Plus 2.8.1 please click the “Backup and Restore” button in Filter Preferences — one of the automatically created backups is certain to be correct.
Adblock Plus 2.8 for Firefox released · 2016-10-25 12:38 by Wladimir Palant
This release changes the way element hiding works in Firefox, so that noticeable delays from changing a single element hiding rule should be no more. Also, the behavior should be more consistent now and filters not applying on a particular website should no longer be able to cause unexpected side-effects. On the downside, changes to element hiding rules will only apply after a page is reloaded now (which is actually consistent with blocking rules).
- There is a special
$websockettype option now to block WebSocket requests, the type was previously considered to be
- Our toolbar icon will look better on high-resolution screens (issue 4142).
- Removed feature selection from the first-run page until the features can be removed similarly easily (issue 4294).
- Hits for CSS property filters which were introduced in the previous release are being counted now (issue 3969).
- Fixed: CSS property filters applied even when Adblock Plus was disabled everywhere (issue 4201).
- Fixed: A regression in pop-up blocking functionality caused websites to be mistakenly considered pop-ups under some circumstances (issue 4335).
- Corrected handling of frames with
- Fixed and improved search functionality in Filter Preferences, was partially broken in Firefox nightly builds (issue 4510).
New element hiding approach in Firefox · 2016-10-10 15:46 by Wladimir Palant
Traditionally, element hiding on Firefox worked quite differently from all other platforms supported by Adblock Plus. Rather than decide on the filters for each website individually, all element hiding rules would be written into a single
elemhide.css stylesheet file that would apply to all websites unconditionally. This approach had a few disadvantages:
- The global stylesheet could not consider exceptions, such as websites where a particular rule should not apply — we had to implement a complicated mechanism to make sure that the rule didn’t have any effect in such cases, and on some websites there still were side-effects.
- Changing a single element hiding rule caused the global stylesheet to apply again to all open tabs, this could cause significant delays.
- With multiprocess Firefox coming up and sandboxing enabled on some platforms, we could no longer rely on being able to access that file.
Luckily, Firefox implemented better mechanisms to apply stylesheets to documents a while ago and as of Adblock Plus 188.8.131.5206-beta development build we are now taking full advantage of these. We will now make a separate decision for each website, which (if any) element hiding rules should apply. And we don’t sacrifice performance for that because the majority of element hiding rules will go into a preloaded stylesheet with all the rules which apply unconditionally.
There are a few drawbacks here:
- New element hiding rules will no longer apply immediately, just like blocking rules they now require the document to be reloaded (can actually be seen as a good thing because consistent). This also affects Element Hiding Helper extension which will need to be updated.
- We are no longer able to count hits for element hiding exception rules (issue 4509). We simply don’t know any more whether the rule that the exception applies to would have matched anything.
- Element hiding rules apply with a slight delay which in theory might cause some ads being shown and then flashing out. In practice, I haven’t seen this yet.
This is a huge change to the inner workings of Adblock Plus and while we tested it quite thoroughly some issues are expected — let us know if you notice any.
New filter type option for WebSockets · 2016-09-21 14:30 by Wladimir Palant
Starting with Adblock Plus 1.12.2 for Chrome, Opera and Safari we can block connections initiated via WebSockets on all major platforms (this functionality was available on Firefox since the very start). However, we didn’t have a special type for these requests as these were listed with type “other” instead. The assumption was that the protocol
wss:// would be sufficient for filter list authors in order to target WebSocket connections specifically. However, we received feedback that this wasn’t the case.
So with the current development builds (Adblock Plus 184.108.40.20602 for Firefox and Adblock Plus 220.127.116.115 for Google Chrome, Opera and Safari) WebSocket connections are listed with the new type “websocket.” Consequently, filters can be made to target such connections specifically by adding
$websocket type option. Existing filters will have to be duplicated for now:
This syntax will support both new and old Adblock Plus versions as long as the versions without support for the “websocket” type are still common (these will ignore the first filter).
Edit (2016-09-22): This post was originally suggesting specifying both
other options on one filter. This approach will not work in Adblock Plus versions without support for the
websocket option because filters with unknown options are ignored.