1.13.0
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 (comment) 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:
- Enter element zapper mode: default to Alt-Z.
- Enter element picker mode: default to Alt-X.
- Open logger: default to Alt-L
For Chromium or WebExtension-compatible browsers
Update: Default keyboard shortcuts have been removed for Chromium-based browsers, because of issue #2723. You will have to bind your own shortcuts, as the default ones choosen originally (above) interfere with proper keyboard usage in some locales.
You can re-configure the shortcuts through the browser API. For Chromium-based browsers, go to chrome://extensions
, scroll down then click on "Keyboard shortcuts". I suppose this depends of the browser, you will have to investigate.
For Firefox (non-webext version)
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:
extensions.ublock0.shortcuts.launch-element-zapper
extensions.ublock0.shortcuts.launch-element-picker
extensions.ublock0.shortcuts.launch-logger
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
- to be more modular and hence make it easier to extent filter syntax
- to lessen overhead overall
- to address #2598, #2630
- to extend filter syntax to support
csp=
filter option.
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:
Firefox Nightly
Core
||*tube.com^
for youtube.com is not working- [Performance] tokenize URLs to numeric values instead of substring values
- Support Adguard's
[-ext-has="..."]
syntax => convert to uBO's:if(...)
- ABP Subscription Links Not Understood
- uBlock Origin for Google Chrome and apiBreaker
- [Performance] Mind the potential negative consequences of String.slice()
- Dynamic filtering allow-all still blocks ads, log shows images allowed workers blocked
- Cannot set exemptions to strict blocks