What's new in uBlock Origin for Opera 1.57.2

Apr 10, 2024
  • This is an emergency release to fix an issue causing differential updates to fail. The issue primarily affected Firefox because of uBO's use of indexedDB prior to 1.57.0. The issue did not affect full update of filter lists even though the asset viewer would show old versions of those lists (internally uBO compiles lists and would still correctly compile from lists fetched by full updater).
  • This release also contains translation work, so I will also publish an update to Chrome Web Store despite the issue not affecting Chromium-based browsers.

New in uBlock Origin for Opera 1.54.0 (Dec 19, 2023)

  • Fixes / changes:
  • Extend support for differential updates to imported lists
  • Add detection of mismatched !#if-!#endif in linter
  • Support links to update lists which are differential update-friendly
  • Remove "Purge all caches" button from "Filter lists" pane
  • Add support for all list token in updater-link feature
  • Fix logging of broad exception filter #@#+js()
  • Improve no-xhr-if scriptlet
  • Ensure cache storage backend is selected before access
  • Fix popup panel rendering when embedded in logger
  • Add visual hint in support information re. differential update
  • Remove obsolete web accessible resources
  • Rename urltransform to uritransform
  • Vertically expand/collapse in steps in dom inspector
  • Reset the DOM inspector when URL in top context changes
  • Support shadow-piercing combinator >>> in trusted-click-element
  • Isolate DOM inspector layers from page context
  • Refactoring: Replace DOM events with broadcast channels
  • Support non-default sticky lists
  • Add enableLazyLoad function (by @spazmodius )
  • Change frequency of save-to-storage blocking stats
  • Improve prevent-fetch scriptlet
  • Catch cases of ! Expires: field with no value

New in uBlock Origin for Opera 1.53.0 (Nov 10, 2023)

  • Add additional set-cookie names (by @ryanbr)
  • Improve google-ima shim script (by @kzar)
  • Match type exactly in prevent-addEventListener scriptlet
  • Add filtering expressions for logger output
  • Add warning against adding custom filters from untrusted sources
  • Consider My filters an untrusted source by default
  • Add trusted-prune-inbound-object scriptlet
  • Add dontOverwrite vararg to (trusted-)set-cookie scriptlets
  • Add "on" and "off" values to set-cookie (by @peace2000)
  • Fine tune set-local-storage-item as per feedback
  • Support AdGuard's [trusted-]set-cookie-reload scriptlets
  • Ignore assets older than cached version when fetching from CDNs
  • Support quoting scriptlet parameters with backticks
  • Add new static network filter option: urltransform
  • Support pane: mark lists as obsolete only when update button is clicked
  • Bring header= filter option out of experimental status
  • Add trusted-click-element scriptlet
  • Add ability to update lists through links with specifically crafted URLs
  • Fix overzealous matching in (remove|replace)-node-text scriptlets
  • Fix no-xhr-if scriptlet for Firefox
  • Support restoring from application/json file
  • Use safe versions of Math.floor/Math.random in scriptlets
  • Improve google-ima.js surrogate
  • Add stackToMatch vararg to json-prune-related scriptlets
  • Reduce race conditions in scriptlet injection on Firefox
  • Add scriptlet aliases for compatibility with AdGuard lists
  • Remove unmaintained urlhaus PUP filter list
  • Use AG version of urlhaus list
  • Minor code review of scriptlets

New in uBlock Origin for Opera 1.52.2 (Sep 25, 2023)

  • Fixes / changes:
  • Fix XHR hook partial response handling (fix by @ephemeralViolette)
  • Fix regression in :is() operator
  • Do not assume set viewport for popup panel when using portrait mode in descktop
  • Fix removal of :scope prefix in :has() operator

New in uBlock Origin for Opera 1.52.0 (Sep 13, 2023)

  • Fixes / changes:
  • Add json-prune-xhr-response and trusted-replace-xhr-response scriptlets
  • Use globalThis instead of self in scriptlet helper
  • Add json-prune-fetch-response scriptlet
  • Position reload icon in logger as per feedback
  • Re-factor extra args for set-constant scriptlet
  • Use Unicode version of hostnames in element picker
  • Disallow trailing CSS universal selector unless properly separated
  • Fix/improve xml-prune scriptlet
  • Improve xml-prune scriptlet
  • Put uBO's icon in nav bar by default
  • Properly serialize CSS combinators according to position in selector
  • Improve no-xhr-if scriptlet
  • Improve no-xhr-if scriptlet
  • Use non-normalized URL for reload/report operations
  • Add commented keywords to googlesyndication_adsbygoogle.js scriptlet
  • Improve fingerprint2.js scriptlet
  • Nothing can come after action operator in procedural cosmetic filters
  • Add trusted-replace-fetch-response scriptlet
  • Harden spoof-css scriptlet
  • Support negated pattern for stack test in scriptlets
  • Fix looking up clickable URLs in code viewer
  • Fine tune logging capabilities of json-prune scriptlet
  • Add stackNeedle argument to json-prune scriptlet
  • Improve remove-class behavior
  • Add visual hint for filtered out rows in firewall pane
  • Add $currentISODate$ to trusted-set-local-storage-item scriptlet
  • Eliminate case-sensitivity from values in set-cookie scriptlet

New in uBlock Origin for Opera 1.51.0 (Jul 28, 2023)

  • Fixes / changes:
  • Remove obsolete web_accessible_resources
  • Add missing (deprecated) method to google ima
  • Fix regression in handling of experimental header= filter option
  • Only already normalized CSS selectors can be fast path-compiled
  • Improve compatibility with AdGuard's scriptlets
  • Add static network filter option: permissions
  • Add set-attr scriptlet
  • Do not bail too early when trapping properties in acs scriptlet
  • Fix regression in cloud storage import of "Filter lists" pane
  • Add set-session-storage-item scriptlet
  • Prevent negative position when widget size is greater than viewport size
  • Ensure no negative value for top property of floating widget in logger
  • Add visual hint when not all sublists are enabled
  • Add support for AdGuard's noop (_) network filter option
  • Add "tabless" filter expression for logger output
  • Add support for logical expressions to !#if directive
  • Also added support for !#else
  • Add resource aliases for increased compatibility with AdGuard lists
  • Add compatibility with AdGuard's #%#//scriptlet(...) syntax
  • Also added support for quoted parameters in ##+js(...) syntax
  • Fix syntax highlighter throwing with invalid patterns
  • Prevent creating report until filter lists are updated
  • Add support for sublist at any tree depth in "Filter lists" pane
  • Add set-local-storage-item/trusted-set-local-storage-item scriptlets
  • Add support to remove values in set-local-storage-item scriptlet
  • Fix m3u-prune scriptlet
  • Rework nowoif scriptlet
  • Add trusted-set-cookie scriptlet (requires trusted source)
  • Add set-cookie scriptlet
  • Can't have whitespace in network filter pattern

New in uBlock Origin for Opera 1.50.0 (Jun 7, 2023)

  • Add support to remove attributes in xml-prune scriptlet
  • Fix/improve href-sanitizer scriptlet
  • Add evaldata-prune scriptlet
  • Add support for xhr in xml-prune
  • Add remove-node-text.js scriptlet
  • Add trusted-set-constant scriptlet
  • Support injecting scriptlet in MAIN or ISOLATED world
  • Add trusted-source support for privileged scriptlets (and add replace-node-text scriptlet)
  • Add spoof-css scriptlet
  • Add back AdGuard Tracking Protection
  • Expand/harden some scriptlets
  • Return string when storage.sync.get() promise fails
  • Do not bail out when content-disposition is inline
  • Fix improperly unselecting imported lists
  • Report injected scriptlets in troubleshooting information
  • Fix rendering issue of row-filter icon in popup panel
  • Add "scriptlet" filter expression to logger
  • Fix hostname-detecting regex
  • Add support for sublists in "Filter lists" pane
  • Properly handle converted procedural filters in logger
  • Mind small screen size in asset viewer
  • Add thunderbird as target for installation
  • Add ability to execute aeld scriptlet at a later time
  • Move hostname label to top of popup panel
  • Offer opportunity to update filter lists before reporting issue
  • Fix compiling of negated regex-based to= domain

New in uBlock Origin for Opera 1.48.4 (Apr 3, 2023)

  • Fixes / changes:
  • Fix presumed network filter not being a valid network filter
  • Avoid using ! toolbar icon badge when inconsequential:
  • Clear unprocessed requests status on webNavigation reload event

New in uBlock Origin for Opera 1.48.2 (Mar 28, 2023)

  • Fixes / changes:
  • Ensure astSelectorsFromSelectorList receive expected arguments

New in uBlock Origin for Opera 1.48.0 (Mar 24, 2023)

  • Fixes / changes:
  • Refactor scriptlets injection code
  • Properly handle default list status changes in assets.json

New in uBlock Origin for Opera 1.47.4 (Mar 7, 2023)

  • Add list for Macedonia; add languages to Persian list
  • Support update period below 1-day
  • Restore behind-the-scene origin for docless secondary resources
  • Refine AST template's regex for hosts file entries
  • Flush cached result when adding to FilterDomainHitSet

New in uBlock Origin for Opera 1.47.2 (Feb 21, 2023)

  • Fixes / changes:
  • Support moving logger dialog around with touch events
  • Raise minimum version of Firefox
  • Fix improper invalidation of inline-(font|script) types

New in uBlock Origin for Opera 1.46.0 (Jan 3, 2023)

  • Fixes:
  • Add options stub to nofab scriptlet
  • Rewrite logger's "exceptor" feature
  • Be sure procedural filterer is present before use
  • Use Blob URLs to reliably inject scriptlets -- as suggested by @evilpie
  • Add :remove-attr() and :remove-class() pseudo selector operators
  • Rework generic cosmetic filtering code
  • Add pseudo-operator :matches-attr()
  • Detect invalid usage of combinators in :not() pseudoclass
  • Give more time for viewport to be ready (in popup panel) -- related feedback
  • Handle potentially invalid CSS selector (in logger)
  • Ensure state of more/less in panel reflect locked/disabled sections
  • Isolate generic cosmetic filters from specific ones in generated stylesheet
  • Do not cname-uncloak same-origin network requests
  • Prevent the creation of non-cosmetic extended filters in element picker
  • Fix visual of DOM inspector layer in dark theme mode
  • Improve extraction of tokens from regexes
  • Use placeholders to minimize vertical shifting at page load time
  • Bundled filter lists in releases are not timestamped
  • Ensure procedural filters are applied at least once
  • Code maintenance: replace uDom.js with dom.js

New in uBlock Origin for Opera 1.45.2 (Nov 23, 2022)

  • Fixes:
  • Test for unsupported pseudo operators after normalization
  • Mind implicit prelude * element in pseudo operators

New in uBlock Origin for Opera 1.44.4 (Sep 27, 2022)

  • Fixes:
  • Fix broken :not() operator when forcing parsing as procedural

New in uBlock Origin for Opera 1.44.2 (Sep 7, 2022)

  • Fixes:
  • Force prodecural cosmetic filtering when explicitly stated
  • Using #?# instead of ## will prevent uBO from potentially using the declarative form of a filter where possible.
  • Fallback to procedural :has() operator when argument is not a valid plain CSS selector
  • Add missing method to shim script

New in uBlock Origin for Opera 1.44.0 (Aug 25, 2022)

  • New procedural cosmetic filter operator: :matches-media():
  • Commit:
  • The argument must be a valid media query as documented on MDN, i.e. what appears between the @media at-rule and the first opening curly bracket (including the parentheses when required).
  • Best practice:
  • Use :matches-media() after plain CSS selectors, if any.
  • Good: example.com###target-1 > .target-2:matches-media((min-width: 800px))
  • Bad (though this will still work): example.com##:matches-media((min-width: 800px)) #target-1 > .target-2
  • Fixes:
  • Add 0.5s mp3 redirectable resource
  • Add queue-related initialization code to AMZN shim script
  • Fix dark theme issue in DOM inspector
  • Better detect invalid cosmetic filters
  • Properly "bleed" 3p rules onto 3p-script/3p-frame cells
  • Skip testing context when none present in acis scriptlet
  • Ignore auto-repeat events in ctrl keydown event handler
  • Fix popup panel for Thunderbird
  • Prevent picker from being larger than viewport
  • use WebAssembly-1.0 compliant function names (by @rathann)

New in uBlock Origin for Opera 1.43.0 (Jun 21, 2022)

  • Fixes:
  • Element-picker: Ensure frame background is transparent
  • Update popup url
  • Also dispatch loadend event in case of match
  • Remove support for deprecated "classic" popup panel
  • Prevent CSS transform on element picker layer
  • Report specific filter before generic one
  • Better highlight bad hostnames in static extended filters
  • Avoid using Element.classList in DOM surveyor
  • Improve logger accuracy re. reported injected scriptlets

New in uBlock Origin for Opera 1.42.4 (Apr 7, 2022)

  • Fixes:
  • Need local URL to enabled-by-default quick-fixes list
  • This fix prevents uBO from fetching quick-fixes list from remote server the first time it is launched after being installed for the first time.

New in uBlock Origin for Opera 1.41.8 (Feb 23, 2022)

  • Fixes:
  • Fix testing a 8-bit integer instead of a 32-bit integer in PSL library

New in uBlock Origin for Opera 1.41.6 (Feb 18, 2022)

  • Fixes:
  • Use unspoofable Messenger.origin to determine privilege level of ports
  • Revert "Prevent highly generic cosmetic filters from affecting html/body elements"

New in uBlock Origin for Opera 1.39.2 (Dec 7, 2021)

  • Closed as fixed:
  • 'Address of webpage' textbox needs to be readonly or changes to it need to be monitored
  • Notable commits without an entry in the issue tracker:
  • Fine tune new reporting feature
  • Link to filter descriptions (patch by @breyed)
  • Reject generic HTML block filters

New in uBlock Origin for Opera 1.38.6 (Oct 14, 2021)

  • Closed as fixed:
  • [Patch by @pixeltris] Fix broken twitch.tv functionality

New in uBlock Origin for Opera 1.38.4 (Oct 11, 2021)

  • Update twitch-videoad scriptlet (solution contibuted by @pixeltris)

New in uBlock Origin for Opera 1.38.2 (Oct 1, 2021)

  • Regression with important filter option
  • Weird issues with removeparam and negated types

New in uBlock Origin for Opera 1.37.2 (Aug 5, 2021)

  • Closed as fixed:
  • uBO 1.37 breaks at least some sites that use googletagmanager if specific filters in use.

New in uBlock Origin for Opera 1.36.2 (Jul 7, 2021)

  • Closed as fixed:
  • DoS with strict-blocking filter

New in uBlock Origin for Opera 1.35.2 (Jun 1, 2021)

  • Firefox 66.0 and earlier:
  • Element picker, zapper and procedural filtering not working on facebook.com
  • Notable commits without en entry in the issue tracker:
  • Better handle network error when fetching sublist
  • Stop autoplay for unset media source with no-large-media-elements
  • Use CDN URLs as fall back URLs

New in uBlock Origin for Opera 1.32.4 (Jan 12, 2021)

  • Closed as fixed:
  • Problems with asterisk in the destination of hostname-based rules

New in uBlock Origin for Opera 1.31.0 (Dec 1, 2020)

  • Closed as fixed:
  • Firefox for Android:
  • Unable to scroll down to the last line in My Filters pane on Firefox for Android
  • Core:
  • "Home" button on Strict blocking page works incorrectly in some cases
  • Implement a version of "{{origin}}" that uses the whole URL and not just the domain
  • cosmetic filter ## selector is valid in element picker only
  • Implement $queryprune parameter
  • Calling callback if provided for google analytics mock
  • Redirection syntax issue
  • Use user styles to collapse the placeholder of blocked resources
  • Make load-on-demand smarter for blocked large media elements
  • Notable commits with no entry in issue tracker:
  • Work around Firefox's data: favIconUrl leak
  • Make json-prune scriptlet also trap Response.json() calls
  • Incrementally improve static filtering parser
  • Coallesce origin hit filters into their own bucket
  • Allow domain= with entity values into pre-test buckets
  • Enable origin-hit coalescing optimisation for modifier filters
  • Re-classify redirect= option as a modifier option
  • Improve token extraction from regex-based filters
  • Improve specificity slider in element picker
  • Use a CodeMirror editor instance in element picker
  • Add support for click-to-load of embedded frames
  • Minor improvements to syntax highlight of static filters

New in uBlock Origin for Opera 1.30.6 (Nov 17, 2020)

  • Fixed:
  • Prevent set-constant from trapping non-configurable properties [regression]

New in uBlock Origin for Opera 1.30.2 (Oct 12, 2020)

  • Fixed:
  • Fix picker generating overly long candidate cosmetic filters [regression]

New in uBlock Origin for Opera 1.29.2 (Aug 22, 2020)

  • Fixes:
  • Add argument to nowoif scriptlet
  • Fix regression in set-constant scriptlet

New in uBlock Origin for Opera 1.29.0 (Aug 18, 2020)

  • Core:
  • Use ISO8061 dates in user filter comments
  • Support new Chromium based Edge in pre-parsing directives
  • Do not triggers strict blocking for wildcard-only patterns
  • Reverse lookup fails for filter of type example.com##*
  • New filter parser creates unexpected network filter from malformed cosmetic filter
  • Avoid loading "!#include" filepaths that are wrapped into "!#if" tags that exclude the browser's environment
  • Use "Trusted sites" instead of "Whitelist"
  • Element picker suggests unhelpful network rule
  • Logger shows names of scriptlet as different ones if short-hand is used
  • A problem with cyrillic characters
  • Adding csp to logger's filter expression picker
  • Cosmetic filters in about:blank iframe
  • Adguard French filter
  • Can't use set-constant.js multiple times for same parent property
  • Improve/refine syntax highlighter, specifically:
  • Fix properly reporting invalid filter options
  • Add syntax highlighting/auto-completion for preparsing directives
  • Add CoreMirror's code-folding ability to list editor/viewer
  • Notable commits with no entry in issue tracker:
  • Remove experimental click-to-load disqus scriptlets
  • Improve annotations for search operations in CodeMirror editor
  • Consolidate filter list reverse lookup code into a single file
  • Allow :upward() operator to select html element
  • Instantiate procedural filterer instance on demand only
  • Deprecate pseudo user styles code
  • Mind discarded status of tabs when internally handling them
  • Do not let grow subframe dictionary grow unbound
  • Consider an empty pattern with anchors to be dubious
  • Add static filter parser checklist
  • Fix highligthing of FQDN match in logger
  • Add support to compare delay against literal Number.NaN in nossif/nostif

New in uBlock Origin for Opera 1.28.4 (Jul 22, 2020)

  • Closed as fixed:
  • Add cdn.jsdelivr.net mirror for urlhaus blocklist
  • Remove repo.or.cz from list of CDNs for urlhaus blocklist
  • Fix spurious rejection of some AdGuard redirect filters
  • Fix the reporting of invalid static extended filters in the logger
  • Fix improper rejecting fitlers with $all,~document options

New in uBlock Origin for Opera 1.26.0 (Apr 16, 2020)

  • Closed as fixed:
  • Remove Adblock Warning Removal
  • Add a way to blanket-except blocked cname-based requests
  • uBO icon in Manage Your Extensions disappears in the offline mode
  • Add remove-class scriptlet
  • Picker-window doesn't appear if images on a site is chosen
  • uBlock Origin v1.25.0 new feature cause DNS leaks
  • Ability to remove DOM element instead of hiding?

New in uBlock Origin for Opera 1.22.4 (Oct 9, 2019)

  • 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.

New in uBlock Origin for Opera 1.21.8 (Aug 19, 2019)

  • Add "Relax blocking mode" command to Opera manifest

New in uBlock Origin for Opera 1.18.10 (Mar 22, 2019)

  • Chromium 59 and less:
  • Waiting for extension uBlock Origin...
  • Commits with no entry in issue tracker:
  • Fix typo which could lead to improper filtering context

New in uBlock Origin for Opera 1.18.6 (Mar 14, 2019)

  • Core:
  • :spath(...) in uBO logger?
  • Tilde added in attribs glitch/freeze Preview mode element picker when I use in Procedural cosmetic filters operator
  • $inline-script,domain tests for top-level domain, not the inline-script document's
  • CSS filters with unclosed pseudo classes works in preview mode
  • Commits with no entry in issue tracker:
  • Remove obsolete code related to assets storage refactoring in 1.11.0
  • Fix parsing of AdGuard's #$?#-based cosmetic filters
  • Remove obsolete code to translate |blob: filters into CSP filters
  • Leverage whotracks.me's huge dataset of URLs for benchmark purpose
  • Refactor selfie generation into a more flexible persistence mechanism
  • Update publicSuffixLibrary to latest (WASM-able) version

New in uBlock Origin for Opera 1.14.16 (Dec 15, 2017)

  • Core:
  • Specific $popup filters incorrectly converted to $popunder
  • Popup detection mistake
  • Static filtering: left-anchor / right-anchor
  • no-popups: * true rule issue

New in uBlock Origin for Opera 1.13.8 (Aug 3, 2017)

  • Closed as fixed:
  • [Performance] Extract token from regex-based filters if possible
  • Logger incorrectly shows all popups as blocked by one filter
  • One more filter parsing issue in the logger
  • How about adding "^" to static filter made from logger?

New in uBlock Origin for Opera 1.13.6 (Jul 12, 2017)

  • This release contains a fix for Opera browser specifically -- no point installing it on other browsers.

New in uBlock Origin for Opera 1.12.4 (Jun 22, 2017)

  • Core:
  • Improperly punycoded hostname for hostname-anchored filters with Unicode characters
  • Request: some unused resources are spuriously updated
  • Bad Fanboy server cache policy
  • This was causing uBO to use potentially severely obsolete filter lists hosted on fanboy.co.nz, or more generally putting uBO users at the mercy of flawed server caching policies.
  • Newly created filter through the element picker is ignored after quitting/launching uBO
  • GUI "gear" Blocked by Temporary Elements
  • Punycode phishing attack detection
  • Potentially ambiguous base domain names in the popup panel will be labelled Ж (a Cyrillic character), to inform the user that the domain name contains Cyrillic characters which could be confused with some ASCII characters.
  • Further reading: IDN homograph attack.
  • More longer timeout time
  • Better handling of timeout conditions for slow connections when updating filter lists.
  • Add adblock-iran filter list to regional lists

New in uBlock Origin for Opera 1.12.2 (Apr 27, 2017)

  • This stable release has been (erroneously) published as version 1.12.1 in Chrome store and Firefox AMO. No other change otherwise.
  • No code change, just a re-package with more recent filter lists to ensure uBlock Origin works out of the box with EasyPrivacy without breaking Facebook upload feature: a filter in EasyPrivacy was causing a false positive.
  • For existing installations, just force an update of EasyPrivacy:
  • I did not look into the details, but at first glance it seems the false positive appeared as a result of Facebook changing its code. It's unlikely sites such as Facebook (who would rather not encourage the use of blockers) would test their pages when using a blocker in order to ensure their site still works fine with a blocker.