uBlock Origin 1.16.6 - May 15, 2018

See release notes.
 
Closed as fixed
 

Commits history since 1.16.4.

uBlock Origin 1.16.5rc1 - May 14, 2018

[no description]

uBlock Origin 1.16.5rc0 - May 10, 2018

[no description]

uBlock Origin 1.16.5b4 - May 8, 2018

[no description]

uBlock Origin 1.16.5b3 - May 8, 2018

[no description]

uBlock Origin 1.16.5b2 - May 7, 2018

[no description]

uBlock Origin 1.16.5b1 - May 6, 2018

[no description]

uBlock Origin 1.16.5b0 - May 4, 2018

[no description]

uBlock Origin 1.16.4 - May 3, 2018

See release notes.
 
Closed as fixed:
Commits history since 1.16.2.

uBlock Origin 1.16.3rc2 - May 2, 2018

[no description]

uBlock Origin 1.16.3rc1 - May 2, 2018

[no description]

uBlock Origin 1.16.3rc0 - May 1, 2018

[no description]

uBlock Origin 1.16.3b2 - April 30, 2018

[no description]

uBlock Origin 1.16.3b1 - April 29, 2018

[no description]

uBlock Origin 1.16.3b0 - April 28, 2018

[no description]

uBlock Origin 1.16.2 - April 25, 2018

See release notes.
 

Commits history since 1.16.0.

uBlock Origin 1.16.1rc5 - April 24, 2018

[no description]

uBlock Origin 1.16.1rc4 - April 24, 2018

[no description]

uBlock Origin 1.16.1rc3 - April 23, 2018

[no description]

uBlock Origin 1.16.1rc2 - April 22, 2018

[no description]

uBlock Origin 1.16.1rc1 - April 21, 2018

[no description]

uBlock Origin 1.16.1rc0 - April 20, 2018

[no description]

uBlock Origin 1.16.0 - April 19, 2018

See release notes.
 
New:
 
Added support for pre-parsing directives to filter list compiler. This allows filter list maintainers to create areas in a filter list which will be compiled only if certain conditions are met (or not met). See detailed documentation.
 
Changes:
 
The "3rd-party filters" pane in the dashboard has been renamed "Filter lists", and its look and behavior has been fine tuned.
 
Work has been done in the dashboard to further improve rendering on small screens.
 
Closed as fixed:
 

Commits history since 1.15.24.

uBlock Origin 1.15.25rc3 - April 14, 2018

[no description]

uBlock Origin 1.15.25rc2 - April 12, 2018

[no description]

uBlock Origin 1.15.25rc1 - April 12, 2018

[no description]

uBlock Origin 1.15.25rc0 - April 12, 2018

[no description]

uBlock Origin 1.15.25b6 - April 11, 2018

[no description]

uBlock Origin 1.15.25b5 - April 10, 2018

[no description]

uBlock Origin 1.15.25b4 - April 10, 2018

[no description]

uBlock Origin 1.15.25b3 - April 9, 2018

[no description]

uBlock Origin 1.15.25b2 - April 6, 2018

[no description]

uBlock Origin 1.15.25b1 - April 5, 2018

[no description]

uBlock Origin 1.15.25b0 - April 2, 2018

[no description]

uBlock Origin 1.15.24 - April 2, 2018

See release notes.
 
The release version of uBO on AMO is not allowed to update its resources.txt asset. This means the version shipped with the extension must be used. However, uBO compile and cache the data in resources.txt, and unless the cache is invalidated, uBO will keep using a potentially out of date version of resources.txt. This has been fixed by unconditionally invalidating the cache when a new version of uBO is detected.
 
Commits history since 1.15.24.

uBlock Origin 1.15.23b0 - April 2, 2018

[no description]

uBlock Origin 1.15.22 - April 2, 2018

See release notes.
 
 
Regression introduced in version 1.15.12 with the fix to issue #3546: whitelist directives were not taken into account for filterable behind-the-scene network requests. This is now fixed.
 
Commits history since 1.15.22.

uBlock Origin 1.15.20 - April 2, 2018

See release notes.
 
Changes:
 
From now on, behind-the-scene network requests will be treated and filtered just like any other network requests. The behind-the-scene scope will be un-whitelisted when migrating to 1.15.20+ from an older version.
 
This will not apply to current installations of the Firefox/legacy version of uBO, as this would cause serious breakage of the browser given that uBO can see all network requests in Firefox/legacy. However for a fresh install of the Firefox/legacy, you will have to manually add the behind-the-scene scope as a whitelist directive in the Whitelist pane.
 
Keep in mind I plan to drop support for Firefox/legacy once Firefox 60 ESR is released on May 7. This will remove a roadblock for simplifying uBO's code base in many areas.
 
Miscellaneous:
 

Closed as fixed:
 

Commits history since 1.15.20.

uBlock Origin 1.15.19rc6 - April 1, 2018

[no description]

uBlock Origin 1.15.19rc5 - March 31, 2018

[no description]

uBlock Origin 1.15.19rc4 - March 31, 2018

[no description]

uBlock Origin 1.15.19rc3 - March 31, 2018

[no description]

uBlock Origin 1.15.19rc2 - March 30, 2018

[no description]

uBlock Origin 1.15.19rc1 - March 30, 2018

[no description]

uBlock Origin 1.15.19rc0 - March 30, 2018

[no description]

uBlock Origin 1.15.19b8 - March 28, 2018

[no description]

uBlock Origin 1.15.19b7 - March 28, 2018

[no description]

uBlock Origin 1.15.19b6 - March 28, 2018

[no description]

uBlock Origin 1.15.19b5 - March 27, 2018

[no description]

uBlock Origin 1.15.19b4 - March 27, 2018

[no description]

uBlock Origin 1.15.19b3 - March 27, 2018

[no description]

uBlock Origin 1.15.19b2 - March 23, 2018

[no description]

uBlock Origin 1.15.19b1 - March 21, 2018

[no description]

uBlock Origin 1.15.19b0 - March 18, 2018

[no description]

uBlock Origin 1.15.18 - March 18, 2018

See release notes.
 
Closed as fixed:
 

Commits history since 1.15.18.

uBlock Origin 1.15.17b1 - March 17, 2018

[no description]

uBlock Origin 1.15.17b0 - March 17, 2018

[no description]

uBlock Origin 1.15.16 - March 17, 2018

See release notes.
 
Closed as fixed:
 

Commits history since 1.15.16.

uBlock Origin 1.15.15rc1 - March 16, 2018

[no description]

uBlock Origin 1.15.15rc0 - March 16, 2018

[no description]

uBlock Origin 1.15.14 - March 16, 2018

See release notes.
 
New
 
Added a new advanced setting: streamScriptInjectFilters. The purpose is to tell uBO to use stream filtering to inject scriptlets where possible. Default to false. Set to true to bring back scriptlet injection through stream filtering as was the default before 1.15.10. A fix has also been added to resolve https://github.com/uBlockOrigin/uAssets/issues/1492, which was the main reason to disable stream filtering-based scriptlets injection in 1.15.10.
 
Integration of CodeMirror in uBO's dashboard. Please do not open feature requests related to this.
 
Changes:
 
Firefox/webext
 
From now on, the beta version will be signed and self-hosted here. The stable version and the beta version auto-update independently of each other.
 
Closed as fixed:
 

Commits history since 1.15.10.

uBlock Origin 1.15.12 - March 16, 2018

[no description]

uBlock Origin 1.15.11b15 - March 14, 2018

[no description]

uBlock Origin 1.15.11b13 - March 12, 2018

[no description]

uBlock Origin 1.15.11b12 - March 12, 2018

[no description]

uBlock Origin 1.15.11b11 - March 12, 2018

[no description]

uBlock Origin 1.15.11b10 - March 11, 2018

[no description]

uBlock Origin 1.15.11b9 - March 5, 2018

[no description]

uBlock Origin 1.15.11b8 - March 4, 2018

[no description]

uBlock Origin 1.15.11b7 - March 4, 2018

[no description]

uBlock Origin 1.15.11b6 - March 1, 2018

[no description]

uBlock Origin 1.15.11b5 - Feb. 28, 2018

[no description]

uBlock Origin 1.15.11b4 - Feb. 27, 2018

[no description]

uBlock Origin 1.15.11b3 - Feb. 26, 2018

[no description]

uBlock Origin 1.15.11b2 - Feb. 26, 2018

[no description]

uBlock Origin 1.15.11b1 - Feb. 24, 2018

[no description]

uBlock Origin 1.15.10 - Feb. 20, 2018

See release notes.
 
I rolled back part of the fix for #3069: scriptlets are back to being injected using the delayed path. Using stream filtering to inject the scriptlets raised two distinct issues lately:
 

HTML filtering is still available, i.e. filters using the ##^ syntax are unaffected.
 
 
Commits history since 1.15.10.

uBlock Origin 1.15.8 - Feb. 20, 2018

See release notes.
 
Emergency fix:
 
Fixed a minor memory leak occurring as a result of injecting scriptlets (through ##script:inject(...) filters) using webRequest.filterResponseData.
 
Commits history since 1.15.8.

uBlock Origin 1.15.6 - Feb. 13, 2018

Emergency fix:

uBlock Origin 1.15.4 - Feb. 3, 2018

See release notes.
 
Closed as fixed:
 

Commits history since 1.15.4.

uBlock Origin 1.15.2 - Feb. 3, 2018

See release notes.
 
No change to the code, I just updated the filter lists packaged with the extension -- due to a bad EasyList filter being shipped with the previous package.
 
Commits history since 1.15.2.

uBlock Origin 1.15.0 - Feb. 1, 2018

See release notes.
 
New
 
HTML filtering
 
Ability to remove DOM elements from a source document before it is parsed by the browser. The platform must support an extension API to modify the response body on the fly. Currently only Firefox 57+ allows this.
 
The filter syntax is similar to cosmetic filtering, except that the character ^ is used before a valid selector to denote that the filter is to be applied to the source data. Contrary to cosmetic filtering, with HTML filtering the elements matching a selector are removed from the source. Example:
 
twitter .com##^meta[http-equiv="refresh"]
www.google .ca##^#hplogo
boards.4chan .org##^script:has-text(7c9e3a5d51cdacfc)

Note that procedural operators are supported. Procedural operators which are senseless to use on source data will be ignored. For example, it makes no sense to use procedural operator such :matches-css(...) for HTML filtering.
 
Note that HTML filtering essentially brings back support for inline script tag filtering. I plan on deprecating the syntax ##script:contains(...) in favor of ##^script:has-text(...). For the time being, uBO will conveniently convert the old syntax to the new HTML filtering syntax.
 
Given that HTML filters are to be applied to the source data of a document, the best way to create such filters is to view-source: the document and from there analyze what should be removed. Thus the element picker won't be extended as a tool to create HTML filters.
 
In case it's still not clear at point: this is a big deal feature.
 
Sub-filter lists

Ability for filter list maintainers to force uBO to load extra filter lists from within a filter list, using an !#include directive. Example:
 
!#include adblock_ublock.txt
 
When uBO encounters the above directive inside a filter list, it tells uBO to load the extra filter list and append it to the current one. The main purpose of such directive is to allow filter list maintainers to be able to make use of uBO's extended filter syntax, without forfeiting the ABP-compatibility of their main filter list: ABP will ignore such directive since it will be seen as a mere comment.
 
All the details of the new directives syntax is being fleshed out at https://github.com/AdguardTeam/AdguardBrowserExtension/issues/917. At this point only !#include is implemented by uBO, because it solves immediately a current issue by simplifying the work of filter list maintainers who want to make use of uBO's extended filter syntax.
 
Important: uBO forbids sublists which are outside the directory of the main list. Typically, filter list maintainers will just use a single file name, as seen in the example above, in which case same-origin and same directory is implicit.
 
Changes
 
Logger
 
The logger can now be opened in a sidebar on Firefox. Just open the side bar and "uBlock₀ -- Logger" will be available as a choice.
 
Given this new ability, I added the following enhancements:
 

Given that uBO's logger is unified, being able to open the logger in a sidebar means you could end up having multiple views opened for the logger: only one view will work at any given time.
 
Mind that there are minor visual issues which I have no control over:
 

Closed as fixed:
 

Commits history since 1.14.24.

uBlock Origin 1.14.24 - Jan. 13, 2018

See release notes.
 
Emergency fix for "Cannot full support Domain restrictive Inverse type options": static network filters with a mix of negated and non-negated "domain=" option were instantiated in a way which rendered them unenforceable.
 
Commits since 1.14.22:

uBlock Origin 1.14.22 - Dec. 14, 2017

See release notes.
 
Accepted pull requests
 

Closed as fixed:
 

Commit history between 1.14.20 and 1.14.22.

uBlock Origin 1.14.20 - Nov. 29, 2017

See release notes.
 
Changes
 
The filter list "AAK-Cont Filters For uBlock Origin" has been removed from stock filter lists, it is no longer maintained. See #3241. Note that uBO is equipped to deal with anti-blockers, it's just a matter of users reporting instances to volunteer maintainers. Everybody is welcomed to assist in finding solutions to reported filter issues.
 
The DOM inspector has been improved a bit to make it more usable (see #407). Some refactoring was necessary to move forward this part, and as a result the DOM inspector is currently not available on legacy Firefox. This will be addressed only as time allow. Note that I still consider the DOM inspector to be work in progress. In case you wonder, the DOM inspector is the best way to visualize the effects of cosmetic filters on a page and to create exception cosmetic filters.
 
The semantic of the no-csp-reports switch has been changed from "block CSP reports from" to "block CSP reports to". This does not change the behavior of the "Block CSP reports" setting. This change of semantic makes sense, and this also removes an incompatibility with NoScript 10 (see #3260).
 
Accepted pull requests:
 

Closed as fixed:
 

Commit history between 1.14.18 and 1.14.20.

uBlock Origin 1.14.18 - Nov. 8, 2017

See release notes.
 
Firefox WebExtensions: Issues with uBO/webext? If so, then read carefully before filing any issue.
 
New
 
A new setting has been added in the Privacy section of the Settings pane in the dashboard: "Block CSP reports". Default is un-checked. Rationale for this new setting: issue #3150. Documentation for this new setting: Block CSP reports.
 
Changes
 
Small improvements to the element picker on touchscreen devices:
 

Closed as fixed:
 

Commit history between 1.14.16 and 1.14.18.

uBlock Origin 1.14.16 - Oct. 21, 2017

See release notes.
 
Firefox WebExtensions
 
Issues with uBO/webext? If so, then read carefully before filing any issue.
 
Firefox for Android 56: I have observed that the "Options" button does not appear in about:addons with this version of uBO (while this works fine with Nightly, quite probably because of bugzilla issue 1364945). However, unlike with Firefox for Android 55, uBO's entry in the browser menu is properly shown, so you can access the dashboard through the popup panel.
 
Closed as fixed:
 

Commit history between 1.14.14 and 1.14.16.

uBlock Origin 1.14.14 - Oct. 9, 2017

See release notes.
 
Firefox WebExtensions
 
Issues with uBO/webext? If so, then read carefully before filing any issue.
 
Firefox for Android 56: I have observed that the "Options" button does not appear in about:addons with this version of uBO (while this works fine with Nightly, quite probably because of bugzilla issue 1364945). However, unlike with Firefox for Android 55, uBO's entry in the browser menu is properly shown, so you can access the dashboard through the popup panel.
 
Closed as fixed:
 

Commit history between 1.14.12 and 1.14.14.

uBlock Origin 1.14.12 - Oct. 8, 2017

See release notes.
 
Firefox WebExtensions
 
Issues with uBO/webext? If so, then read carefully before filing any issue.
 
Firefox for Android 56: I have observed that the "Options" button does not appear in about:addons with this version of uBO (while this works fine with Nightly, quite probably because of bugzilla issue 1364945). However, unlike with Firefox for Android 55, uBO's entry in the browser menu is properly shown, so you can access the dashboard through the popup panel.
 
Changes:
 
The filter list category Social has been renamed to broader Annoyances.
 
Changes in selection of stock filter lists:
 
Added:
 

Changed:
 

Removed:
 

For whoever has one of the removed list selected, it will be moved to the "Custom" section (i.e. converted into an imported filter list).
 
Closed as fixed:
 
  • Performance issue when looking up a cosmetic filter's origin in the logger
  • Zapper and picker mode dont work on firefox 55/56
  • Prebake - Filter Obtrusive Cookie Notices - not updated
  • Middle clicking on a link triggers popup rule
  • ABP new filter not working on uBO
  • Add Anti-Adblock Killer Continued
  • Unsupported genericblock causes supported generichide to be ignored
  • no-remote-fonts option not working for inlined fonts
  • Pushing to cloud storage fails silently: no hint is provided about the failureCommit history between 1.14.10 and 1.14.12.
  • uBlock Origin 1.14.10 - Sept. 13, 2017

    See release notes.
     
    Code review-related fix: a test was introduced in #2950, which purpose was meant to punycode only if required for Firefox 52-56. Turns out the regex used in the test was flawed and this caused the punycoding code path to be always taken, meaning a pointless added overhead in network request handlers for when no punycoding is needed. Fixed with 04a41d8b.
     
    Commit history between 1.14.8 and 1.14.10.

    uBlock Origin 1.14.8 - Sept. 4, 2017

    See release notes.
     
    Closed as fixed:
     

    Commit history between 1.14.6 and 1.14.8.

    uBlock Origin 1.14.4 - Sept. 1, 2017

    See release notes.
     
    Closed as fixed:
     

    Commit history between 1.14.0 and 1.14.4.

    uBlock Origin 1.14.0 - Aug. 30, 2017

    See release notes.
     
    Changes
     
    Due to the many reported issues with the webext-hybrid version of uBO, I am pushing the pure webext version of uBO to AMO. If this causes all your custom settings to be lost, you can recover them by following the steps outlined in the release notes of 1.13.10.
     
    As required by AMO review process, the Firefox webext[-hybrid] version of uBO will no longer fetch the latest version of assets/filters/resources.txt from the project's repository.
     
    The Firefox webext[-hybrid] version of uBO now uses indexedDB to store its cacheable assets<sup>[1]</sup>. There are positive and negative consequences as a result. See issue #2925 for details.
     
    <sub>[1] "Cacheable assets" refer to: filter lists downloaded from remote servers; compiled (pre-parsed) filter lists; "selfie" (kind of dated doc but "selfie" part is still relevant).</sub>
     
    Closed as fixed:
     

     
    Commit history between 1.13.10 and 1.14.0.

    uBlock Origin 1.13.10 - Aug. 23, 2017

    See release notes.
     
    Notes
     
    Firefox WebExtensions
     
    This is the webext-hybrid version of uBlock Origin to be published on AMO. It's still is marked as "Legacy" in Firefox because of the data migration legacy code present, so as to seamlessly migrate your settings from legacy storage to webext storage.
     
    See Firefox WebExtensions documentation for up to date information regarding the uBO/webext[-hybrid].
     
    Closed as fixed:
     

     
    Commit history between 1.13.8 and 1.13.10.

    uBlock Origin 1.13.8 - July 18, 2017

    See release notes.
     
    Notes
     
    Stock filter lists
     
    I added code to enable me to remove stock filter lists in a seamless way for users. There are a couple of stock filter lists I wish to remove (because no longer maintained), but I refrain from doing so because it would be rude to remove a stock filter list which might be enabled for some users out there. The added code will convert removed stock filter lists which are enabled into imported filter lists, so that no change occurs in the resulting filterset from a user’s point of view.
     
    Firefox WebExtensions
     
    I plan to push the webext-hybrid version of uBO into uBO’s dev channel on AMO as soon as 1.13.8 is published. I don’t think the webext-hybrid qualifies as a webext, but is a necessary step to migrate user data seamlessly.
     
    For up to date detailed documentation about the WebExtension version of uBlock Origin, see Firefox WebExtensions.
     
    Closed as fixed:
     

    Commit history between 1.13.4 and 1.13.8.

    uBlock Origin 1.13.4 - June 26, 2017

    See release notes.
     
    Closed as fixed:
     

    Commit history between 1.12.4 and 1.13.4.

    uBlock Origin 1.13.0 - June 20, 2017

    See release notes.
     
    New
     
    New static network filter option: csp=
     
    This new filter option allows to inject any Content Security Policy header in pages matching the filter. See #1930 for discussion about the rationale behind this new filter option.
     
    Some existing filters may be converted internally to csp=-based filters by uBO. For example, a filter such as |blob:$script,[...] will be converted to *$csp=script-src 'self' * data: 'unsafe-inline' 'unsafe-eval',[...], in order to enforce the blocking of blob:-based URIs for scripts, something otherwise not possible through the chrome.webRequest API.
     
    Element zapper
     
    Ability to zap DOM elements on the current page: the purpose is to quickly deal with the removal of nuisance elements on a page without having to create one or more filters: see documentation.
     
    Support for keyboard shortcuts
     
    Features which can be launched using a keyboard shortcut:
     

    You can re-configure the default shortcuts for the above commands by opening about:config and filtering with extensions.ublock0. The default shortcuts are built-in, if you want to re-defined or un-set them, you will have to create the entries:
     

    To disable a built-in shortcut, set the value to -.
     
    To reset to a default shortcut, reset the corresponding entry in about:config.
     
    These about:config shortcut values are read only at launch time, so you will have to restart uBO for the changes to take effect.
     
    Changes
     
    Some refactoring work of static filtering engine
     

    This is an important refactoring. At first my intention was to add support for csp= filter syntax, but this required some refactoring, and while at it I decided to address a lot of other details regarding static filtering engine which I meant to address since a while, hence the extent of the changes to the code.
     
    As a result, I have observed that baseline memory footprint of uBO itself is 5-6 MB less with 1.13.0 compared to 1.12.4 on both Chromium and Firefox (Linux 64-bit, default uBO settings).
     
    Improved compatibility with Adguard's filter lists
     
    See #2624. I do plan to add Adguard's English filter lists to uBO's stock filter lists for the next stable release.
     
    Given that both Adguard and uBO support advanced filter syntax not supported by ABP (which advanced syntax benefit end users and make a filter list maintainer's life easier), and given that EasyList maintainers are limiting themselves to support no more than what ABP can support, enabling Adguard's filter lists as default list in their respective locale is something I am considering.
     
    Closed as fixed:
     

    Commit history between 1.12.4 and 1.13.0.

    uBlock Origin 1.12.4 - May 14, 2017

    See release notes.
     
    Closed as fixed:
     

    Commit history between 1.12.1 and 1.12.4.

    uBlock Origin 1.12.1 - April 15, 2017

    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).

    uBlock Origin 1.12.0 - April 9, 2017

    See release notes.
     
    Changes
     
    New static network filter option: badfilter. Using this option will prevent another filter to be loaded in memory. See https://github.com/uBlockOrigin/uAssets/issues/192 for rationale for having such a filter option.
     
    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:
     

    Commit history between 1.11.4 and 1.12.0.

    uBlock Origin 1.11.4 - March 13, 2017

    See release notes.
     
    Closed as fixed:
     
    adminSettings and filterLists
     
    Commit history between 1.11.2 and 1.11.4.

    uBlock Origin 1.11.2 - March 3, 2017

    See release notes.
     
    Changes
     
    Better support for selecting broad cosmetic filters (Ctrl-click) in element picker (see 1c4347d6).
     
    Closed as fixed
     

    Commit history between 1.11.0 and 1.11.2.

    uBlock Origin 1.11.0 - Feb. 6, 2017

    See release notes.
     
    Changes
     
    Asset managements was refactored: details.
     
    The user interface of the "3rd-party filters" has been revisited:

    Procedural cosmetic filters can now be chained and recursive (something which was planned) .
     
    New procedural cosmetic filter operators:

    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
     

    Commit history between 1.10.6 and 1.11.0.

    uBlock Origin 1.10.6 - Jan. 25, 2017

    See release notes.
     
    Closed as fixed

    Commit history between 1.10.4 and 1.10.6.

    uBlock Origin 1.10.4 - Dec. 19, 2016

    See release notes.
     
    Closed as fixed

    Commit history between 1.10.2 and 1.10.4.

    uBlock Origin 1.10.2 - Dec. 14, 2016

    See release notes.
     
    Changes
     
    Implementation of cosmetic filter operator :matches-css has been revised according to the discussion at https://github.com/gorhill/uBlock/issues/1930#issuecomment-241997548 and request in https://github.com/uBlockOrigin/uAssets/issues/212:

    The last dashboard's pane you visited will be automatically opened next time you open the dashboard (issue #2206).
     
    Closed as fixed

    Commit history between 1.10.0 and 1.10.2.

    uBlock Origin 1.10.0 - Nov. 29, 2016

    See release notes.
     
    Changes
     
    Dynamic filtering pane
     
    The dynamic filtering pane in the popup panel is now available in read-only mode to users who did not enable "I am an advanced user" in Settings.
     
    The rationale for this change is explained in issue 2010. It still is collapsed by default, but can be brought up by clicking the "requests blocked" or "domains connected" fields in the main area.
     
    Template-based scriptlets
     
    In order to promote the reuse of injectable scriplets across different sites, it is now possible for a scriptlet to accept arguments. The arguments are comma-separated and appear after the token (for example a real case).
     
    In the example above, the scriplet abort-on-property-write.js contains a placeholder for one argument, which placeholder will be replaced with the argument _sp_. Placeholders for scriplets which accept arguments will always be for string values (reminder that injectable scriplets are part of the project, never from an external party).
     
    Advanced settings
     
    A new "Advanced settings" pane, available only to advanced users. It contains settings which are experimental, or which are of interest to advanced users who want more control over how uBO behaves internally. I do not want to bloat the Settings pane in the dashboard with settings which are of interest only to a minority of users or which are experimental: this is where the new "Advanced settings" pane is useful.
     
    When you enabled "Advanced users" in the Settings pane, a cogs icon will appear next to that setting. Click this cogs icon to access those "hidden" advanced settings.
     
    The UI of the advanced settings page is purposefully stern. Keep in mind that whatever settings you see in there may be experimental and could be removed at any time in the future.
     
    Experimental advanced setting of interest: suspendTabsUntilReady (default to false), to prevent uBO from establishing any remote connection at launch before all filter lists/settings have been fully loaded (related issue #1327). How well it works will have to be evaluated by users.
     
    WebExtensions
     
    From now on, there will be a Firefox's WebExtension version of uBO (see uBlock0.webext.zip in Release notes, see "Temporary Installation in Firefox" on how to install on Firefox). Do not bother trying it out if you do not have Nightly 52.0a1 (2016-10-29) or later installed. Also, do not open issues for the WebExtension version of uBO -- it is still at an experimental stage and there are things which are known to be missing in the API for uBO to fully function: see bugzilla 13099260.
     
    Closed as fixed:
     

    Commit history between 1.9.16 and 1.10.0.

    uBlock Origin 1.9.16 - Oct. 25, 2016

    See release notes.
     
    Changes
     
    Some work has been done on the element picker:

    The Privacy setting "Disable hyperlink auditing/beacon" has been changed to "Disable hyperlink auditing", and network requests of type beacon are no longer blanket-blocked. The network requests of type beacon will now be filtered just like any other network requests, according to the current filters/rules.
     
    Network requests of type csp_report will be blocked regardless of filters/rules when there is a probability they are fired as a result of uBO internally redirecting one or more network requests to neutered resources. In such case, uBO considers these csp_report network requests as "spurious" and blocks them. An example of such spurious CSP reports being fired as a result of uBO redirecting resources is https://medium.com/ (see dev console when loading a page from that site), where a CSP report is fired by the browser as a result of uBO redirecting Google Analytics script to uBO's neutered version.
     
    Closed as fixed:
     

    Commit history between 1.9.12 and 1.9.16.

    uBlock Origin 1.9.12 - Oct. 2, 2016

    See release notes.
     
    Closed as fixed

    Commit history between 1.9.10 and 1.9.12.

    uBlock Origin 1.9.10 - Sept. 24, 2016

    See release notes.
     
    Closed as fixed

    Commit history between 1.9.8 and 1.9.10.

    uBlock Origin 1.9.8 - Sept. 22, 2016

    See release notes.
     
    Changes
     
    Core code related to static and cosmetic engines has been refactored to take advantage of ES6 Set/Map (related issue: #1070). Polyfilled versions of Set/Map are provided for compatibility with pre-ES6 browser versions. While at it, I also revisited some of the inner-most loops executed at load time to remove other observed overheads in profiling results.
     
    Benchmarks shows that there are good gains to be had in performance and memory efficiency when using ES6 Set/Map. The performance gains are especially true when dealing with collections with a lot of misses, which is typical of the static and cosmetic filtering engines ni uBO.
     
    Following the above refactoring, profiling Chromium/Firefox, I observed:

    Closed as fixed

    Commit history between 1.9.6 and 1.9.8.

    uBlock Origin 1.9.6 - Sept. 9, 2016

    See release notes.
     
    Changes
     
    When uBO encounters the filter option "other", it will internally add the filter option "websocket" to the filter. This is to keep compatibility with filter lists which are meant to be compatible with ABP, which categorizes websocket requests as "other". Reference: websocket blocked when easylist match.
     
    Fixed
     

    Commit history between 1.9.4 and 1.9.6.

    uBlock Origin 1.9.4 - Aug. 29, 2016

    See release notes.
     
    Fixed:
     

    Commit history between 1.9.2 and 1.9.4.

    uBlock Origin 1.9.2 - Aug. 28, 2016

    See release notes.
     
    Fixed:
     

    Commit history between 1.9.0 and 1.9.2.

    uBlock Origin 1.9.0 - Aug. 28, 2016

    See release notes.
     
    New:
     
    Cosmetic filtering operator `matches-css()`, to remove any DOM element which matches specific CSS properties (see issue 84).
     
    It is now possible to tell uBO to ignore all generic cosmetic filters from loaded filter lists (see issue 1892).
     
    Fixed:
     

    Commit history between 1.8.4 and 1.9.0.

    uBlock Origin 1.8.4 - Aug. 7, 2016

    See release notes.
     
    Fixed
     
    - Unspecified element removed: regression introduced in 1.8.0 when cosmetic filtering was refactored. Some classes of exception cosmetic filters were disregarded.
     
    Commit history between 1.8.2 and 1.8.4.

    uBlock Origin 1.8.2 - Aug. 5, 2016

    See release notes.
     
    Fixed
     
    A regression bug, which caused a non-catched exception to be thrown when creating a filter using the element picker. This bug was introduced in fix to issue 1786.
     
    Commit history between 1.8.0 and 1.8.2.

    uBlock Origin 1.8.0 - Aug. 2, 2016

    New
     
    New cosmetic filtering operators: ':has()', ':xpath()', ':style()'. See detailed documentation at "Static filter syntax".
     
    These new operators are to be used only for cosmetic filtering cases which are hard to crack -- more and more of these are surfacing (for example DOM elements with random class or id values).
     
    When it comes to cosmetic filtering, preferably, always favor a plain old CSS3-based cosmetic filter, since they can be used in a declarative way, inside a 'style' tag. But there are cases where no CSS3-based expression will work, and in such case consider these new ':has' and ':xpath' operators.
     
    Note that unlike ':has', ':xpath' is not a valid CSS4 expression, so they will always be enforced in a non-declarative way (in other word, javascript is doing the filtering, through 'document.evaluate'.
     
    These new cosmetic filtering operators can be "excepted" like any other standard CSS3-based cosmetic filter using the usual '#@#' prompt. Such exception cosmetic filters do not have to be specific however, i.e. you do not have to associate them to a specific hostname/entity.
     
    Changes
     
    The content script code responsible to implement cosmetic filtering has been re-factored:
     

    Closed as fixed
     

    uBlock Origin 1.7.6 - June 22, 2016

    Summary of changes:
     
    Closed as fixed:
     

    Commit history between 1.7.0 and 1.7.6

    uBlock Origin 1.7.0 - May 1, 2016

    Summary of changes:
     
    Changes:
     
    The element picker has been beefed-up:

    Closed as fixed:
     

    Commit history between 1.6.8 and 1.7.0

    uBlock Origin 1.6.8 - April 5, 2016

    Summary of changes:
     
    Changes:
     
    From now on, uBlock Origin will pull assets (filter lists, scriptlets) from a project dedicated strictly for the purpose of maintaining those resources: uBlockOrigin/uAssets. Notice that this project is owned by uBlockOrigin, an organization I created to maintain all things related to uBlock Origin, uMatrix. For now uAssets is the first project to be held under that organization.
     
    The goal of uBlockOrigin/uAssets is to receive all the reports for the need of new filters, or reports of web pages broken by existing filters, and will be open for people to contribute (i.e. given write permissions on the project). Ideally I wish there will be eventually a small army of volunteers dedicated to deal with filter issues.
     
    Closed as fixed:
     

    Commit history between 1.6.6 and 1.6.8

    uBlock Origin 1.6.6 - March 26, 2016

    Summary of changes:
     
    Closed as fixed:
     
    Firefox:
     

    Core:
     

    Commit history between 1.6.4 and 1.6.6

    uBlock Origin 1.6.4 - March 6, 2016

    Summary of changes:
     
    Changes:
     
    Changes:
     
    Popup filters can also be used to filter popunders. This was the case in the original implementation of popunder filtering, however this was removed eventually as this was causing too many false positives for popunders, causing legitimate tabs to be closed (issue 1010). The new solution is to still filter popunders according to existing popup filters, but to disregard popup filters which are too broad. Cases for which a popunder cannot be taken care by an existing popup filter, an explicit popunder filter should be used.
     
    Closed as fixed:
     
    Firefox 31 and less, Pale Moon:

    Core:

    Commit history between 1.6.2 and 1.6.4

    uBlock Origin 1.6.2 - Feb. 22, 2016

    Summary of changes:
     
    Closed as fixed:
     
    Core:

    Commit history between 1.6.1 and 1.6.2

    uBlock Origin 1.6.1 - Feb. 14, 2016

    Summary of changes:
     
    Closed as fixed:
     
    Core:

    Commit history between 1.6.0 and 1.6.1

    uBlock Origin 1.6.0 - Feb. 11, 2016

    Summary of changes:
     
    New:
     
    Ability to set the default state of per-site switches (issue #1193)
     
    It is now possible to set the default value of per-site switches from the Settings pane in the dashboard, under the Default behavior header. It was possible before to modify the default setting, but this had to be done by manually entering the proper rule in the My rules pane -- not very suitable to non-advanced users.
     
    Block media elements by size (issue #1163)
     
    There is a new per-site switch: Block media elements by size (image).
     
    Primary purpose is to save bandwidth. See documentation for more information.
     
    Note that this feature has been implemented with the utmost care to not add overhead to those not using it. The content scripts to handle interaction with blocked media elements are injected if and only if large media elements were actually blocked.
     
    Closed as fixed:
     
    Firefox:

    Core:

    Commit history between 1.5.5 and 1.6.0

    uBlock Origin 1.5.5 - Jan. 10, 2016

    Summary of changes:
     
    Closed as fixed:
     
    Core:

    Commit history between 1.5.4 and 1.5.5

    uBlock Origin 1.5.4 - Jan. 10, 2016

    Summary of changes:
     
    Closed as fixed:
     
    Firefox:

    Commit history between 1.5.3 and 1.5.4

    uBlock Origin 1.5.3 - Jan. 6, 2016

    Summary of changes:
     
    Changes:
     
    uBO will now automatically select the filter list which matches the current browser locale at first install time. This change does nothing if you have uBO already installed.
     
    Closed as fixed:
     
    Core:
     

    Commit history between 1.5.1 and 1.5.3

    uBlock Origin 1.5.1 - Dec. 27, 2015

    Summary of changes:
     
    Closed as fixed:
     
    Core:
     

    Commit history between 1.5.0 and 1.5.1

    uBlock Origin 1.5.0 - Dec. 26, 2015

    Summary of changes:
     
    New:
     
    Ability to inject script resource from the resource library directly into a page -- i.e. not through redirection. Can be used to defeat some otherwise hard to defeat ad injection mechanisms on some sites. More specifically, this allows to defeat AdDefend- or Yavli-based ads on many sites (as of writing), which so far were defeated only through inline script tag filtering -- so this means that now Chromium-based browsers can also bypass AdDefend/Yavli (for example, see #1100). Some documentation available here (will eventually create a dedicated page).
     
    Enabling advanced user mode won't cause the tooltips to be disabled anymore. There is now a separate setting for tooltips in the Settings pane: "Disable tooltips". Tooltips are enabled by default.
     
    Closed as fixed:
     
    Core:
     

    Commit history between 1.4.0 and 1.5.0

    uBlock Origin 1.4.0 - Dec. 12, 2015

    Summary of changes:
     
    New:
     
    Ability to use Adguard filter lists
     
    You can now directly use Adguard filter lists. Filters which use Adguard-specific filter syntax extension will simply be discarded by uBO.
     
    Popunders
     
    A new filter type is introduced: popunder. This gives uBlock Origin the ability to block popunders. Popunders are when a web page opens a new legitimate content in another tab or window, while at the same time loading nuisance content in the current tab. They are essentially the reverse of what is happening with nuisance popups, where the nuisance content is opened in a new tab or window.
     
    Since the popunder option is specific to uBO, any instance of sites using popunders will have to be reported on the issue tracker so that filters can be crafted to address the issue for those sites.
     
    Redirection infrastructure
     
    Consider this still experimental. This adds the option to map blocked network requests to uBO-provided resources. Specifically, this solves issue raised in #949 and #1043 -- and more generally consider this yet another tool in uBO's arsenal to enforce users' choices.
     
    The library of resources which are used for redirection is -- and will always be completely under control of uBO, this is not something under the control of any 3rd parties. This ensures only safe resources are used for redirection.
     
    It could be said this feature is vaguely similar to NoScript's surrogates, except that in the case of uBO it's network redirection to plainly map one resource into another one, and it can be used for any kind of resource, not just scripts (anything which can be represented with a data: URI).
     
    Only blocked network requests are candidates for redirection.
     
    To create a redirection filter, just add the redirect=[...] filter option to it, like so:
     
    ||example.com/badimage.*$image,redirect=2x2-transparent.png
     
    The [...] is a token identifying the resource to which to redirect: it must be a resource which appears in the redirection library.
     
    For the redirect= filter option to be taken into account, some conditions must be met by the static filter, for efficiency purpose. The static filter ...
     

    If at least one of the above conditions is not met, no redirection will take place, though the filter will still block matching network requests.
     
     
    Issues closed as fixed:
     
    Firefox
     

    Pale Moon / SeaMonkey
     

    Core
     

    Commit history between 1.3.6 and 1.4.0

    uBlock Origin 1.3.6 - Nov. 21, 2015

    Summary of changes:
     
    Issue closed as fixed:
     

    Commit history between 1.3.5 and 1.3.6

    uBlock Origin 1.3.5 - Nov. 19, 2015

    Summary of changes:
     
    Issue closed as fixed:
     

    Commit history between 1.3.4 and 1.3.5

    uBlock Origin 1.3.4 - Nov. 19, 2015

    Summary of changes:
     
    Issues closed as fixed:
     

    Commit history between 1.3.2 and 1.3.4

    uBlock Origin 1.3.2 - Oct. 28, 2015

    Summary of changes:
     
    Issues closed as fixed:
     

    Commit history between 1.3.1 and 1.3.2

    uBlock Origin 1.3.1 - Oct. 20, 2015

    Summary of changes:
     
    Issues closed as fixed:
     

    Commit history between 1.3.0 and 1.3.1

    uBlock Origin 1.3.0 - Oct. 19, 2015

    Summary of changes:
     
    New:
     
    Basic support for Thunderbird, contributed by @M-Reimer
     
    Issues closed as fixed:
     

    Commit history between 1.2.1 and 1.3.0

    uBlock Origin 1.2.1 - Oct. 8, 2015

    Summary of changes:
     
    Issues closed as fixed:
     
    - [Firefox Nightly] TypeError: LocationChangeListener is not a constructor
     
    Commit history between 1.2.0 and 1.2.1

    uBlock Origin 1.2.0 - Oct. 7, 2015

    Summary of changes:
     
    New stuff & changes:
     
    New cosmetic filter to foil specific inline script tags -- one more tool in uBlock Origin's arsenal against bloat. Documentation for this new cosmetic filter: Inline script tag filtering.
     
    Issues closed as fixed:
     
    - [Chromium] Impossible to block ad
    - [Firefox] Global uBlock installation on Ubuntu
    - [Core] Create landing pages in the wiki for features with caveats
    - [Core] Can we have link to docs under My Filters tab?
    - [Core] Site loading constantly with uBlock: eg. AdFox, AdRiver, Magna problem
     
    Commit history between 1.1.1 and 1.2.0

    uBlock Origin 1.1.1 - Sept. 16, 2015

    Summary of changes:
     
    Notes:
     
    Given that uBlock Origin has moved to and beyond version 1.0, I will from now on use a 3-sequence version scheme.
     
    New stuff & changes:
     
    Basque translation by Osoitz.
     
    Strict blocking page will now allow you to "parse" the blocked URL to make deciphering its content, if any, more user friendly, something which may be useful when making a decision whether or not to load the target URL. When a blocked URL contains parameters, a magnifier will be available on the bottom-right corner. Click on it to see the deciphered content.
     
    Issues closed as fixed:
     
    - [Chromium] Block Popups blocks "Open in New Tab" on some sites
    - [Firefox] Don't show "restore_on_demand" tabs in logger UI
    - [Core] [Performance] Revisit cosmetic filtering's FilterPlain implementation
    - [Core] Text color
    - [Core] Uncaught SyntaxError: Failed to execute 'querySelector' on 'Document'
    - [Core] Make target URL in strict blocked referrer clickable
    - [Core] Filter list: hpHosts’ Ad and tracking servers
    - [Core] [Performance] manually extract class tokens
     
    Commit history between 1.1.0.0 and 1.1.1

    uBlock Origin 1.1.0.0 - Aug. 30, 2015

    Summary of changes:
     
    New stuff & changes:
     
    Support for cloud storage. Please read before use: documentation -- keep in mind the Firefox-specific caveats.
     
    Dashboard: Revert buttons added for "My filters" and "Whitelist" panes.
     
    All non-default 3rd-party filter lists are no longer part of the package. Also, "Filtros Nauscopicos" and "RO-LIST" have been removed from the stock filter lists, as they are apparently no longer maintained, and contain questionable exception filters.
     
    "Speculative pre-connections" will now also be disabled when the option "Disable pre-fetching" is checked. Background info: Block Firefox from connecting to sites when you hover over links
     
    Issues closed as fixed:
     
    - [Firefox] Entire tab is blocked and history is overriden because of iframe form submit
    - [Firefox] tabBrowser.tabs is undefined (vapi-background.js:1056)
    - [Core] uBlock doesn't work on XHTML pages (application/xhtml+xml)
    - [Core] Problem on Yahoo Search Pages
    - [Core] Remove from project all filter lists which are not selected by default
    - [Core] Incomplete warning of "badware risks"
    - [Core] Unable to whitelist a popup request using dynamic filtering - popup closes without control
    - [Core] Rename 'outdated' to 'out of date'
    - [Core] Modernize CSP injection code
    - [Core] Suggestion - Allow syncing through firefox sync
     
    Commit history between 1.0.0.0 and 1.1.0.0

    uBlock Origin 1.0.0.1 - Aug. 4, 2015

    Summary of changes:
     
    New:
     
    Ability for administrators to deploy uBlock Origin with custom settings (issue #531). It's rather experimental at this point, and feedback from admins will decide how this evolves, as I do not have a way to test this with real cases.
     
    For Firefox, use extensions.ublock0.adminSettings in about:config to overwrite whatever user settings. I am still waiting for feedback to further fine tune this feature.
     
    Fixes:
     
    - try/catch createShadowRoot in contentscripts
    - DOM inspector broken because Element.matches not supported (Firefox 33 and less)
    - Doesn't show which custom list contains this filter
    - New Logger Tab / Windows - Output incorrectly formatted within Palemoon 25.5.0 (Firefox 25 and less also)
    - [Enhancement] Automatically select the tab it was opened from when opening the Logger
     
    Commit history between 1.0.0.0 and 1.0.0.1

    uBlock Origin 1.0.0.0 - July 18, 2015

    Summary of changes:
     
    New:
     
    - Bengali translation by Leemon2010.
    - Tamil translation by albertalbs.
    - New wiki page for easy subscription to a choice of filter lists.
    - You can open the logger in its own separate window when opened from the popup UI with the Shift key pressed.
    - Ability to strict-block using finer-grained filters, rather than just whole sites.
    - New logger tool: DOM inspector, to assist in the creation of cosmetic filters, cosmetic exception filters.
     
    Fixes:
     
    - Dynamic URL Filtering noop rules not reflected on Dynamic Filtering UI
    - Firefox option issue
    - logger-ui bug aero transparency
    - Popup identified as "doc" request when opened by iframe
    - uBlock does not block popup anymore under a rare circumstance
    - Logger does not report [style="..."]
    - Url Blocking Issue
     
     
    Commit history between 0.9.9.3 and 1.0.0.0

    uBlock Origin 0.9.9.3 - July 4, 2015

    Summary of changes:
     
    New:
     
    - Privacy setting: ability to prevent local IP address leak through WebRTC
     
    Fixes:
     
    - Closing a window doesn't remove its tabs from the network logger picker
    - 3rd-party filters gone until settings reset (SeaMonkey)
    - Problem with Ublock Origin's URL logger behaviour
     
    Commit history between 0.9.9.2 and 0.9.9.3.

    uBlock Origin 0.9.9.2 - July 2, 2015

    Summary of changes:
     
    - Support for pre-Australis toolbar, courtesy of Alex Vallat from uBlock.
    - Some popups could be wrongly blocked to due to false positives (regression).
     
    Commit history between 0.9.9.1 and 0.9.9.2.