1.28.0
gorhill/uBlock1.28.0Jun 30, 2020by gorhill
Full Release Notes
[Commits to master since this release](https://github.com/gorhill/uBlock/compare/1.28.0...master)
To install the stable build:
- **Firefox**: Click [uBlock0_1.28.0.firefox.signed.xpi](https://addons.mozilla.org/firefox/downloads/file/3600118/ublock_origin-1.28.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/>
---
## Changes:
### _"My filters"_ pane
Improved syntax highlighting of static filters in _"My filters"_ and asset viewer. Additionally, in _"My filters"_:
- Ability to toggle commenting out of filter(s) by pressing the <kbd>Tab</kbd> key
- Auto-completion using <kbd>Ctrl</kbd>-<kbd>Space</kbd>, this works for:
- Static filter options
- Resource names for `redirect=` option
- Procedural operators for cosmetic/HTML filters
- Scriptlet names for `##+js` filters
### Static extended filter syntax
`##script:inject(...)`, which has been deprecated in favor of `##+js(...)` for more than two years, is no longer supported. Similarly, `##script:contains(...)` which has been deprecated in favor of `##^script:has-text(...)` is no longer supported.
### Dynamic filtering
You can skip this section if you didn't opt-in to _"I am an advanced user"_ or you are otherwise not a user of [dynamic filtering](https://github.com/gorhill/uBlock/wiki/Dynamic-filtering:-quick-guide).
It's no longer possible to point-and-click to create _allow_ (green) rules from within the popup panel by default. This change is motivated by seeing way too many cases of improper usage of dynamic filtering in which users are creating _allow_ (green) rules where _noop_ (gray) rules should have been used.
Creating _allow_ rules has **serious** consequences as these override blocking static filters and can potentially disable other advanced filtering ability such as HTML filtering and scriptlet injection -- often used to deal with anti-blocker mechanisms; to the point where misusing _allow_ rules can easily cause a user to be **less** protected than when using uBO with default settings/lists.
Here are [typical cases](https://i.imgur.com/MuTYnGQ.png) [of misuse](https://www.malekal.com/wp-content/uploads/uBlock-utiliser-blocage-dynamique-twitter.webp) out of [countless](https://imgur.com/a/KHsod9p) I have seen [in the wild](https://imgur.com/a/nLSlaMR), including many of them being presented as a reference solution while they actually made things worst. Very recently I even had to correct a technical blog post telling people to use _allow_ rules to override _block_ rules, with no mention of _noop_ rules -- which are the default way to override _block_ rules, while _allow_ rules are to be used in rare, exceptional circumstances. For reference, after years using medium/hard mode, I still have **zero _allow_ rules** in my permanent ruleset.
You can get back temporarily the ability to create _allow_ rules from within the popup panel by tapping twice the <kbd>Ctrl</kbd> key. In some browser versions<sup>[1]</sup>, double-tapping the <kbd>Ctrl</kbd> key does not work, in such case you can recover the ability to create _allow_ rules by changing the advanced setting [`filterAuthorMode`](https://github.com/gorhill/uBlock/wiki/Advanced-settings#filterauthormode) to `true`.
[1] Tor Browser; Firefox with `privacy.resistFingerprinting` set to `true`.
## Closed as fixed:
### Chromium 65
- [Broken popup panel in Chromium 65](https://github.com/uBlockOrigin/uBlock-issues/issues/1085)
### Chromium
- [Use `default_public_interface_only` in Chromium-based browsers](https://github.com/gorhill/uBlock/commit/64cfc5779d87612f87bd5f9bd5581704d5795b64)
### Core
- [Cookie-remover.js does not remove a cookie](https://github.com/uBlockOrigin/uBlock-issues/issues/1126)
- [A possibility of using default system fonts for uBlock Origin?](https://github.com/uBlockOrigin/uBlock-issues/issues/1044)
- [Some RegExp filters are not parsed properly](https://github.com/uBlockOrigin/uBlock-issues/issues/1038)
- [Add support for entity-matching in `domain=` filter option](https://github.com/uBlockOrigin/uBlock-issues/issues/1008)
## Notable commits with no entry in issue tracker:
- [Fix edge case involving filter with a single wildcard](https://github.com/gorhill/uBlock/commit/a08cdd721a9b1ba3d7371a2625517fa3a90eaf9b)
- [Add support for wildcard/array in json-prune](https://github.com/gorhill/uBlock/commit/f433932d8602230539d3408e9946d4d70b40306c)
- [Fix matching of filters with trailing `^|`](https://github.com/gorhill/uBlock/commit/d784fda98bc1359cbec7faf42fb39be4a635c342)
- [Make the creation of _allow_ rules in panel an opt-in feature](https://github.com/gorhill/uBlock/commit/162e53727099ccb0a088cc1399915fb23d9b4fec)
- [Add ability to lock firewall height to basic pane height](https://github.com/gorhill/uBlock/commit/5f4e6d80e0a36e180db3b4e906412bf9a730fdbf)
- [Fix uselessly allocating one extra WASM page](https://github.com/gorhill/uBlock/commit/4fa5c6b88e8f06be12de86b18fa651294e67b4a0)
- [Replace FilterPlainHostname with composite filter](https://github.com/gorhill/uBlock/commit/f060bb53827051d46c6773ae339ca0c8620b968b)