Skip to content

1.13.0

Compare
Choose a tag to compare
@gorhill gorhill released this 19 Jun 21:54
· 8177 commits to master since this release
4593cc2

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:

a

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