Adblock Plus and (a little) more
The plan for Adblock Plus 1.3.5 · 2011-03-19 14:53 by Wladimir Palant
The development build users noticed already — Adblock Plus 1.3.5 release is coming close, the current development build is already designated as a “release candidate”. With the release of Firefox 4 (both desktop and mobile) I thought that we need to release soon as well. One issue that people are complaining is the shortcut key for Adblock Plus preferences — in Firefox 4 it conflicts with the Panorama shortcut key. More important however is the support for Firefox Mobile 4.0 (Fennec). Thanks to some great help from Fabrice Desré I was able to add support in a very short time and we need to release it now. So yesterday I started string freeze for Adblock Plus 1.3.5, the plan is to release on March 25th.
Update (2011-03-22): I am getting close to a working Firefox Sync support. However, I am now certain that landing it for Adblock Plus 1.3.5 will be too risky. Instead these changes should land shortly after Adblock Plus 1.3.5 and will be available in the development builds. We can do one more release once things look stable.
Added support for Firefox Mobile 4.0 · 2011-03-17 14:57 by Wladimir Palant
The current development build (Adblock Plus 1.3.5b.2866) added support for Firefox Mobile 4.0 (many thanks to Fabrice Desré who did much of the work). Despite the significant architectural changes everything seems to work smoothly. As far as I know, there are only two issues:
- Do-not-track support isn’t working. This isn’t going to change, with the current approach this feature would double the number of synchronous requests between content and chrome processes — not worth it.
- We might be able to reduce the number of synchronous requests by using a cache, this should make things faster. To be done soon.
Other than that, the usual limitations apply — our user interface in Firefox Mobile is very limited, do not expect the same functionality as on the desktop. In particular, only one filter subscription at a time is supported.
Update: It only took five minutes after publishing this and I found one more issue: subscription selection page doesn’t come up on first install, you have to select a subscription in extension options manually. Update2: This will be fixed in the next development build (Adblock Plus 1.3.5b.2871).
Update3 (2011-03-18): Starting with Adblock Plus 1.3.5b.2886 all the issues on the first-run page should be fixed. The page layout is more what is expected for Firefox Mobile, the selection list can actually be used and confirming selection will only close the tab and not the entire browser.
All other changes since the previous announcement are minor.
Changes to the Adblock Plus release process (or why the new version isn't available on addons.mozilla.org) · 2011-02-16 15:08 by Wladimir Palant
A while ago there was an announcement that AMO would try to reduce the number of “trusted” add-ons (meaning: add-ons where an update would immediately become available without review). The old approach was to mark add-ons as “trusted” if they are popular and go through a thorough testing process before each release. The new approach is to grant this status only if absolutely needed. Obviously, Adblock Plus and Element Hiding Helper no longer match the definition of a “trusted” add-on and so this status has been revoked now.
Improving startup times · 2011-02-15 18:36 by Wladimir Palant
I implemented significant changes on the Adblock Plus core that allow the current development build (Adblock Plus 1.3.5a2.2826) to cache much of the data required at runtime on disk (cache.js file in the adblockplus directory). Instead of reading in patterns.ini file on startup Adblock Plus will now only read the cache file (requires in my tests approximately 35% of the old startup time). It will still load patterns.ini when its data is required, typically when the first page loads. For me this only requires 40% of the old startup time however because the data structures do not need to be rebuilt. So even if your browser doesn’t start with a blank page you should see around 25% speedup. And much of the delay will happen after the browser window opens. The new approach might have caused issues, please post a comment here or create a topic in the forum if you notice any.
Other changes since Adblock Plus 1.3.3 release:
- Special icon state for “whitelisted” webpages has been removed, Adblock Plus shows up as disabled now (forum topic).
- Corruption of patterns.ini file should be less likely now. If a corrupted patterns.ini is recognized a backup will be restored automatically.
- Added support for Do-Not-Track header, will be activated automatically if a subscription like EasyPrivacy is added (forum topic).
- Element hiding stylesheet is now written on disk as elemhide.css, this is both faster and more memory-effective.
- Keyboard shortcut for Preferences is now Ctrl-Shift-F in Firefox 4 (Cmd-Shift-O on OS X) because Ctrl-Shift-E is already taken.
- Fixed: Disabling filters from the list of blockable items won’t actually disable the filter in Firefox 3.6
- Fixed: Selecting a filter (via blockable items’ “Edit filter in effect”) in an already open Preferences dialog doesn’t work
Updated roadmap (Adblock Plus 1.3.5) · 2011-02-04 17:07 by Wladimir Palant
I’ve just put Adblock Plus 1.3.5 on the roadmap. I mentioned this release a bunch of times but wasn’t sure whether we are actually going to release it or whether we will go to Adblock Plus 1.4 immediately. Now we have some nice improvements in the development builds (DNT header support, faster filter matching and startup, less memory used for element hiding) and releasing these improvements before Adblock Plus 1.4 definitely seems worth it. This is what Adblock Plus 1.3.5 will be about, a bunch of improvements under the hood that will hopefully make live better for some people. Adblock Plus 1.4 on the other hand is planned as a major user interface redesign.
Why you do not want to use the LOAD_ANONYMOUS flag · 2011-01-30 15:49 by Wladimir Palant
When you are creating a Firefox extension you don’t need to use browser’s default settings when downloading something, you can choose from a number of load flags defined on the nsIRequest interface instead. Some of them are really useful, e.g. the flags controlling caching. And then there is LOAD_ANONYMOUS
flag that sounds like a good idea for downloads of public files — after all, why should you allow cookies and such? Making user tracking possible isn’t the point here.
Changes to development builds · 2011-01-08 13:03 by Wladimir Palant
Now that we need to produce development builds for Chrome the old Perl script generating development builds was getting somewhat too inflexible. It has been rewritten in Python and now I finished hooking up the new script. While it is still not generating Chrome builds (something to add early next week), there are already some changes for Firefox builds.
How does one approach an "unusual" memory leak? · 2011-01-06 18:05 by Wladimir Palant
Firefox memory usage used to be very stable for me, it reached 200 MB and stayed there. However, some time ago this changed and now I see memory usage close to 1 GB after using Firefox for a few days. This only seems to affect my main Firefox profile which doesn’t see too many changes. So I can name the primary suspects: a minor Firefox release or Adblock Plus 1.3. And I clearly don’t like seeing my extension on the suspects list, so I did everything I could to ensure that it isn’t leaking memory. However, neither Leak Monitor, nor leak gauge, nor direct code inspection did bring up anything suspicious.
Adblock Plus 1.3.3 released · 2011-01-05 10:45 by Wladimir Palant
This is a late release announcement for Adblock Plus 1.3.3.
Changes
- Fixed Adblock Plus 1.3.2 regression: Subscription downloads fail if the proxy server requires authentication
Adblock Plus for Google Chrome to be released soon · 2010-12-15 18:52 by Wladimir Palant
For a while my official position on Adblock Plus for non-Gecko browsers read like this:
Forget it, I am not writing Adblock Plus from scratch just to support your favorite browser (be it Chrome or Safari or Opera or Internet Explorer). And even if somebody gives me the code — I am not going to maintain two unrelated projects. This asks for an independent project and in fact, there are already independent projects to implement ad blocking for all of these browsers.
As you can read from this, the frequent requests to port Adblock Plus to <insert your favorite browser here> got quite annoying. Still, it is time to change this position, we are starting to look into ways to cover other browsers than Firefox and SeaMonkey. And we are starting with Google Chrome, a beta version of Adblock Plus for Google Chrome is scheduled to be released soon. I’ll try to give answers to some questions that you are certainly urging to ask.