uBlock Origin Version History

83 versions

Be careful with old versions!

These versions are displayed for reference and testing purposes. You should always use the latest version of an add-on.

Version 1.16.10 2.1 MiB Works with Firefox for Android 52.0 and later, Firefox 52.0 and later

Version 1.16.8 2.1 MiB Works with Firefox for Android 52.0 and later, Firefox 52.0 and later

See release notes.

No change to uBO itself.

The only change is in uBO's assets and publishing a new version of uBO package is to ensure all users get a new version of the neutered script from googletagservices.com/gpt.js -- see commit 2bc97541b3b9.

Commits history since 1.16.6.

Version 1.16.6 2.1 MiB Works with Firefox for Android 52.0 and later, Firefox 52.0 and later

See release notes.

Closed as fixed


Commits history since 1.16.4.

Version 1.16.4 2.1 MiB Works with Firefox for Android 52.0 and later, Firefox 52.0 and later

See release notes.

Closed as fixed:
Commits history since 1.16.2.

Version 1.16.0 2.1 MiB Works with Firefox for Android 52.0 and later, Firefox 52.0 and later

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.

Version 1.15.24 2.1 MiB Works with Firefox for Android 52.0 and later, Firefox 52.0 and later

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.

Version 1.15.22 2.1 MiB Works with Firefox for Android 52.0 and later, Firefox 52.0 and later

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.

Version 1.15.20 2.1 MiB Works with Firefox for Android 52.0 and later, Firefox 52.0 and later

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:

  • Ability to visually filter out rules in the "My rules" pane in the dashboard.
  • Firefox for Android: improved compatibility with the CodeMirror editor.
  • Responsive design of the dashboard user interface has been improved a bit.

Closed as fixed:


Commits history since 1.15.20.

Version 1.15.18 2.0 MiB Works with Firefox for Android 52.0 and later, Firefox 52.0 and later

Version 1.15.16 2.0 MiB Works with Firefox for Android 52.0 and later, Firefox 52.0 and later

Version 1.15.14 2.0 MiB Works with Firefox for Android 52.0 and later, Firefox 52.0 and later

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.

Version 1.15.10 1.8 MiB Works with Firefox for Android 52.0 and later, Firefox 52.0 and later

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.

Version 1.15.8 1.8 MiB Works with Firefox for Android 52.0 and later, Firefox 52.0 and later

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.

Version 1.15.6 1.8 MiB Works with Firefox for Android 52.0 and later, Firefox 52.0 and later

Version 1.15.4 1.8 MiB Works with Firefox for Android 52.0 and later, Firefox 52.0 and later

Version 1.15.2 1.8 MiB Works with Firefox for Android 52.0 and later, Firefox 52.0 and later

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.

Version 1.15.0 1.8 MiB Works with Firefox for Android 52.0 and later, Firefox 52.0 and later

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:

  • A new entry in the tab selector: "Current tab":
    • This will cause the logger to automatically filter out rows which do not belong to the currently active tab.
  • The rows related to behind-the-scene scope are now always shown.
  • If you close a tab while "Current tab" is selected, the resulting void rows will be automatically deleted.
  • You can expand/collapse a single row by clicking on the time stamp cell.

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:

  • The maximum horizontal space is limited by the browser.
  • If you have the logger already opened in a tab or separate window, you will have to close these for the logger-in-a-sidebar to start working. However some internal message events are lost in Firefox and as a result the logger-in-a-sidebar may take over 30 seconds to start working after you close the logger-in-a-tab or window.
  • Firefox: the font size is smaller than dictated in the DOM inspector view: I have no clue why, uBO's chosen font size is overridden by Firefox for some reasons.
  • Firefox: it's not possible to select text in the logger when it is embedded in a sidebar.

Closed as fixed:


Commits history since 1.14.24.

Version 1.14.24 1.8 MiB Works with Firefox for Android 52.0 and later, Firefox 52.0 and later

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:

Version 1.14.20 1.7 MiB Works with Firefox for Android 52.0 and later, Firefox 52.0 and later

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.

Version 1.14.18 1.7 MiB Works with Firefox for Android 52.0 and later, Firefox 52.0 and later

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:

  • The picker dialog box is now rendered with a minimal width.
  • After you pick an element, if the picker dialog box is...
    • Visible...
      • Swiping right will hide it.
    • Not visible...
      • Swiping left or touching it will un-hide it.
      • Swiping right will quit element picker mode.

Closed as fixed:


Commit history between 1.14.16 and 1.14.18.

Version 1.14.16 1.8 MiB Works with Firefox for Android 52.0 and later, Firefox 52.0 and later

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.

Version 1.14.14 1.8 MiB Works with Firefox for Android 52.0 and later, Firefox 52.0 and later

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.

Version 1.14.12 1.8 MiB Works with Firefox for Android 52.0 and later, Firefox 52.0 and later

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:

  • Instruction URLs added for "RUS: RU AdList" and "CHN: CJX's EasyList Lite"
    • So that users can find more about these lists and the recommendations on how to best use them made by their respective maintainers.
  • "RUS: Adguard Russian" and "CHN: CJX's EasyList Lite" will now be selected by default for new installations.

Removed:

  • "EasyList without element hiding rules" (not very useful)
  • "Reek's AAK" (no longer maintained)
  • "uBlock Protector List" (it required Chrom[ium|e], uBO must be browser vendor agnostic)
  • "Fanboy Ultimate" (see #3061)
  • "CHN: CJX's Annoyance" (optional list)
  • "EU: Prebake" (no longer maintained)
  • "KOR: Fanboy Korean" (marked as "officially unsupported")
  • "RUS: BitBlock" (see https://github.com/gorhill/uBlock/pull/3019#issuecomment-330076525)
  • "VIE: Fanboy Vietnamese" (marked as "officially unsupported)

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.
  • Version 1.14.10 1.8 MiB Works with Firefox for Android 52.0 and later, Firefox 52.0 and later

    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.

    Version 1.14.8 1.8 MiB Works with Firefox for Android 52.0 and later, Firefox 52.0 and later

    Version 1.14.4 1.8 MiB Works with Firefox for Android 54.0 and later, Firefox 52.0 and later

    See release notes.

    Closed as fixed:

    • Firefox 52.2.1: uBlock suddenly disabled due to incompatibility
      • As per popular demand, I set the minimum version to 52.0. However be warned that some features are not available, like the privacy settings for example.
      • uBO/webext should not be used on Firefox for Android 54 and less, because there is no way to access uBO's UI. This was fixed in Firefox for Android 55, so best is that you move to the latest stable version of Firefox for Android.
    • A custom filter not working on uBO v1.13.11rc0 / v1.14.0, but working on 1.13.8 (regression from b2e89c9e).
      • I tried to find out how many filters from default filter lists were affected but I could not find any one filter in default filter lists, or any of the large regional lists.

    Commit history between 1.14.0 and 1.14.4.

    Version 1.14.0 1.8 MiB Works with Firefox for Android 54.0 and later, Firefox 52.0 and later

    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.