1.31.0

gorhill/uBlock1.31.0Nov 17, 2020by gorhill

AI Summary

A major release introducing a 'click-to-load' feature for embedded frames and significant improvements to cloud storage and filter list compilation.

Key Highlights

  • New 'click-to-load' feature for embedded frames (YouTube, Vimeo, etc.).
  • Format change for compiled filter lists requiring recompilation on update.
  • Cloud storage compression enabled by default.
  • Improved interactivity for the 'no-large-media-elements' switch.

Breaking Changes

  • Format of compiled filter lists has changed, requiring recompilation of all enabled lists.

New Features

  • Click-to-load widgets for embedded frames.
  • Cloud storage compression.
  • Storage usage widget in user interface.
  • Stop playback of blob:-based media elements when no-large-media-elements is enabled.

Full Release Notes

[Commits to master since this release](https://github.com/gorhill/uBlock/compare/1.31.0...master)
[Commits since last release](https://github.com/gorhill/uBlock/compare/1.30.6...1.31.0)

To install the stable build:

- **Firefox**: Click [uBlock0_1.31.0.firefox.signed.xpi](https://addons.mozilla.org/firefox/downloads/file/3679754/ublock_origin-1.31.0-an+fx.xpi)
    - uBO works best on Firefox.
- **Chromium**: Install from the Chrome store (CWS): <https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm>
    - For Chromium version 54 and older, it is necessary to enable "Experimental JavaScript" at `chrome://flags/#enable-javascript-harmony`.
- **Edge**: Install from Microsoft Store: <https://microsoftedge.microsoft.com/addons/detail/odfafepnkmbhccpbejgmiehpchacaeak>
    - The Microsoft Store version of uBO is published by [Nik Rolls](https://github.com/nikrolls/uBlock-Edge)
- **Opera**: Install from Opera addons: <https://addons.opera.com/en/extensions/details/ublock/>

---

## Notes

The format of compiled filter lists has changed, this means that when you will be updated to 1.31.0, uBO will have to parse and compile all your enabled filter lists, which may cause larger than usual delay at first launch following update to 1.31.0. This is a one time event.

## New:

### Click-to-load

Support to replace embedded frames with a click-to-load widget. Examples of usage:

    ||youtube.com/embed/$3p,frame,redirect=click2load.html
    ||scribd.com/embeds/$3p,frame,redirect=click2load.html
    ||player.vimeo.com/video/$3p,frame,redirect=click2load.html

Result:

![Embedded Youtube video](https://user-images.githubusercontent.com/585534/99149295-0e603e80-265b-11eb-8252-911f15840564.png)

Users of medium mode can experiment with a redirect rule to reveal embedded frames in a page:

    *$3p,frame,redirect-rule=click2load.html

Or if you want to have click-to-load only for embedded widgets from specific origins being blocked (reminder: [`redirect-rule`](https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#redirect-rule) does not create a block filter):

     ||youtube.com/embed/$3p,frame,redirect-rule=click2load.html

## Changes:

Resources redirected to local, neutered versions will no longer be collapsed as would occur if those resources were only blocked. This change is to enable implementation of the new click-to-load feature.

Cloud storage compression is now enabled by default.

Interactivity for the [no-large-media-elements switch](https://github.com/gorhill/uBlock/wiki/Per-site-switches#no-large-media-elements) has been improved. Notably, when the switch is enabled, uBO will try to stop playback of `blob:`-based media elements.

## Closed as fixed:

### Firefox for Android

- [Unable to scroll down to the last line in My Filters pane on Firefox for Android](https://github.com/uBlockOrigin/uBlock-issues/issues/1304)

### Core

- ["Home" button on Strict blocking page works incorrectly in some cases](https://github.com/uBlockOrigin/uBlock-issues/issues/1345)
- [Implement a version of "{{origin}}" that uses the whole URL and not just the domain](https://github.com/uBlockOrigin/uBlock-issues/issues/1281)
- [cosmetic filter `## selector` is valid in element picker only](https://github.com/uBlockOrigin/uBlock-issues/issues/1280)
- [Implement `$queryprune` parameter](https://github.com/uBlockOrigin/uBlock-issues/issues/760)
- [Calling callback if provided for google analytics mock](https://github.com/uBlockOrigin/uAssets/pull/4115)
- [Redirection syntax issue](https://github.com/gorhill/uBlock/issues/3590)
- [Use user styles to collapse the placeholder of blocked resources](https://github.com/gorhill/uBlock/issues/2848)
- [Make load-on-demand smarter for blocked large media elements](https://github.com/gorhill/uBlock/issues/1390)

## Notable commits with no entry in issue tracker:

- [Work around Firefox's `data:` favIconUrl leak](https://github.com/gorhill/uBlock/commit/a223031b9851874db04b4c6ccb469586f8bb9556)
- [Make json-prune scriptlet also trap Response.json() calls](https://github.com/gorhill/uBlock/commit/13f92756befaa9a8d3ba1615bd7abc7075758c67)
- [Incrementally improve static filtering parser](https://github.com/gorhill/uBlock/commit/efea83a825bad1fff5f506ecd9f57e0579249410)
- [Coallesce origin hit filters into their own bucket](https://github.com/gorhill/uBlock/commit/b265f2644d7c5eb353b5fc123e67f9419f1c998d)
    - [Allow `domain=` with entity values into pre-test buckets](https://github.com/gorhill/uBlock/commit/4afb3dc149e70577509eb9bba5b1737223d42329)
    - [Enable origin-hit coalescing optimisation for modifier filters](https://github.com/gorhill/uBlock/commit/1d679143d23a24d6bdaab14614f8118a167c57d3)
- [Re-classify `redirect=` option as a modifier option](https://github.com/gorhill/uBlock/commit/157cef6034a8ec926c1e59c7e77f0a1fcbef473c)
- [Improve token extraction from regex-based filters](https://github.com/gorhill/uBlock/commit/0bbf5b52abfa58fbd0cb505063011b57409aada1)
- [Improve specificity slider in element picker](https://github.com/gorhill/uBlock/commit/4c5197322f7f4c74412f01747e7e0c5e2a023677)
- [Use a CodeMirror editor instance in element picker](https://github.com/gorhill/uBlock/commit/a095b8325046e725c7d3e58943660ac3848d910a)
- [Add support for click-to-load of embedded frames](https://github.com/gorhill/uBlock/commit/59169209850c54c31d94990f0c956281fe43eb03)
- [Minor improvements to syntax highlight of static filters](https://github.com/gorhill/uBlock/commit/fef375a5942402591671f1b6c3052a407b9802af)