Skip to content
This repository has been archived by the owner on Sep 9, 2022. It is now read-only.

Releases: uBlock-LLC/uBlock

0.9.0.0

07 Mar 18:50
Compare
Choose a tag to compare

Reminder: Chromium (or browsers based on) still suffer from that ugly bug which causes a big chunk of memory leak each time a user opens the popup UI of an extension. Therefore, the more you use the popup UI in Chromium, the larger the memory footprint of µBlock (or any extension really) will grow. I've already seen feedback like "doesn't have a µ memory footprint at all for me. >250MB" (for µMatrix). This is important to keep this Chromium memory leak bug in mind if you make use of dynamic filtering, as this feature requires frequent access to the popup UI.

Changes:

  • Network request logger: added functionalities to the network request logger
  • Dashboard: The last time of restore and/or backup is now shown in the Settings pane in the dashboard
  • Element picker: filters created from element picker will now be labeled with the time at which the filter was created and the exact URL from where it was created, as a comment above the filter entry
  • Element picker: you can now use wildcard(s) for a network filter when manually editing it
    • The element picker will highlight all the matches on the web page

Closed as fixed:

Safari
Core

0.8.9.2

04 Mar 23:07
Compare
Choose a tag to compare

This version of µBlock, 0.8.9.2, is identical to 0.8.9.1 for every browser except Safari.


Changes (only 1!):
  • µBlock now implements a workaround older Safari versions don't crash. As tested, this version of µBlock is known to work on 6.1, 7.x and 8.x.

How does this workaround change µBlock on Safari 8.x?

This should not affect µBlock's functionality at all in Safari 8 and later.

How does this workaround change µBlock on Safari 7.x and older?

In those older versions of Safari, the only difference with the default configuration is that two of the pre-packaged filter lists (namely Peter's Lowe's Ad Server List and 'Malware Domains') will have to be downloaded instead.

By design, this download happens automatically by default, but you can always click manually trigger the download by clicking Update Now in µBlock's Preferences -> 3rd-party filters.


What was the problem?

What follows is written by me, µBlock's Safari-guy; it doesn't necessarily express the views of all project collaborators.

The problem was (and still is) a bug in Safari 7 and earlier. The bug still exists in those older versions of Safari, and any extension that may happen to trigger it will cause those crashes.

Hopefully Apple will push a fix to those older versions of Safari (otherwise, some other extension and its users may encounter this in the future).

If you're curious about the bug, read on.

Specifics of bug

µBlock ships pre-packaged with copies of the filter lists it supports — that way, it has something to use for the lists enabled by default right away without having to download them from the servers first.

Those pre-packaged filter list files are named similarly to what their maintainers named them. For instance, EasyPrivacy can be accessed at easylist-downloads.adblockplus.org/easyprivacy.txt, so the filename for the pre-packaged version is easyprivacy.txt.

When µBlock is installed and it launches, it loads those files using simple XHR requests. Safari, like most browsers, gives us a way to do that: you use safari.extension.baseURI followed by the path to your file, and voilà, you can load a file you packaged with your extension.

This indeed works well with most things, including our example above (easyprivacy.txt). In fact, it seems like since Safari 8.0, it works perfectly. No problems whatsoever.

But Safari 7.x crashes miserably. This is already odd: a JavaScript program shouldn't be able to crash your whole browser no matter what.

After doing much investigation via VNC on a virtual machine that's actually running Mavericks, I found the problem. Two of the default filter lists:

those two lists were pre-packaged in files that shipped with µBlock: justdomains and serverlist. No .txt suffix.

Yes.

Safari 7.x crashes if you try to load a file from your package whose name happens not to have an 'extension'.

easylist.txt? Dandy. justdomains? Boom.

Correct: it's not just a mere stray exception thrown, the whole browser crashes.

I think it was fair to conclude this was a browser bug. It's not due to negligence on µBlock's part.

With the obscurity and nature of this bug considered, this problem with µBlock for Safari was the result of an unfortunate incidental set of circumstances, unavoidable without the hindsight we have today.

As the Safari maintainer (just personally), I hope you understand. Enjoy µBlock.

Download µBlock 0.8.9.2 for Safari

0.8.9.1

28 Feb 15:01
Compare
Choose a tag to compare

Reminder: Chromium (or browsers based on) still suffer from that ugly bug which causes a big chunk of memory leak each time a user opens the popup UI of an extension. Therefore, the more you use the popup UI in Chromium, the larger the memory footprint of µBlock (or any extension really) will grow. I've already seen feedback like "doesn't have a µ memory footprint at all for me. >250MB" (for µMatrix). This is important to keep this Chromium memory leak bug in mind if you make use of dynamic filtering, as this feature requires frequent access to the popup UI.

Closed as fixed:

Firefox:
Core:

0.8.9.0

28 Feb 05:05
Compare
Choose a tag to compare

Closed as fixed:

0.8.8.4

23 Feb 19:07
Compare
Choose a tag to compare

Closed as fixed

0.8.8.3

22 Feb 14:14
Compare
Choose a tag to compare

Closed as fixed

0.8.8.2

20 Feb 04:40
Compare
Choose a tag to compare

Reminder: Chromium (or browsers based on) still suffer from that ugly bug which causes a big chunk of memory leak each time a user opens the popup UI of an extension. Therefore, the more you use the popup UI in Chromium, the larger the memory footprint of µBlock (or any extension really) will grow. I've already seen feedback like "doesn't have a µ memory footprint at all for me. >250MB" (for µMatrix). This is important to keep this Chromium memory leak bug in mind if you make use of dynamic filtering, as this feature requires frequent access to the popup UI.

New

Changes

Dynamic filtering pane:
  • You can now collapse/expand the all subdomains: click on the all cell.
Safari

Closed as fixed

0.8.8.1

16 Feb 00:01
Compare
Choose a tag to compare

Emergency fix:

0.8.8.0

15 Feb 21:13
Compare
Choose a tag to compare

Reminder: Chromium (or browsers based on) still suffer from that ugly bug which causes a big chunk of memory leak each time a user opens the popup UI of an extension. Therefore, the more you use the popup UI in Chromium, the larger the memory footprint of µBlock (or any extension really) will grow. I've already seen feedback like "doesn't have a µ memory footprint at all for me. >250MB" (for µMatrix). This is important to keep this Chromium memory leak bug in mind if you make use of dynamic filtering, as this feature requires frequent access to the popup UI.

Changes & enhancements

Safari

Important (though minor) improvements in request capturing(gorhill/uBlock@d2cc20ed47)

  • Bonus: out-of-the-box support for HTML5 twitch.tv (some users may need to disable Flash to get the HTML5 player)
Core

All dynamic rules are temporary by default: Click the padlock if you want to persist the ruleset for a specific web site.

  • The padlock will be visible if and only if there is at least one temporary rule in the pane
  • This is really the optimal way to use dynamic filtering, as using this feature is often a matter of trial and error
  • This prevents ruleset pollution: your ruleset will be only those which you will have explicitly persisted
  • If you Ctrl-click to set/unset a rule, it will be immediately persisted (command ⌘-click on Mac)

µBlock's power button's color is now 450nm-blue-LED: green could lead to confusion given that in the dynamic filtering pane, green is used to denote that network requests won't be blocked.

The assets auto-updater has been rewritten, to work in a more gentle and discrete way

  • Assets which need to be updated will be fetch one by one in the background, with a good delay between each fetch (this prevents large peak in memory and network bandwidth usage)
  • Once all assets have been updated, they will then all be reloaded using their locally cached copies
  • The optimal way to update assets in µBlock is to let auto-update do the job: it is more gentle on resources locally and also more gentle to remote servers

Closed as fixed

Firefox
Safari
Core

0.8.7.0

08 Feb 23:07
Compare
Choose a tag to compare

Reminder: Chromium (or browsers based on) still suffer from that ugly bug which causes a big chunk of memory leak each time a user opens the popup UI of an extension. Therefore, the more you use the popup UI in Chromium, the larger the memory footprint of µBlock (or any extension really) will grow. I've already seen feedback like "doesn't have a µ memory footprint at all for me. >250MB" (for µMatrix). This is especially important to keep this Chromium memory leak bug in mind with this release if you make use of dynamic filtering, as this feature requires frequent access to the popup UI.

Closed as fixed:

Firefox:

Safari:

Core: