Core classes redesign complete · 2008-10-28 16:45 by Wladimir Palant
Warning: The version described here is a development build and as a such it has not been fully tested and might not work properly. Use at your own risk and make sure to backup your filter list. Latest Adblock Plus release can be downloaded from addons.mozilla.org.
A new Adblock Plus 0.7.5.5+ development build (2008102816) has been uploaded. Only en-US locale is available at the moment.
Installation
http://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


user · 2008-10-28 19: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 19: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 19: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 20: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 20: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 20: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 21: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 21: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.