1.19.0
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.
- Firefox: Click uBlock0_1.19.0.firefox.signed.xpi.
- Opera: Install from Opera addons: https://addons.opera.com/en/extensions/details/ublock/.
New
New cosmetic procedural operator: :nth-ancestor(x)
, where x
is the distance from the currently selected node. It is effectively a low-overhead equivalent to :xpath(..[/..]*)
. Using an existing filter as an example:
fastbay.org##.detLink:has-text(VPN):xpath(../../..)
Could be rewritten with the new operator:
fastbay.org##.detLink:has-text(VPN):nth-ancestor(3)
The new operator has a lower overhead as it avoids the need to create and execute XPath expressions.
Closed as fixed
Chromium
- web_accessible_resource secret token accessible to webpages
- Related Chromium issue: https://bugs.chromium.org/p/chromium/issues/detail?id=957866.
- This currently affects browsers based on Chromium 74. I was unable to reproduce the issue with Chromium 73 or Google Chrome 75.
- The mitigation here is to create a new secret token for every network request which is internally redirected to a web accessible resource.
- DNS Prefetching on HTTP sites
Firefox
Core
- No Large Media setting with 0KB should block all images
- Incorrect display of hostnames with numbers in the logger
- Remove duplicate lines when importing user filters
- Can't add some network filters via element picker, create button grayed out
- Wrong Map method used (pull request by n-leigh)
- Make the lists activate by default in browser languages that are minority languages in the lists' countries
- Dashboard tabs are unresponsive after a while
- ::before / ::after no longer hidden as generic filter?
- Using multiple userResourcesLocation lists
- userResourcesLocation URL appears twice in the logger
Commits with no entry in issue tracker
- Add HNTrieRef.dump() and STrieRef.dump() as dev tool
- Add new cosmetic procedural operator:
:nth-ancestor(n)
- Do not store impossible to match filters in HNTrie
- Make token hashes fit within a 32-bit integer
- Increase resolution of known-token lookup table
- Ignore unknown tokens in urlTokenizer.getTokens()
- Fix page count computation in publicSuffixList.enableWASM()
- Convert HNTrie code to ES6
class
- Cache and reuse result of HNTrieRef.matches() when possible
- Introduce three more specialized filter classes to avoid regexes
- Use a sequence of base 64 numbers to encode array buffers
- Add HNTrie-based filter classes to store origin-only filters
- Performance + code maintenance work on static network filtering engine
- Improve usefulness of FilterContainer.benchmark()