Adblock Plus and (a little) more
Core classes redesign complete · 2008-10-28 17:45 by Wladimir Palant
A new Adblock Plus 0.7.5.5+ development build (2008102816) has been uploaded. Only en-US locale is available at the moment.
Installation
https://adblockplus.org/devbuilds/
Warning: Format of patterns.ini file changed in a way that is not backwards compatible. If you want to go back to an older version of Adblock Plus, keep a backup or you will loose all your filters.
Note: Due to extensive redesign, bugs are expected, especially around the Preferences dialog. Please report the issues you find.
Changes
- Added new filter composer dialog that is opened to add a new filter
- Moved warning that Adblock Plus is disabled from preferences to composer dialog, made it possible to enable with a single click
- Blockable items: Changed default action for blocked items to “add exception rule” instead of “edit filter”
- Blockable items: Tooltip now shows the filter source in addition to the filter itself
- Blockable items: Added “Copy filter” item to the context menu
- Blockable items: Multiple selection and copying of multiple addresses/filters now possible
- Blockable items: Added “Select all” item to the context menu
- Blockable items: Filters can now be disabled and re-enabled from the context menu
- Fixed: Subscriptions are sometimes loaded from browser cache
- Added hidden preference extensions.adblockplus.savestats to allow turning off hit statistics (useful if patterns.ini is put into a version control system)
- Firefox 1.5, Thunderbird 1.5, SeaMonkey 1.0, Songbird 0.5/0.6 are no longer supported
- Flock 1.2 and Songbird 0.7 are supported now
- Cleaned up some backwards compatibility hacks
- Removed ancient drag&drop handling code (not discoverable and not advertised anywhere)
- Redesigned core classes for better maintainability, added code documentation and tests for large parts of the core
- Changed patterns.ini format to allow user-defined filters to be stored in any filter group
- Adblock Plus 0.6 preferences are no longer imported on upgrade
- Adblock preferences are no longer imported on upgrade (filter list still imported)
- Preferences: eliminated delay when Preferences window is opened and much of the delay when changes are applied
- Preferences: Added View menu to control visible columns and sorting, removed column picker
- Fixed: Dates in Preferences window would sometimes use wrong character encoding (bug 441370)
- Fixed: “Edit filter in effect” might select the filter in a disabled subscription even though it exists in an enabled one
- Preferences: Pasting filters that contain spaces (especially comments) now possible (bug 18920)
- Preferences: Groups containing user-defined filters can now be disabled as well”
- Preferences: Removed “Add filter” dummy from the list
- Preferences: Comments can now be inserted in all filter groups, not only “Advertisement filters”
- About dialog: Made it possible to select and copy version number
- Made sure filter composer warns the user on regexps and too short filters
- Preferences: Showing exclamation mark for too short filters as well now
- Preferences: Added a tooltip explaining the meaning of the exclamation mark
- Preferences: Removed regular expressions warning and corresponding preference extensions.adblockplus.warnregexp (warning in composer and exclamation mark are enough)
- Preferences: Removed dropdown list from filter editor
- Preferences: Filter changes (with exception of element hiding) no longer apply immediately to the “current” window, this is only done for the composer
- Preferences: “Add subscription” now opens a list of subscriptions instead of the “custom subscription” dialog
- Fixed: Findbar in preferences dialog has no icons (Firefox 3)
- Mac OS X: Preferences menu changed into toolbar to make sure it stays inside the window (forum topic)
- Fixed: Object tabs show up on print (bug 19405)
- New options $third-party and $~third-party restrict filters to third-party/first-party requests
- Subscription download: Next attempt after failed download is after one day now rather than after one hour (preference extensions.adblockplus.subscriptions_fallbackerrors adjusted accordingly)
- Fallback request can now disable automatic downloads for subscriptions that are no longer available
- Fixed: Preferences dialog doesn’t immediately display changes to “downloaded automatically” status
- Fixed: Blockable items list header is hidden in fullscreen mode
- Preferences: “Reset filter statistics” now resets “Last hit” as well
- Preferences: using more obvious image for “enabled” state (forum topic)
- Fixed: “Disable on this page only” won’t work for pages with query string
- Significantly reduced the time for reading patterns list from disk as well as for writing it back
- Reduced the amount of memory used for long filter lists
- Made sure patterns file isn’t overwritten unless write was successful (bug 16488)
Known issues
- Comments cannot be moved between filter groups
After first download of the subscription all filters are marked as “too short”Songbird: Links opened by Adblock Plus open in the default browser
Source code revision: 9d80240f4678
Comment [8]
Commenting is closed for this article.
user · 2008-10-28 20:26 · #
after installing this version most sites aren’t loading their layouts. It is as if css is disabled. Even on your own site’s front page ( http://adblockplus.org/en/ ) with this version installed, and enabled, all the layout is gone. I am using Filterset.G ( http://www.pierceive.com/filtersetg/ ) and Firefox 3.1 nightly builds ( http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/mozilla-central-win32/ ) I’ve tried with JIT content enabled and with it disabled, same result. I always leave JIT chrome disabled.
Reply from Wladimir Palant:
Using Filterset.G isn’t recommended, see http://adblockplus.org/en/faq_project#filterset.g
What does the list of blockable items show? http://adblockplus.org/en/tips?tip=effective_filter
user · 2008-10-28 20:35 · #
Wladimir,
Thanks. I wasn’t aware Filterset.G was so troublesome. There was a time it was widely recommended. I have switched to easylist and the problem is gone.
Ares2 · 2008-10-28 20:37 · #
There seems to be a problem with whitelists, they are interpreted as blocking rules.
Example:
1. Whitelist @@http://adblockplus.org/textpattern/site.css
2. Reload
3. The stlyesheet is blocked
(As Filtetset.G contains a general @@$stylesheet, this happens on all sites with it).
Reply from Wladimir Palant:
You are right, I somehow managed to overlook that issue. Looking into it…
Reply from Wladimir Palant:
Turns out there was a bunch of issues concerning whitelisting filters. Fixed all of them, new development build is up.
Ares2 · 2008-10-28 21:10 · #
Another one: Disabling/Enabling filters in preferences doesn’t apply unless you restart Firefox.
1. Go to http://adblockplus.org/en/
2. Block ‘http://adblockplus.org/images/75.png’
3. Reload -> Image blocked
4. Blockabe items: ‘Edit filter in effect’ -> disable in preferences -> OK or Apply
5. Reload -> Still blocked
6. Restart Firefox and go to http://adblockplus.org/en/ -> not blocked
With the new context menu entry ‘disable filter x’ it’s working as expected (=after a reload of the site).
Reply from Wladimir Palant:
Fixed this one as well and re-uploaded the development build. Thanks!
lovelywcm · 2008-10-28 21:31 · #
I can confirm this issue (as reported by Ares2).
In addition, enable or disable a filter will make no effect. If an element is blocked by a filter, disable the filter and reload, it will still be blocked, vice versa. Unless change is made to whole filter group.
lovelywcm · 2008-10-28 21:45 · #
Well, I find Ares2 is earlier than me for 20 sec., made my report a duplication.
Reply from Wladimir Palant:
Actually, it was 20 minutes – and I already put a new development build up when you posted :)
Thanks anyway, and please continue testing with the new development build.
lovelywcm · 2008-10-28 22:04 · #
Unbelievable, more than 20 minutes passed…
I was so dedicated to test whether it’s indeed a bug and what condition will absolute result in this bug.
Anonymous · 2008-10-31 22:43 · #
Could you provide more detailed documentation of the changes to patterns.ini?
I share my patterns.ini across machines, and this will prove somewhat inconvenient. It would help to know the nature of the changes.
Reply from Wladimir Palant:
In the old format, user-defined filters were all stored in a [user patterns] section. Now they are listed under the respective group as [subscription filters]. That was important to allow comments to stay in the group where they were created. And while I was already changing the format, I renamed [pattern] into [filter] and [subscription patterns] into [subscription filters]. Also, the new code saves much less redundant information but that’s something the old version can deal with.