1.30.0

gorhill/uBlock1.30.0Sep 26, 2020by gorhill

AI Summary

A major release featuring significant UI improvements, a refactored element picker, and the introduction of 'bad lists' to prevent importing problematic filter lists.

Key Highlights

  • Cloud storage improvements including error reporting and compression.
  • Element picker refactored with new widgets for tuning specificity.
  • Introduction of 'bad lists' concept to block importing problematic lists.
  • Click-to-subscribe feature restricted to specific domains.

Breaking Changes

  • Format of compiled filter lists has changed, requiring recompilation of all enabled lists.
  • Click-to-subscribe feature is now restricted to a select number of domains.

New Features

  • Cloud storage compression and usage reporting widget.
  • Element picker UI changes (no Ctrl key for specificity, new widgets).
  • Support for chaining `:style(...)` operator to procedural operators.
  • Bad lists concept to prevent unwittingly using problematic lists.

Full Release Notes

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

To install the stable build:

- **Firefox**: Click [uBlock0_1.30.0.firefox.signed.xpi](https://addons.mozilla.org/firefox/downloads/file/3649606/ublock_origin-1.30.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**: Not submitted.
---

## Summary

**Important:** The compile format of filter lists has changed, and this means upon update uBO will have to recompile all filter lists, so this may cause a longer delay at launch the first time uBO is launched after being updated. This is a one time event.

The cloud storage feature has been improved in a number of ways:
- Better reporting of error conditions in the user interface;
- User interface widget to report storage used/total/max;
- Support for compressing cloud storage data.

Improved _"My rules"_ user interface:
- Ability to sort rules by type, source, or destination;
- Ability to show changes only.

Added support to chain `:style(...)` operator to procedural operators.

The element picker has been refactored to fix long standing issues (including some not reported in the issue tracker). The <kbd>Ctrl</kbd> key is no longer used to control the specificity of a candidate filter, and new widgets have been introduced for the purpose of more easily tuning the depth and specificity.

The click-to-subscribe feature has been reworked and is now allowed only on a select number of domains, currently: <https://easylist.to/>, <https://fanboy.co.nz/>, <https://filterlists.com/>, <https://forums.lanik.us/>, <https://github.com/>, <https://github.io/>.

The concept of "bad list" has been introduced, to prevent users from unwittingly end up using what are deemed ["bad lists" by the uBO team](https://github.com/uBlockOrigin/uAssets/blob/master/filters/badlists.txt). Some "bad lists" will be completely ignored and importing them will be forbidden by uBO. This restriction can be bypassed by users by simply appending a dummy query parameter to the URL of the list.

## Closed as fixed:

### Firefox for Android

- [Fenix device name submit form](https://github.com/uBlockOrigin/uBlock-issues/issues/1217)

### Core

- [Improper support of IPv6 addresses in static filter `domain=` option](https://github.com/uBlockOrigin/uBlock-issues/issues/1249)
- [`has()` not work on `<html>`](https://github.com/uBlockOrigin/uBlock-issues/issues/1240)
- [Cosmetic filters interfere with element picker visuals](https://github.com/uBlockOrigin/uBlock-issues/issues/1226)
- [Picker gets deformed when a cosmetic filter is added](https://github.com/uBlockOrigin/uBlock-issues/issues/1215)
- [Add Support for AdGuard special case pre-processor directives](https://github.com/uBlockOrigin/uBlock-issues/issues/1205)
- [Sort dynamic filter list by destination / host components](https://github.com/uBlockOrigin/uBlock-issues/issues/1055)
- [Better parsing of hosts file system addresses](https://github.com/uBlockOrigin/uBlock-issues/issues/877)
- [Can't control specificity in element picker with Firefox for Android](https://github.com/uBlockOrigin/uBlock-issues/issues/851)
- [Subscriber script needs to be improved](https://github.com/uBlockOrigin/uBlock-issues/issues/763)
- [Add ability to view changes only in `My Rules`](https://github.com/uBlockOrigin/uBlock-issues/issues/604)
- [Combining procedural selector :has() and :style()](https://github.com/uBlockOrigin/uBlock-issues/issues/382)
- [Add visual hint for last selected entry in element picker](https://github.com/uBlockOrigin/uBlock-issues/issues/47)
- [Prevent malicious pages from tampering with element picker](https://github.com/gorhill/uBlock/issues/3497)

## Notable commits with no entry in issue tracker:

- [Prevent spurious instantiation of procedural filterer](https://github.com/gorhill/uBlock/commit/15e0778750c3b669c933d042460de8a73ad01e8a)
- [Add `abort-on-stack-trace` scriptlet](https://github.com/gorhill/uBlock/commit/b735ac6b6abab7d5f45e15bbba3b4ba6cbf43935)
    - Related discussion: <https://github.com/AdguardTeam/Scriptlets/issues/82>
- [Fix ability to overwrite overquota'ed cloud storage](https://github.com/gorhill/uBlock/commit/6284eca3512df03c3741e6f4e8e002cbf516065d)
- [Add support for blocklist of filter lists](https://github.com/gorhill/uBlock/commit/23f08f027460b5d0c0436357f866d6c48b8df701)
    - [Add concept of "really bad list" to badlists infrastructure](https://github.com/gorhill/uBlock/commit/4150c17f4a6e1b3bd0c68b91da74c358a92c03ad)
- [Use modern popup panel in logger](https://github.com/gorhill/uBlock/commit/394a61570cf5de95661a389942778b49a75b4834)
- [Add support for cloud storage compression](https://github.com/gorhill/uBlock/commit/d8b6b31eca117d2d82ab53bb2477117ef36761ab)
- [Add widget to convey the amount of sync storage in use](https://github.com/gorhill/uBlock/commit/2afcc13ca6c09175b33ff74494eba7113ceb3df1)
- [Fix cloud storage errors not reported in user interface](https://github.com/gorhill/uBlock/commit/b01cc6ca4f4e215024c08e1b0696f3c15bac1500)