Firefox Browser Add-ons
  • Extensions
  • Themes
    • for Firefox
    • Dictionaries & Language Packs
    • Other Browser Sites
    • Add-ons for Android
Log in
Add-on icon

uBlock Origin version history - 25 versions

uBlock Origin by Raymond Hill

Rated 4.8 out of 5
4.8 Stars out of 5
5
15,619
4
1,147
3
322
2
169
1
354
uBlock Origin version history - 25 versions
  • Be careful with old versions! These versions are displayed for testing and reference purposes.You should always use the latest version of an add-on.

  • Latest version

    Version 1.57.2

    Released Apr 8, 2024 - 3.68 MB
    Works with firefox 78.0 and later, android 113.0 and later
    See complete release notes for 1.57.2.

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

    Fixes / changes

    Fix stray lists in redesigned cache storage

    Commits history since last version

    Source code released under GNU General Public License v3.0

    You'll need Firefox to use this extension
    Download Firefox and get the extension
    Download file
  • Older versions

    Version 1.57.0

    Released Mar 29, 2024 - 3.68 MB
    Works with firefox 78.0 and later, android 113.0 and later
    See complete release notes for 1.57.0.

    Fixes / changes
    • Do not block large media resources when loaded as top-level document
    • Properly manage cache storage regarding managed user filters
    • Improve [trusted-]set-cookie scriptlets
    • Fixed Belgian and Nepali flags for Windows Chromium users (by @DandelionSprout)
    • Mind that tabs.sendMessage can throw
    • Improve set-cookie scriptlet
    • Append wildcard character only when filter starts & ends with /
    • Fix failure to create popup logger window sometimes
    • Improve json-prune-related scriptlets
    • Support maximizing editor to viewport size
    • Add advanced setting to force popup panel orientation
    • Add checkboxes to "My filters" pane
    • Assume UTF-8 when no encoding can be looked up
    • Fix issue with "My filters" pane on mobile
    • Support aborting "Pick" mode in element picker
    • Remove sections with no lists in "Filter lists" pane
    • Add "Social widgets", "Cookie notices" sections in "Filter lists" pane
    • No longer disable generic cosmetic filters by default on mobile
    • Improve spoof-css scriptlet
    • Make asset updater compatible with non-persistent background page
    • Move dragbar to the top of element picker dialog
    • ...Commits history since last version

    Source code released under GNU General Public License v3.0

    Download file
  • Version 1.56.0

    Released Feb 17, 2024 - 3.64 MB
    Works with firefox 78.0 and later, android 113.0 and later
    See complete release notes for 1.56.0.

    Fixes / changes
    • Mind that multiple uritransform may apply to a single request
    • Fix incorrect built-in filtering expression in logger
    • Fix improper invalidation of valid uritransform exception filters
    • Improve prevent-addEventListener scriptlet
    • Fix Chartbeat flicker control div's (by @ryanbr)
    • Fix potential exfiltration of browsing history by a rogue list author through permissions=
    • Ignore event handler-related attributes in set-attr scriptlet (suggested by @distinctmondaylilac)
    • Fix potential exfiltration of browsing history by a rogue list author through csp= (reported by @distinctmondaylilac)
    • Output scriptlet logging information to the logger
    • Fix decompiling of scriptlet parameters
    • Add support for extraMatch in trusted-click-element scriptlet
    • Remove minimum height constraint from "My filters" pane
    • Unregister all scriptlets when disabling uBO on a specific site
    • Allow uritransform to process the hash part of a URL
    • Remember presentation state of "My rules" pane
    • Fix improperly assembled !#include sublists
    • Mark procedural filters with pseudo-elements selector as invalid
    • Prevent access to picker when "My filters" is not enabled
    • Provide visual feedback when applying changes in "Filter lists" pane
    • [...]

    Commits history since last version

    Source code released under GNU General Public License v3.0

    Download file
  • Version 1.55.0

    Released Jan 3, 2024 - 3.48 MB
    Works with firefox 78.0 and later, android 113.0 and later
    See complete release notes for 1.55.0.

    Fixes / changes
    • Mind drop events in filter expression field of logger
    • Improve xml-prune scriptlet
    • Fix message entries overflowing in logger
    • Add support for application/x-javascript in replace= option
    • 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
    • [...]

    Commits history since last version

    Source code released under GNU General Public License v3.0

    Download file
  • Version 1.54.0

    Released Nov 22, 2023 - 3.46 MB
    Works with firefox 78.0 and later, android 113.0 and later
    See complete release notes for 1.54.0.

    Fixes / changes
    • Enable path for native has() selector in Firefox
    • Allow scriptlets to be injected in about:blank
    • Fix faulty as vararg in set-constant scriptlet
    • Add support to redirect to noop.json
    • More improvements to the google-ima shim script (by @kzar)
    • All exceptions filters are exempt from requiring a trusted source
    • Add trusted-set-session-storage-item scriptlet
    • Allow the use of quotes in set-cookie scriptlet
    • Allow the use of quotes in set-(local|session)-storage-item
    • Add ability to trigger cookie removal on specific events
    • Ensure CSSTree does not hold a reference onto last parsed string
    • Lower minimum Expires value to 4h
    • Properly reset needle length in unserialized buffer
    • Add additional flags to regional lists (by @DandelionSprout)
    • Harden scriptlets which need to serialize function code into string
    • Reset g regexes before use in rmnt/rpnt scriptlets
    • Apply response filtering according to mime type
    • Add t/f to set-cookie (by @ryanbr)
    • Have urltransform= use the same syntax as replace=
    • Implement network filter option replace=
    • ...

    Commits history since last version

    Source code released under GNU General Public License v3.0

    Download file
  • Version 1.53.0

    Released Oct 31, 2023 - 3.43 MB
    Works with firefox 78.0 and later, android 113.0 and later
    See complete release notes for 1.53.0.

    Fixes / changes
    • 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
    • [More ...]

      Commits history since last version.

    Source code released under GNU General Public License v3.0

    Download file
  • Version 1.52.2

    Released Sep 21, 2023 - 3.41 MB
    Works with firefox 78.0 and later, android 79.0 and later
    See complete release notes for 1.52.2.

    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

    Commits history since last version.

    Source code released under GNU General Public License v3.0

    Download file
  • Version 1.52.0

    Released Sep 8, 2023 - 3.41 MB
    Works with firefox 78.0 and later, android 79.0 and later
    See complete release notes for 1.52.0.

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

    Commits history since last version.

    Source code released under GNU General Public License v3.0

    Download file
  • Version 1.51.0

    Released Jul 19, 2023 - 3.37 MB
    Works with firefox 78.0 and later, android 79.0 and later
    See complete release notes for 1.51.0.

    Fixes / changes
    • Remove obsolete webaccessibleresources
    • 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
    • ...

    Commits history since last version.

    Source code released under GNU General Public License v3.0

    Download file
  • Version 1.50.0

    Released Jun 7, 2023 - 3.34 MB
    Works with firefox 78.0 and later, android 79.0 and later
    See complete release notes for 1.50.0.

    Fixes / changes
    • 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
    • ...

    Commits history since last version.

    Source code released under GNU General Public License v3.0

    Download file
  • Version 1.49.2

    Released Apr 26, 2023 - 3.23 MB
    Works with firefox 78.0 and later, android 79.0 and later
    See complete release notes for 1.49.2.

    Fixes
    • Reverse usage of browser.alarms
    • Mind rejected promises from vAPI.storage API
    • Properly handle promise rejection from webext.storage.local API
    • Add more checks against unexpected conditions re. assets.json

    Commits history since last version.

    Source code released under GNU General Public License v3.0

    Download file
  • Version 1.49.0

    Released Apr 18, 2023 - 3.22 MB
    Works with firefox 78.0 and later, android 79.0 and later
    See complete release notes for 1.49.0.

    Fixes / changes
    • Make the toolbar warning timeout configurable
    • Better integrate suspend-network with unprocessed-request
    • Properly detect incorrect usage of CSS combinators
    • Wrap usage of setTimeout in helper for background + auxiliary pages
    • Start using browser.alarms instead of setTimeout() where applicable
    • Fix improper detection of quotes in quoted strings
    • Add matched cosmetic filters in troubleshooting information
    • Add infrastructure for static filter syntax linter
    • Make object equivalent of frame for dynamic filtering purpose
    • Enforce implicit media type for filters using mp4 option
    • Better detect invalid network filter patterns
    • Support view source of "other" type
    • Add widget to filter firewall rows in popup panel
    • Add support for negated hostnames in HTML filters
    • Aggressively auto update assets when at least one is very obsolete
    • Normalize non-ASCII characters in :matches-path() argument
    • Refactor scriptlets injection code
      • Add scriptlet dependencies to reduce code duplication
      • Protect RegExp.prototype.test method in scriptlets.js
    • Properly handle default list status changes in assets.json


    Commits history since last version.

    Source code released under GNU General Public License v3.0

    Download file
  • Version 1.48.4

    Released Apr 1, 2023 - 3.19 MB
    Works with firefox 78.0 and later, android 79.0 and later
    See complete release notes for 1.48.4.

    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

    Commits history since last version.

    Source code released under GNU General Public License v3.0

    Download file
  • Version 1.48.2

    Released Mar 28, 2023 - 3.18 MB
    Works with firefox 78.0 and later, android 79.0 and later
    See complete release notes for 1.48.2.

    Fixes / changes
    • Ensure astSelectorsFromSelectorList receive expected arguments

    Commits history since last version.

    Source code released under GNU General Public License v3.0

    Download file
  • Version 1.48.0

    Released Mar 21, 2023 - 3.17 MB
    Works with firefox 78.0 and later, android 79.0 and later
    See complete release notes for 1.48.0.

    New

    Readiness status at browser launch

    uBO's toolbar icon will now reflect its readiness status at browser launch.

    Code viewer

    Investigating filter issues can be a serious time sink, and to help with this, a code viewer has been added to uBO. The code viewer will automatically beautify HTML/CSS/JS code, which should be an improvement over the browser built-in view-source tool.

    You can view beautified source code of HTML/CSS/JS resources when clicking the link in a logger entry. Additionally, if the advanced setting filterAuthorMode is set to true, an entry labelled View source code... will be added to the context menu, so that you can view the source code of any page/resource without having to open the logger.

    Fixes / changes
    • Fix broken http header filtering
    • Prevent dashboard from loading at browser launch until ready
    • Support removing whole lines of text with regex in m3u-prune scriptlet
    • Fix broken filter parsing when prepended with spaces
    • Context of about:blank is that of parent frame (popup option)
    • Add experimental href-sanitizer scriptlet
    • Prevent dialog box from overflowing logger's viewport
    • Make parser take into account filterOnHeaders setting
    • Show a distinct toolbar icon until filtering engines are fully initialized
    • Add source code viewer

    Commits history since last version.

    Source code released under GNU General Public License v3.0

    Download file
  • Version 1.47.4

    Released Mar 3, 2023 - 3.1 MB
    Works with firefox 78.0 and later, android 79.0 and later
    See complete release notes for 1.47.4.

    Fixes / changes
    • 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

    Commits history since last version.

    Source code released under GNU General Public License v3.0

    Download file
  • Version 1.47.2

    Released Feb 21, 2023 - 3.08 MB
    Works with firefox 78.0 and later, android 79.0 and later
    See complete release notes for 1.47.2.

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

    Commits history since last version.

    Source code released under GNU General Public License v3.0

    Download file
  • Version 1.47.0

    Released Feb 13, 2023 - 3.08 MB
    Works with firefox 78.0 and later, android 79.0 and later
    See complete release notes for 1.47.0.

    Fixes / changes
    • Prevent context menu entries on non-HTTP documents
    • Ignore compilation hints when applying exception cosmetic filters
    • Add support for regex-based values as target domain for static extended filters
    • Add support for regex-based values for domain=/from=/to= options
    • Rewrite static filtering parser
    • uBO doesn't reject cosmetic filters with invalid pseudo-classes/pseudo-elements
    • Make the logger entry dialog modeless
    • Fix missing regex flags
    • Import version 1.2.0 of RegexAnalyzer
    • Set charset to utf-8 for Blob-based injected scriptlets
    • Disallow -abp-... filters if not using #?#
    • Work related to keyboard shortcuts for page reload
    • New network filter option: to=[list of domain names]
    • New network filter option: method=...

    Commits history since last version.

    Source code released under GNU General Public License v3.0

    Download file
  • Version 1.46.0

    Released Dec 22, 2022 - 3.07 MB
    Works with firefox 68.0 and later, android 68.0 and later
    See complete release notes for 1.46.0.

    Fixes
    • Add options stub to nofab scriptlet
    • Rewrite logger's "exceptor" feature
    • Use Blob URLs to reliably inject scriptlets -- as suggested by @evilpie
    • Add :remove-attr() and :remove-class() pseudo selector operators
    • 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

    Commits history since last version.

    Source code released under GNU General Public License v3.0

    Download file
  • Version 1.45.2

    Released Nov 11, 2022 - 3.09 MB
    Works with firefox 68.0 and later, android 68.0 and later
    See complete release notes for 1.45.2.

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

    Commits history since last version.

    Source code released under GNU General Public License v3.0

    Download file
  • Version 1.45.0

    Released Nov 8, 2022 - 3.08 MB
    Works with firefox 68.0 and later, android 68.0 and later
    See complete release notes for 1.45.0.

    Fixes
    • Try to inject scriptlets at onResponseStarted() time
    • Harden scriptlet injections
      • Might fix "ublock origin not blocking ads in the sidebar of Opera GX while using youtube music", to be confirmed
    • Fix improperly detecting ruleset changes re. dynamic URL filtering
    • Add new scriptlet: xml-prune
    • New cosmetic filter parser using CSSTree library
      • Breaking change: filter list authors, please read the commit message
    • Add support to report/filter SVG image elements in element picker
    • Add original Firefox-authored google-ima shim script
    • element-picker: Declare we support both light and dark color-schemes by @emilio
    • Redesign document-blocked page
    • Make popup panel reflect state of the actual blocked page
    • Unescaped escaped commas in regex-based removeparam values
    • Fix redundant calls to extract image data
    • Extend matches-css() to support any pseudo-element

    Commits history since last version.

    Source code released under GNU General Public License v3.0

    Download file
  • Version 1.44.4

    Released Sep 19, 2022 - 2.92 MB
    Works with firefox 68.0 and later, android 68.0 and later
    See complete release notes for 1.44.4.

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

    Commits history since last version.

    Source code released under GNU General Public License v3.0

    Download file
  • Version 1.44.2

    Released Sep 5, 2022 - 2.92 MB
    Works with firefox 68.0 and later, android 68.0 and later
    See complete release notes for 1.44.2.

    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

    Commits history since last version.

    Source code released under GNU General Public License v3.0

    Download file
  • Version 1.44.0

    Released Aug 16, 2022 - 2.92 MB
    Works with firefox 68.0 and later, android 68.0 and later
    See complete release notes for 1.44.0.

    New

    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)

    Commits history since last version.

    Source code released under GNU General Public License v3.0

    Download file
  • Version 1.43.0

    Released Jun 10, 2022 - 2.91 MB
    Works with firefox 68.0 and later, android 68.0 and later
    See complete release notes for 1.43.0.

    Fixes:
    • Element-picker: Ensure frame background is transparent (by @emilio)
    • Update popup url (by @u-RraaLL)
    • 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

    Commits history since last version.

    Source code released under GNU General Public License v3.0

    Download file
Go to Mozilla's homepage

Add-ons

  • About
  • Firefox Add-ons Blog
  • Extension Workshop
  • Developer Hub
  • Developer Policies
  • Community Blog
  • Forum
  • Report a bug
  • Review Guide

Browsers

  • Desktop
  • Mobile
  • Enterprise

Products

  • Browsers
  • VPN
  • Relay
  • Monitor
  • Pocket
  • Twitter (@firefox)
  • Instagram (Firefox)
  • YouTube (firefoxchannel)
  • Privacy
  • Cookies
  • Legal

Except where otherwise noted, content on this site is licensed under the Creative Commons Attribution Share-Alike License v3.0 or any later version.