Commits to master since this release
To install the developer build:
- Chromium: Install from the Chrome store: https://chrome.google.com/webstore/detail/ublock-origin-dev-build/cgbcahbpdhpcegmbfconppldiemgcoii.
- For Chromium version 54 and older, it is necessary to enable "Experimental JavaScript" at
chrome://flags/#enable-javascript-harmony.
- For Chromium version 54 and older, it is necessary to enable "Experimental JavaScript" at
- Firefox: Click uBlock0_1.22.5rc6.firefox.signed.xpi.
- Thunderbird: Download uBlock0_1.22.5rc6.thunderbird.xpi, then drag-n-drop it into Thunderbird's Add-ons Manager pane (Thunderbird 65+ required)
Firefox developer build will auto-update when a newer developer build become available.
New:
Static filter option elemhide as per ABP semantic
The elemhide option is now fully supported, rather than being an alias of generichide. The elemhide option will be internally converted into two filters, generichide and specifichide. There have been cases raised by filter list maintainers where specifichide would be useful. Additionally, the filter options elemhide, generichide and specifichide can be aliased with ehide, ghide and shide respectively. (generichide appears over 1,300 times just in "uBlock filters".)
Closed as fixed:
- Prevent uBO from being reloaded mid-session
- A new advanced setting --
extensionUpdateForceReload-- can be used to override this new behavior.
- A new advanced setting --
- Comply with new security requirements for Chrome
- The changes benefit all platforms.
- Add advanced setting to control logger popup type
- Ignoring ping filters
Commits with no entry in issue tracker:
- Fix bad returned value in case of empty URL
- Avoid or defer writing back to cache storage at launch
- Do not bypass network listener in suspended mode
- Remove stats button from logger
- Log procedural cosmetic exception filters
- Prevent reverse-lookup from finding badfilter-ed filters
- Reduce memory usage in staticExtFilteringEngine.HostnameBasedDB
- Store
csp=filters into main data structure - Add ability to quickly create exceptions in logger
- Match static popup filter against local context
- Fix erroneous reports of blocked popups in logger
- Fix case of unreported
:stylefilters in logger - Do not flush blocked-elements cache at webNavigation time
- Remove remnants of
chromereferences - Add support for
elemhide(throughspecifichide) - Simplify client messaging code
- Removing now obsolete Safari code base
- Revisit element picker arguments code
- Convert new setTimeout-if scriptlet to blacklist approach
- Work toward modernizing code base: promisification
- Fix icon title always showing
(0)when badge is disabled - Reuse existing Set/Map when calling scriptletFilteringEngine.retrieve
- Fix entity-based lookup in html & scriptlet filtering
- Coalesce tab reloads in burst "relax blocking mode" ops
Assets
5
Commits to master since this release
To install the developer build:
- Chromium: Install from the Chrome store: https://chrome.google.com/webstore/detail/ublock-origin-dev-build/cgbcahbpdhpcegmbfconppldiemgcoii.
- For Chromium version 54 and older, it is necessary to enable "Experimental JavaScript" at
chrome://flags/#enable-javascript-harmony.
- For Chromium version 54 and older, it is necessary to enable "Experimental JavaScript" at
- Firefox: Click uBlock0_1.22.5rc5.firefox.signed.xpi.
- Thunderbird: Download uBlock0_1.22.5rc5.thunderbird.xpi, then drag-n-drop it into Thunderbird's Add-ons Manager pane (Thunderbird 65+ required)
Firefox developer build will auto-update when a newer developer build become available.
New:
Static filter option elemhide as per ABP semantic
The elemhide option is now fully supported, rather than being an alias of generichide. The elemhide option will be internally converted into two filters, generichide and specifichide. There have been cases raised by filter list maintainers where specifichide would be useful. Additionally, the filter options elemhide, generichide and specifichide can be aliased with ehide, ghide and shide respectively. (generichide appears over 1,300 times just in "uBlock filters".)
Closed as fixed:
- Prevent uBO from being reloaded mid-session
- A new advanced setting --
extensionUpdateForceReload-- can be used to override this new behavior.
- A new advanced setting --
- Comply with new security requirements for Chrome
- The changes benefit all platforms.
- Add advanced setting to control logger popup type
- Ignoring ping filters
Commits with no entry in issue tracker:
- Avoid or defer writing back to cache storage at launch
- Do not bypass network listener in suspended mode
- Remove stats button from logger
- Log procedural cosmetic exception filters
- Prevent reverse-lookup from finding badfilter-ed filters
- Reduce memory usage in staticExtFilteringEngine.HostnameBasedDB
- Store
csp=filters into main data structure - Add ability to quickly create exceptions in logger
- Match static popup filter against local context
- Fix erroneous reports of blocked popups in logger
- Fix case of unreported
:stylefilters in logger - Do not flush blocked-elements cache at webNavigation time
- Remove remnants of
chromereferences - Add support for
elemhide(throughspecifichide) - Simplify client messaging code
- Removing now obsolete Safari code base
- Revisit element picker arguments code
- Convert new setTimeout-if scriptlet to blacklist approach
- Work toward modernizing code base: promisification
- Fix icon title always showing
(0)when badge is disabled - Reuse existing Set/Map when calling scriptletFilteringEngine.retrieve
- Fix entity-based lookup in html & scriptlet filtering
- Coalesce tab reloads in burst "relax blocking mode" ops
Assets
5
Commits to master since this release
To install the stable build:
- Chromium: Install from the Chrome store: 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.
- For Chromium version 54 and older, it is necessary to enable "Experimental JavaScript" at
- Firefox: Click uBlock0_1.22.4.firefox.signed.xpi.
- Opera: Install from Opera addons: https://addons.opera.com/en/extensions/details/ublock/.
This is an emergency fix.
The issue was fixed in dev build days ago, and it was originally deemed to not be a serious regression.
However as reported by a user on Reddit, the issue was affecting more than just the logging of cosmetic filters, it was completely breaking cosmetic filtering when the two following conditions were met:
- uBO's own logger was opened; AND
- Procedural cosmetic filters were injected on the page.
Assets
5
Commits to master since this release
To install the stable build:
- Chromium: Install from the Chrome store: 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.
- For Chromium version 54 and older, it is necessary to enable "Experimental JavaScript" at
- Firefox: Click uBlock0_1.22.2.firefox.signed.xpi.
- Opera: Install from Opera addons: https://addons.opera.com/en/extensions/details/ublock/.
Emergency fix in ac7825c: redirection rules could be
ignored under some circumstances. Regression from 3e5c9e0.
Assets
5
Commits to master since this release
To install the stable build:
- Chromium: Install from the Chrome store: 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.
- For Chromium version 54 and older, it is necessary to enable "Experimental JavaScript" at
- Firefox: Click uBlock0_1.22.0.firefox.signed.xpi.
- Opera: Install from Opera addons: https://addons.opera.com/en/extensions/details/ublock/.
New
Toolbar icon badge color
The toolbar icon badge color will now reflect the current blocking mode. This should help with usage of the "Relax blocking mode" shortcut. The way uBO relaxes the current blocking mode is configurable through the advanced setting blockingProfiles.
Static network filter options
redirect-rule=
This new option allows to create a pure redirect directive, without a corresponding block filter as would be the case with the redirect= option. For example, consider the following filter:
||example.com/ads.js$script,redirect=noop.js
The above filter will result in a block filter ||example.com/ads.js$script and a matching redirect directive. Now consider this following filter:
||example.com/ads.js$script,redirect-rule=noop.js
The above filter will not cause a block filter to be created, only a redirect directive will be created. Standalone redirect directives are useful when the blocking of a resource is optional but we still want the resource to be redirected should it ever be blocked by whatever mean -- whether through a separate block filter, a dynamic filtering rule, etc.
empty and mp4
Support for AdGuard's empty and mp4 filter option has been added.
!#if false ... !#endif
Support for the directive !#if false to easily disable a block of filters, which is more convenient than having to delete them all or prefix them all with !.
Scriptlet injection
Ability to wholly disable scriptlet injection for a given site using broad scriptlet injection exception:
example.com#@#+js()
It is also possible to disable scriptlet injection everywhere with a generic exception:
#@#+js()
This is useful when creating specific exception filters is inconvenient.
Closed as fixed:
- Support AdGuard's
empty&mp4static filter options - Add ability to bypass browser cache when fetching a resource
- Extension icon doesn't revert back when the domain is removed from Whitelist tab
- Dead code in
assets.js - Popup panel closing when forcing a reload
- uBlock does not appear to honor overriding default assets.json via Chrome policy
- uBo logger show not used :style(...) filters
- Block Element doesn't appear in the context menu of a tab under specific circumstances
- Cosmetic filters containing pseudo-elements do not show results in manual/interactive selection mode
Commits with no entry in issue tracker:
- Add support for
!#if falsein list directive processor - Code review fix re. max string length in bidi-trie
- Add two scriptlets: setTimeout-if and setInterval-if
- Fix badly computed output size in µBlock.base64.encode()
- Add new scriptlet to defuse calls to requestAnimationFrame
- Add support for special exception filter
#@#+js() - Add ability to escape comma in a scriptlet's list of arguments
- Review icon badge color management
- Reflect blocking mode in badge color of toolbar icon
- Invalidate browser's memory cache after using element picker
- Add virtuous signal that remote code execution in extension context is not possible
Assets
5
Commits to master since this release
To install the stable build:
- Opera: Install from Opera addons: https://addons.opera.com/en/extensions/details/ublock/.
This is a release for Opera-based browsers only.
Assets
2
Commits to master since this release
To install the stable build:
- Chromium: Install from the Chrome store: 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.
- For Chromium version 54 and older, it is necessary to enable "Experimental JavaScript" at
- Opera: Install from Opera addons: https://addons.opera.com/en/extensions/details/ublock/.
This is an emergency fix for Chromium-based browsers only, version 57 and earlier. The Firefox version won't be updated to 1.21.6.
Assets
3
Commits to master since this release
To install the stable build:
- Chromium: Install from the Chrome store: 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.
- For Chromium version 54 and older, it is necessary to enable "Experimental JavaScript" at
- Opera: Install from Opera addons: https://addons.opera.com/en/extensions/details/ublock/.
This is an emergency fix for Chromium-based browsers only. The Firefox version won't be updated to 1.21.4.
Assets
3
Commits to master since this release
To install the stable build:
- Chromium: Install from the Chrome store: 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.
- For Chromium version 54 and older, it is necessary to enable "Experimental JavaScript" at
- Firefox: Click uBlock0_1.21.2.firefox.signed.xpi.
- Opera: Install from Opera addons: https://addons.opera.com/en/extensions/details/ublock/.
Commits with no entry in issue tracker:
Assets
5
Commits to master since this release
To install the stable build:
- Chromium: Install from the Chrome store: 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.
- For Chromium version 54 and older, it is necessary to enable "Experimental JavaScript" at
- Firefox: Click uBlock0_1.21.2.firefox.signed.xpi.
- Opera: Install from Opera addons: https://addons.opera.com/en/extensions/details/ublock/.
New:
New procedural cosmetic/HTML filtering operator: min-text-length(x), where x is the minimal text length of the subject DOM element. It is chainable. Example:
example.de##^script:has-text(.charCodeAt):min-text-length(14000)
New keyboard shortcut available: "Relax blocking mode". Use it to lower the current blocking mode to a lower one. Currently the default behavior is:
- Allow JavaScript; or
- Allow 3rd-party network requests
Consequently, if your default blocking profile is to disable JavaScript and 3rd-party network requests, you will need to press twice to lower uBO's blocking mode to the lowest blocking mode achievable through the keyboard command. The current web page will be automatically reloaded each time the current blocking mode is lowered.
The shortcut will have no effect when the current blocking mode in effect does not forbid JavaScript and 3rd-party requests.
Closed as fixed:
url(...)style injections in cosmetic filters- Parse search string as plaintext to avoid doubling
\ - Commit button gets stuck under specific circumstances
- Whitelisting behind-the-scene causes uBO to disregard the moz-extension-scheme rule
- Add link to open urls in a new tab
- Thunderbird's 1.20.0 xpi contains version 1.9.15.101
- Coalesce common plain filters in a bucket into a single trie
- Temporary dynamic filters with 3p-script won't save
- Keyboard shortcut to change modes
Commits with no entry in issue tracker:
- Prevent adding known invalid URL-based rules
- Fix background color of previewed image in logger
- Finalize converting resources.txt into immutable resources
- Save only modified immediate hidden settings
- Refactor management of injectable resources
- Strict-block only if match is anchored to end of hostname
- Minor code review re. context menu code
- Add ability to suspend network request handler at will
- Fix some element picker-related issues
- Fix merging multiple URls in element picker
- Replace
execwithtransposein procedural filters - Add test pages for procedural filters
- Add new procedural operator:
:min-text-length(x)