1.49.0

gorhill/uBlock1.49.0Apr 18, 2023by github-actions[bot]

AI Summary

This update focuses on performance and usability, introducing a filter syntax linter, a widget to filter firewall rows, and support for negated hostnames in HTML filters.

Key Highlights

  • Added infrastructure for static filter syntax linter
  • Added widget to filter firewall rows in popup panel
  • Added support for negated hostnames in HTML filters
  • Refactored scriptlet injection code for better performance
  • Improved auto-update logic for filter lists

New Features

  • Static filter syntax linter
  • Firewall filtering widget
  • Negated hostnames in HTML filters

Full Release Notes

[Commits to master since this release](https://github.com/gorhill/uBlock/compare/1.49.0...master)
[Commits since last release](https://github.com/gorhill/uBlock/compare/1.48.8...1.49.0)

To install the stable build:

- **Firefox**: Click [uBlock0_1.49.0.firefox.signed.xpi](https://addons.mozilla.org/firefox/downloads/file/4099143/ublock_origin-1.49.0.xpi)
    - [uBO works best on Firefox](https://github.com/gorhill/uBlock/wiki/uBlock-Origin-works-best-on-Firefox).
- **Chromium**: Install from the Chrome store (CWS): <https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm>
- **Edge**: Install from Microsoft Store: <https://microsoftedge.microsoft.com/addons/detail/odfafepnkmbhccpbejgmiehpchacaeak>
    - The Microsoft Store version of uBO is published by [Nicole Rolls](https://github.com/nicole-ashley/uBlock-Edge)
- **Opera**: Install from Opera addons: <https://addons.opera.com/en/extensions/details/ublock/>

## Fixes / changes

- [Make the toolbar warning timeout configurable](https://github.com/gorhill/uBlock/commit/19db4e57f2c49ecee75cee70d340eb61969a5723)
- [Better integrate suspend-network with unprocessed-request](https://github.com/gorhill/uBlock/commit/bacf5d16613905d45955b6a73d26f3dfe5b15047)
- [Properly detect incorrect usage of CSS combinators](https://github.com/gorhill/uBlock/commit/dad862f063700f46f3471d850efab08075d044a0)
- [Wrap usage of setTimeout in helper for background + auxiliary pages](https://github.com/gorhill/uBlock/commit/91f9795023de45dcee17567d3faef8c65335e2e0)
- [Start using browser.alarms instead of setTimeout() where applicable](https://github.com/gorhill/uBlock/commit/bec6cad2c029ef59de40043dcc998bb3c861cc69)
- [Fix improper detection of quotes in quoted strings](https://github.com/gorhill/uBlock/commit/66c70cf746c1863d9d3733502658617d77f4d146)
- [Add matched cosmetic filters in troubleshooting information](https://github.com/gorhill/uBlock/commit/6efd8eb84aaae43b05c3e9f2bffd13cf85f16018)
- [Add infrastructure for static filter syntax linter](https://github.com/gorhill/uBlock/commit/50afd5ae38df37c01340f465d4acc499f030ca91)
- [Make `object` equivalent of `frame` for dynamic filtering purpose](https://github.com/gorhill/uBlock/commit/b4ae2d3bf4b82066ec06039a76d7220905f93508)
- [Enforce implicit media type for filters using `mp4` option](https://github.com/gorhill/uBlock/commit/d58309674db077a3ba563fe5aa558e43d790c688)
- [Better detect invalid network filter patterns](https://github.com/gorhill/uBlock/commit/42a00ec74212daf74a8e23a016bc96bda64fc210)
- [Support view source of "other" type](https://github.com/gorhill/uBlock/commit/3d1c696e20a8c1111bc44cb9bea04ee0fabc5e46)
- [Add widget to filter firewall rows in popup panel](https://github.com/gorhill/uBlock/commit/8d445e782ddc57158e0bffcc08dec193340d49a0)
- [Add support for negated hostnames in HTML filters](https://github.com/gorhill/uBlock/commit/8507d637e5190836caec390fed3a9cff13b4e131)
- [Aggressively auto update assets when at least one is very obsolete](https://github.com/gorhill/uBlock/commit/f7f776fb8abc308b4b64b787eacdde56818e2bce)
- [Normalize non-ASCII characters in `:matches-path()` argument](https://github.com/gorhill/uBlock/commit/a8a46c4593771c83b725ebe35a287c47146f0c0c)
- [Refactor scriptlets injection code](https://github.com/gorhill/uBlock/commit/18a84d2819d49444fc31c5350677ecc5b2ec73c6)
    - [Add scriptlet dependencies to reduce code duplication](https://github.com/gorhill/uBlock/commit/236fb3ad59ecf3e01066004fbe86d17bf2d00808)
    - [Protect RegExp.prototype.test method in scriptlets.js](https://github.com/uBlockOrigin/uBlock-issues/issues/1741)
- [Properly handle default list status changes in assets.json](https://github.com/gorhill/uBlock/commit/2cd062898c0f6007ea9b44b36472c210baa1b0e4)