Commits to master since this release
To install the developer build:
- Chromium: Install from the Chrome Web Store: https://chrome.google.com/webstore/detail/ublock-origin-dev-build/cgbcahbpdhpcegmbfconppldiemgcoii.
- There may be a good delay before the latest dev build become available in the CWS, as I currently receive a
server error ['PUBLISHED_WITH_FRICTION_WARNING']warning when I programmatically push an update to the CWS -- which means the submitted version is "Pending review". - For Chromium version 54 and older, it is necessary to enable "Experimental JavaScript" at
chrome://flags/#enable-javascript-harmony.
- There may be a good delay before the latest dev build become available in the CWS, as I currently receive a
- Firefox: Click uBlock0_1.24.5b1.firefox.signed.xpi.
- Thunderbird: Download uBlock0_1.24.5b1.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.
Changes:
Firefox 60+
uBO requires a new permission, dns, which is required to solve issue 780. This may triggers a new permission warning from Firefox when uBO updates to the latest dev build, specifically "Access IP address and hostname information", even though this was already possible for uBO to access that information:
From now on uBO will CNAME-uncloak network requests. CNAME-uncloaked network requests will appear as blue entries in the logger. By default, canonical hostnames which are first party to the associated alias hostname are not fed back into uBO's filtering engine, and neither are network requests which were blocked, redirected, or excepted by a filter/rule.
Warning: CNAME-aliased hostnames exist most likely for content delivery purpose, i.e. legitimate.
Closed as fixed:
- Reverse lookup of filter fails with wildcard-leading patterns
- Search Bar is partially hidden on list pages
- "0" prefixes are currently not accepted as valid hosts entries
- [Regression] Show requests blocked in the logger as a result of
csp=option - Source list of entity filter with subdomain is not looked up correctly
- Fanboy's Cookie List moved to better place
- "::" entry in notracking hosts file blocks URLs containing "::"
- Adsbygoogle.js injectable does not validate whether iframe going to be injected is already exist or not
- Allow clicking on domain to expand it to show hosts
Notable commits with no entry in issue tracker:
Assets
5
Commits to master since this release
To install the developer build:
- Chromium: Install from the Chrome Web Store: https://chrome.google.com/webstore/detail/ublock-origin-dev-build/cgbcahbpdhpcegmbfconppldiemgcoii.
- There may be a good delay before the latest dev build become available in the CWS, as I currently receive a
server error ['PUBLISHED_WITH_FRICTION_WARNING']warning when I programmatically push an update to the CWS -- which means the submitted version is "Pending review". - For Chromium version 54 and older, it is necessary to enable "Experimental JavaScript" at
chrome://flags/#enable-javascript-harmony.
- There may be a good delay before the latest dev build become available in the CWS, as I currently receive a
- Firefox: Click uBlock0_1.24.5b0.firefox.signed.xpi.
- Thunderbird: Download uBlock0_1.24.5b0.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.
Changes:
Firefox 60+
uBO requires a new permission, dns, which is required to solve issue 780. This may triggers a new permission warning from Firefox when uBO updates to the latest dev build, specifically "Access IP address and hostname information", even though this was already possible for uBO to access that information:
From now on uBO will CNAME-uncloak network requests. CNAME-uncloaked network requests will appear as blue entries in the logger. By default, canonical hostnames which are first party to the associated alias hostname are not fed back into uBO's filtering engine, and neither are network requests which were blocked, redirected, or excepted by a filter/rule.
Warning: CNAME-aliased hostnames exist most likely for content delivery purpose, i.e. legitimate.
Closed as fixed:
- "0" prefixes are currently not accepted as valid hosts entries
- [Regression] Show requests blocked in the logger as a result of
csp=option - Source list of entity filter with subdomain is not looked up correctly
- Fanboy's Cookie List moved to better place
- "::" entry in notracking hosts file blocks URLs containing "::"
- Adsbygoogle.js injectable does not validate whether iframe going to be injected is already exist or not
- Allow clicking on domain to expand it to show hosts
Notable 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:
- Opera: Install from Opera addons: https://addons.opera.com/en/extensions/details/ublock/.
Fixed
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.24.2.firefox.signed.xpi.
- Opera: Install from Opera addons: https://addons.opera.com/en/extensions/details/ublock/.
This is an emergency fix:
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.24.0.firefox.signed.xpi.
- Opera: Install from Opera addons: https://addons.opera.com/en/extensions/details/ublock/.
Changes:
The badge for the cosmetic filtering switch in the popup panel has been revisited so that it will from now on be evaluated on-demand only, which occurs when hovering the mouse cursor over the cosmetic filtering switch:
Closed as fixed:
- report-uri / report-to rejector RegExp is broken
- global onMouseDown handler doesn’t handle SVG links
- Regression: tabs created by user are closed by popup filter
- Switch filter inputs to type="search"
- Performance of the per-site switches counters
- Expand bidi-trie code to hold more types of filters
- Block element preview window overlays object to be blocked
Notable 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.23.0.firefox.signed.xpi.
- Opera: Install from Opera addons: https://addons.opera.com/en/extensions/details/ublock/.
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 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.

