Releases: uBlock-LLC/uBlock
0.9.0.0
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
- [Safari] Facebook photo viewer breaks in certain cases
- Was also causing [Safari] Some YouTube videos sometimes don't play
- In case you missed 0.8.9.2:
- Crash in older versions of Safari resolved; support for Safari 7.x/6.1. Details in 0.8.9.2 release notes.
Core
- Support entering wildcard(s) in element picker's network filters
- [Request] List the date of the last restore if the settings were restored
- Error in filters calculation
- Conditionally avoid Chrome-specific micro-optimisations on non-Chrome builds
- Feature: Filter blocked/allowed requests in the statistics
0.8.9.2
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
and8.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.
0.8.9.1
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:
- Graphical Issue: Bold Black Dot Below uBlock Icon
- Button label with number of blocked requests switches to superscript with red background
Core:
0.8.9.0
Closed as fixed:
- Chrome store feedback: "any.gs/linkbucks ads"
- Still need to be fixed for Firefox
- Placeholders of blocked images not being shown
- Element picker - have to hover to see buttons?
- Dynamic Filtering: Can't use noop or allow rule for image type based on destination-hostname
- It still not allowed, but the non-supported rules will be discarded now
- [Firefox] Slow startup when compared to AdBlock Plus fixing
- Clarification: Adblock Plus delays the loading of filters at launch, uBlock does not delay the loading of filters, therefore ABP just appeared faster to load, while in reality it was not if one considers that "startup" means "fully loaded and ready"
- Despite this difference, work has been done to further improve load speed
- Some charts
0.8.8.4
Closed as fixed
- [Safari] YouTube ads not being blocked and cannot be skipped.
- The fix for this includes major improvements to Safari blocking — added coverage of programmatic
Image
requests and fuller coverage ofXMLHttpRequest
interception.
- The fix for this includes major improvements to Safari blocking — added coverage of programmatic
- [Safari] increase extension storage quota to err on the safe side.
0.8.8.3
Closed as fixed
- [Chromium] Adultswim Player Doesn't Work
- In some cases, the code to work around Chromium bug 410382 failed to do its workaround job.
- Hence this only affected Chromium-based browsers.
0.8.8.2
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
- Albanian translation thanks to bgodole.
- Supported in Firefox, not supported in Chromium or Safari unfortunately.
Changes
Dynamic filtering pane:
- You can now collapse/expand the all subdomains: click on the
all
cell.
Safari
Closed as fixed
- Sites loading as text only
- This could happens sometimes when network requests had to be evaluated while uBlock loaded its filter lists (at launch or during an update).
- Ability to collapse dynamic filtering pane such that only root domains show
- Click the
all
cell at the top to reveal/hide subdomains
- Click the
- make textarea in My filters tab 100% wide
0.8.8.1
0.8.8.0
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
- [Firefox] Some embedded youtube videos do not work without a global noop rule for youtube
- [Firefox] Popup issues
Safari
- [Safari] Blob: type is included in 3rd party list, even though the path is first party
- [Safari] can't access ublock prefs on fav page
Core
- Could not remove pcbeta's ads
- Domains Connected Count is incorrect
- Malware domains long-lived no longer necessary?
- Support importing RequestPolicy export files
- Reload button on the popup isn't disappearing on internal pages
- Power button should not be green
- Make a preference temporary for just this session
- Element picker can pick its own elements
- When updating, wait for update to complete before discarding memory used by previous filters
0.8.7.0
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:
- [Safari] Performance and efficiency improvements
- [Safari] Turning off uBlock for domain doesn't make the site load properly, disabling uBlock does
- [Safari] Don't be lenient stopping XHR requests
- [Safari] µBlock breaks when toolbar icon is hidden
- [Safari] Remove site-patch injection at the expense of blocking YouTube Flash ads
- [Safari] Resolve most commonly occurring exception in background page
Core:
- [Regression #665] uBlock 0.8.7.0-dev.5 breaks website
- [Regression #665] 3rd-party filters settings behavior is inconsistent
- Filter list when site inaccessible is not kept
- [Regression #682] "Connected to x distinct domain(s) out of y" gone in 0.8.7.0
- The statistic has moved to the main pane: Quick guide: popup user interface
- whitelisted stuff in the Romanian List?
- Dynamic filtering's default-deny is unusable
- This makes µBlock a complete alternative to RequestPolicy
- Cosmetic filtering should be disabled if page is under dynamic filtering
allow
rule - contentscript-end.js: remove overhead of short-lived function expression
- Support
* * * [action]
for dynamic filtering - µBlock fail, ABP ok
- One part of the whole issue is fixed. The other part is duplicate of issue #498.
- Can't open datacenter.biathlonresults.com, jQuery was not found
- Element picker's textarea messed up on http://dailycaller.com/
- Create a basic web page to test various net and cosmetic filters at a glance
- It's there: http://raymondhill.net/ublock/tests.html