Closed as fixed:
- Punycode phishing attack detection
- Potentially ambiguous base domain names in the popup panel will be labelled
idn(as in "Internationalized Domain Name"), to inform the user that the domain name contains Cyrillic characters which could be confused with some ASCII characters. - Further reading: IDN homograph attack.
- Potentially ambiguous base domain names in the popup panel will be labelled
- More longer timeout time
- Better handling of timeout conditions for slow connections.
Downloads
Oops... This stable release should have been version 1.12.2 (even number).
No code change, just a re-package with more recent filter lists to ensure uBlock Origin works out of the box with EasyPrivacy without breaking Facebook upload feature: a filter in EasyPrivacy was causing a false positive.
For existing installations, just force an update of EasyPrivacy.
I did not look into the details, but at first glance it seems the false positive appeared as a result of Facebook changing its code. It's unlikely sites such as Facebook (who would rather not encourage the use of blockers) would test their pages when using a blocker in order to ensure their site still works fine with a blocker.
Today I learned: a whole lot of users have no clue that most blockers work based on filter lists which can cause false positives. The Facebook issue would have happened with any blocker making use of EasyPrivacy.
False positives must be reported to filter list maintainers (not here), and often just forcing an update of filter lists may resolve an issue (because maybe somebody else reported the issue and it was fixed by maintainers).
Downloads
Changes
New static network filter option: badfilter. Using this option will prevent another filter to be loaded in memory. See uBlockOrigin/uAssets#192 for rationale for having such a filter option.
Chromium/Firefox WebExtension
Ability to support more request types from webRequest API: csp-report, font, media, websocket, and actually whatever is part of webRequest.ResourceType. This means uBO will be able to natively filter websocket connection attempts starting with Chromium 58.
Firefox
The webext version for Firefox has been converted into a hybrid version, to allow seamless migration of uBO's settings/data from a legacy extension to webext extension. I consider this webext version of uBO to be fit to release to AMO if the current stable Firefox version (52) supported all the proper WebExtensions API required by uBO. All the blocking issues have been resolved, but the fixes will be available in a future stable version of Firefox.
Update: due to auto-update snafu, the webext version of uBO has been given a different id than the official one, this will guarantee that auto-update won't cause issue (you will have to update manually if using the webext version).
Important: If you install the webext version of uBO (you need the most recent build of Nightly), this is what will happen:
When you launch uBO/webext for the first time, it will read all your settings/data from the old storage and migrate them to the new webext storage. This happens only if uBO/webext can find a file named ublock0.sqlite. This will happens only once, the first time you install uBO/webext. Depending of how much data there is to migrate, this may cause your browser to work hard during that first launch and delay readiness.
Once the data from the uBO/legacy has been migrated to uBO/webext, each version of uBO will only see its own data, meaning no change in settings in one version will be seen by the other version. If you remove uBO/webext, this also removes the storage associated to it, meaning re-installing uBO/webext following removal will cause the storage migration code to kick in again.
Closed as fixed:
Chromium
- Use the strictest setting for preventing the leakage of private IP addresses through WebRTC. It turns out the use of the strictest setting has (currently) the unforeseen virtuous side-effect of preventing WebRTC-delivered ads on some sites. See uBlockOrigin/uAssets#333 (comment).
Edge
Firefox
- uBO broken on Firefox mozilla-central tip (fixed by @gijsk through pull request #2493)
- jpm sign fails (fixed by @andreicristianpetcu through pull request #2434)
Firefox/Webextension
Core
- Autogenerated filter breaks a web page
- Cosmetic filters containing pseudo-elements like ::before and ::after are ignored
- Unable to remove/modify dynamic filter when using wildcard
- Dynamic URL Filtering fails to take precedence over Dynamic Filtering for worker requests
- Enable users to create their own custom scriptlets
Downloads
Changes
New static network filter option: badfilter. Using this option will prevent another filter to be loaded in memory. See uBlockOrigin/uAssets#192 for rationale for having such a filter option.
Chromium/Firefox WebExtension
Ability to support more request types from webRequest API: csp-report, font, media, websocket, and actually whatever is part of webRequest.ResourceType. This means uBO will be able to natively filter websocket connection attempts starting with Chromium 58.
Firefox
The webext version for Firefox has been converted into a hybrid version, to allow seamless migration of uBO's settings/data from a legacy extension to webext extension. Update: due to auto-update snafu, the webext version of uBO has been given a different id than the official one, this will guarantee that auto-update won't cause issue (you will have to update manually if using the webext version).
Important: If you install the webext version of uBO (you need the most recent build of Nightly), this is what will happen:
When you launch uBO/webext for the first time, it will read all your settings/data from the old storage and migrate them to the new webext storage. This happens only if uBO/webext can find a file named ublock0.sqlite. This will happens only once, the first time you install uBO/webext. Depending of how much data there is to migrate, this may cause your browser to work hard during that first launch and delay readiness.
Once the data from the uBO/legacy has been migrated to uBO/webext, each version of uBO will only see its own data, meaning no change in settings in one version will be seen by the other version. If you remove uBO/webext, this also removes the storage associated to it, meaning re-installing uBO/webext following removal will cause the storage migration code to kick in again.
Closed as fixed:
Chromium
- Use the strictest setting for preventing the leakage of private IP addresses through WebRTC. It turns out the use of the strictest setting has (currently) the unforeseen virtuous side-effect of preventing WebRTC-delivered ads on some sites. See uBlockOrigin/uAssets#333 (comment).
Edge
Firefox
- uBO broken on Firefox mozilla-central tip (fixed by @gijsk through pull request #2493)
- jpm sign fails (fixed by @andreicristianpetcu through pull request #2434)
Firefox/Webextension
Core
Downloads
Downloads
Changes
Better support for selecting broad cosmetic filters (Ctrl-click) in element picker (1c4347d).
Closed as fixed:
Edge
- DOM Inspector: Fallback to .childNodes when .children not present (pull request from @nikrolls)
Firefox
Core
- Missing text in da-dk localization
- SharedWorker [sibnet.ru]
- Ability to block shared workers using
|blob:-based filters.
- Ability to block shared workers using
- "Block similar elements" option in the "Block Element" dialog
Downloads
Changes
Asset managements was refactored: details.
The user interface of the "3rd-party filters" pane has been revisited:
- To render better in devices with smaller screen.
- Clicking "Update now" is no longer a blocking operation.
- The home icon is a link to the support site for a given filter list.
- The clock icon replaces the "purge cache" label.
- Click to mark a filter list as out-of-date.
- The custom filter lists input field has been repurposed to import external filter lists, as opposed to declare external filter lists as was the case before.
- An imported filter list will have an X icon aside its name, to be used to remove the custom filter list.
- You can now hide unused filter lists by clicking the global filter count at the top.
Procedural cosmetic filters can now be chained and recursive (something which was planned) .
New procedural cosmetic filter operators:
:has-text(argument): to filter elements according to whether they have a specific text string found in them. Use/.../to match a literal regular expression instead of plain text.:if()/:if-not(argument): use to implement recursion,argumentis itself a valid procedural cosmetic filter, but can also be a plain CSS selector.
The cost of parsing procedural cosmetic filters has been moved from content script-time to filter list compile-time, i.e. done only once when a filter list is updated.
Documentation about procedural cosmetic filters has been updated.
The element picker supports all procedural cosmetic filters, i.e. it will also provide visual feedback as you enter manually such filters in the input field. Invalid filters, procedural or not, will be labelled with a bright red E.
Closed as fixed
Firefox
Firefox for Android
Core
- Please enable RU Adlist filter for ex-USSR/CIS locales
- Assets management refactored
- Logger timestamps are incorrect when system time zone is not on hour boundary
- Not blocked websockets (worker)
- Want to create a regex to whitelist all google but no luck
- Ads are not blocked on bing.com web searches (issue filed for Edge, but also present on other platforms, those not supporting user styles or shadow DOM).
- The fix needs to be tested/confirmed for the Edge version.
- For Chromium-based browsers, use of shadow DOM has been removed in an attempt to simplify/unify generic implementation of the concept of user styles. (can be brought back if feedback shows it's needed).
- Most reliable and low overhead cosmetic filtering is on modern Firefox (38+), all other platforms (Chromium, Edge, legacy Firefox, Safari) not providing proper "user styles" API rely on same generic implementation.
- Duplicate filter lists
Downloads
Downloads
Changes
Cosmetic filtering
Implementation of cosmetic filter operator :matches-css has been revised according to the discussion at #1930 (comment) and request in uBlockOrigin/uAssets#212:
:matches-cssnow accept no more than one single style property. If more than one style property must be matched on the same node, you will need to chain them (i.e.div##matches-css(...):matches-css(...)-- ability to chain is coming for next release). Since there is only one style property, do not use trailing;.:matches-css-before()and:matches-css-after()are now also available to specifically match style property for the pseudo elements:beforeand:afteron a node.- Support the use of regexes for property matching: if the first and last character of the value to match is
/, the value will be deemed to be a literal regular expression which must be matched.
Dashboard
The last dashboard's pane you visited will be automatically opened next time you open the dashboard (issue #2206).

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
