mirror of
https://github.com/gorhill/uBlock.git
synced 2025-10-05 21:32:39 +02:00
34 KiB
34 KiB
- Improve
href-sanitizer
scriptlet - Fix
editInboundObjectFn
utility scriptlet - Improve
trusted-replace-argument
scriptlet - Add ability to test against regex in JSONPath expressions
- Improve
proxy-apply
utility scriptlet - Fix
removeparam
for multiple query parameters with same name - Improve
trusted-click-element
scriptlet - Improve
google-ima
shim - Add back a uBO-specific version of "CERT.PL's Warning List"
1.66.4
1.66.2
1.66.0
- Improve
prevent-fetch
scriptlet - Add support to strict-block from
ipaddress=
option - Improve rendering with high-contrast theme (fix suggested by @emv33)
- Fix undue fetch from remote server at first install
- Improve compatibility of
uritransform=
with DNR syntax - Allow usage of
csp=
/permissions=
with resource type object - JSONPath: Add ability to select root node for appending/modifying
- JSONPath: Add ability to substitute a pattern within a string value
- Remove "CERT.PL's Warning List" from stock lists
- Fix incorrect CNAME-related test in advanced settings
- Remove "AdGuard Tracking Protection"from stock list
- Add filter list for experimental filters
- Improve
fingerprint2.js
shim - Make
google-ima
a valid injectable scriptlet - Improve
abort-current-script
scriptlet - Fix potential exception in procedural operator
:matches-attr
- Improve reporting of
reason
option in strict-blocked pages - Improve
prevent-innerHTML
scriptlet
1.65.0
Fixes / changes
- Reset
important
option flag atheader
evaluation time - Fix broken reverse lookup of filter lists
- Add
[trusted-]edit-inbound-object
scriptlets - Improve
remove-cookie
scriptlet - Add
json-edit
-related scriptlets - Improve
trusted-set-cookie
scriptlet - Force cache bypass reload when no-scripting switch is toggled
- Improve
jsonl[...]
suite of scriptlets - Add support for network filter option
message
- Make
header=
syntax compatible with DNR rules - Counter CodeMirror's
pointer-events: none
on scrollbars - Fix element picker issue with explicit dark theme
1.64.0
Fixes / changes
- Use custom blank page for embedded iframe in dashboard
- Use
color-scheme
meta
tag, as suggested - Bring zapper look in line with uBO Lite's zapper
- Ignore
start_page
transition for popup-blocking purpose - Exclude
chrome:
as valid openers for popup candidates - Fetch diff patches from "reliable" servers only
- Add
trusted-create-html
scriptlet - Mind potential race condition when dynamically registering scriptlets
- Fix undue unchecking of setting in "My filters"
- Add path support as target option in static extended filtering
- Add
trusted-prevent-fetch
scriptlet - Code viewer shouldn't be maximizable
- Add
json-edit
suite of scriptlets; extendreplace=
option - Improve
trusted-prevent-dom-bypass
scriptlet - Add
jsonl-prune-xhr-response
/jsonl-prune-fetch-response
scriptlets - Improve
[json-prune|trusted-replace]-fetch-response
scriptlets
1.63.2
Fixes / changes
1.63.0
Fixes / changes
- Improve
prevent-set[Timeout|Interval]
scriptlets - Add quit button to element zapper mode
- Improve
trusted-override-element-method
scriptlet - Disable obsolete cache-control workaround for Firefox
- Improve
overlay-buster
scriptlet - Add ability to inject scriptlets according to origin of ancestor contexts
- Fix range parser in prevent-setTimeout scriptlet
- Add filter option synonyms for
strict1p
/strict3p
- Increase URL buffer size to 8192 (from 2048)
- Use onmessage/postMessage instead of BroadcastChannel in diff updater
- Improve
disable-newtab-links
scriptlet - Improve
prevent-addEventListener
scriptlet - Fix reverse lookup of
##^responseheader(...)
filters - Improve
evaldata-prune
scriptlet - Comply with Mozilla's "User Consent and Control"
- Improve
noeval-if
scriptlet - Add "closed","next", "mandatory", "agree/disagree" values to
set-cookie
scriptlet (by @ryanbr) - Add
decline
value toset-cookie
scriptlet - Improve
abort-on-stack-trace
scriptlet - Improve
href-sanitizer
scriptlet
1.62.0
Fixes / changes
- Fix deserialization of ArrayBuffer shared by multiple TypedArrays
- Improve
trusted-suppress-native-method
scriptlet - Improve
urlskip=
filter option - Improve
parse-properties-to-match
scriptlet helper - Improve
href-sanitizer
scriptlet - Improve quote usage in filter options and scriptlets
- Improve
trusted-suppress-native-method
scriptlet - Improve
trusted-replace-argument
scriptlet - Block media elements unconditionally when max size is set to 0
- Regression from https://github.com/gorhill/uBlock/commit/73ce4e6bcf
- Visually separate scriptlet parameters in active line
- Mitigate potentially delayed execution of scriptlets in Firefox
- Improve
prevent-setTimeout
/prevent-setInterval
scriptlets - Improve
trusted-replace-argument
scriptlet - Add
-safebase64
directive tourlskip=
option - Improve
urlskip=
filter option - Improve
spoof-css
scriptlet - Improve
trusted-set-attr
scriptlet - Add support for EasyList
{ remove: true }
cosmetic filter syntax - Keep moving related scriptlets into separate files
- Improve
prevent-xhr
scriptlet - Improve
trusted-suppress-native-method
scriptlet - Improve
set-cookie
scriptlet
1.61.2
Fixes / changes
- Better handle unexpected conditions when deserializing
- Fix potential infinite async loop (issue found by @Rob--W)
1.61.0
Fixes / changes
- Improve
prevent-refresh
scriptlet - Improve
googlesyndication_adsbygoogle.js
scriptlet - Offer ability to skip redirects in strict-blocked page
- Add
-blocked
directive tourlskip=
option - Add
trusted-set-attr
scriptlet - Remove
64:ff9b:
as private network block - Ensure
urlskip=
redirects only tohttps:
- Add support to
urlskip=
media resources - Add
-uricomponent
tourlskip=
option - Add
forbidden
/forever
as safe cookie values (by @ryanbr) - Add regex extraction transformation step to
urlskip=
option - Improve
prevent-window-open
scriptlet - Add support to parse Adguard's
[$domain=/.../]
regex-based modifier - Validate result type of XPath expressions
- Fix npm test suite
- Add ability to lookup parameter name in
urlskip=
- Mind that BroadcastChannel contructor can throw in Firefox
- Add
trusted-override-element-method
scriptlet - Add
trusted-prevent-dom-bypass
scriptlet - Improve
prevent-xhr
scriptlet; addtrusted-prevent-xhr
scriptlet - Skip dns resolution when requests are proxied through http
- Blocking large media elements also prevents autoplay, regardless of size
- Do not discard
!#else
block for unknown preprocessor tokens - Add ability to decode base64 in
urlskip=
- Fix images not properly downloading on click
1.60.0
Fixes / changes
- Add advanced setting
dnsResolveEnabled
- Fix contextual menu quirks
- Fix exception thrown in
spoof-css
in Firefox - Throttle down repeated scriptlet logging information
- Improve scriptlet helper
proxy-apply
- Add an entry in Report page for badware/phishing category
- New static network filter option
urlskip=
- Rewrite cname uncloaking code to account for new
ipaddress=
option - Avoid using dns.resolve() for proxied DNS resolution
- Add support for
lan
/loopback
values toipaddress=
option - New static network filter option
ipaddress=
- Add ability to quote static network option values
- Improve
prevent-fetch
scriptlet - Apply CSP/PP injections to
object
resources - Improve
xml-prune
scriptlet - Add support for
application/dash+xml
inreplace=
option - Add ability to directly evaluate static network filtering engine
- Fix
prevent-window-open
for when logger is open - Improve
prevent-window-open
scriptlet - Improve
validate-constant
scriptlet helper - Improve
trusted-replace-outbound-text
scriptlet - Improve
prevent-xhr
scriptlet - Add noop resources for redirect purpose
- Use helper function to lookup safe cookie values
- Add
checked
/unchecked
toset-cookie
(by @ryanbr) - Add
allowed
/denied
toset-local-storage-item
(by @ryanbr) - Fix plain exceptions not overriding block filters using
header=
option - Improve various scriptlets
- Improve
href-sanitizer
scriptlet - Improve
remove-attr.js
scriptlet - Improve
trusted-replace-node-text
scriptlet
1.59.0
Fixes / changes
- Improve
href-sanitizer
scriptlet - Improve
trusted-replace-node-text
scriptlet - Improve
set-constant
scriptlet - Improve
prevent-fetch
scriptlet - Improve
href-sanitizer
scriptlet - Fix CSP/PP header injection in non-document resources
- Add
trusted-suppress-native-method
scriptlet - Add support for
$currentISODate$
intrusted-set-cookie
scriptlet - Add
essential
andnonessential
to set-cookie (by @ryanbr) - Fix distance calculation in picker
- Fix bad serialization of Date objects
- Fix race condition when loading redirect/scriptlet resources
- Improve logging in
prevent-addEventListener
scriptlet - Add
:matches-prop()
pseudo CSS operator - Improve
set-cookie
scriptlet - Improve
trusted-replace-node-text
scriptlet - Improve
trusted-replace-(fetch|xhr)-response
scriptlets - Improve
prevent-addEventListener
scriptlet - Add
isodate
as available placeholder for auto-comment - Improve
trusted-replace-outbound-text
scriptlet - Classify generic cosmetic filters with comma as highly generic
- Raise max buffer size for response body filtering
- Trim end of class tokens in generic cosmetic filtering's surveyor
- Improve
trusted-set-cookie
scriptlet
1.58.0
Fixes / changes
- Fallback to
requestAnimationFrame
whenrequestIdleCallback
is not available - Improve
trusted-click-element
scriptlet - Replace EasyDutch with AdGuard Dutch
- Add checksum validation when loading trie buffers in selfie
- Catch exceptions in API calls for the sake of old Chromium versions
- Add
accept
/reject
toset-local-storage-item
(by @ryanbr) - Use raw string for regex patterns in python scripts
- Improve
noeval-if
scriptlet - Improve
trusted-set-local-storage-item
scriptlet - Fix potential corruption when reading serialized data
- Improve
remove-[attr|class]
scriptlets - Improve dashboard layout at high zoom factor
- Add a console pane to the logger
- Improve
spoof-css
scriptlet - Fix bad date computation in auto-comment feature
- Fix regression breaking import of
file://
lists - Add
trusted-replace-outbound-text
scriptlet - Improve
[trusted-]set-cookie
scriptlets
1.57.2
Fixes / changes
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
- Add advanced setting
requestStatsDisabled
- First lookup matching stock lists when importing URLs
- Reset filter lists in worker when creating filters via "Block element"
- Remove trusted-source requirement when using
badfilter
- Redesign cache storage
- Don't match network filter-derived regexes against non-network URIs
- Remove obsolete trusted directives
- Support logging details of calls to
json-prune-fetch-response
- Escape special whitespace characters in attribute values
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
intrusted-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
- Empty query parameters must still use
=
- Add support to toggle no-scripting switch with keyboard shortcut
- Do not exceed rate-limited calls to
handlerBehaviorChanged()
- Shield some code paths against potentially tampered global properties (in scriptlets)
- Do not prevent applying changes when lists are updating
- Add
elements
vararg toprevent-addEventListener
scriptlet - Do not use tab character as field separator (in logger)
- Prevent
:others()
from hidinghtml
tag
1.55.0
Fixes / changes
- Discard repeating adjacent entries in the logger
- 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
inreplace=
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
touritransform
- Vertically expand/collapse in steps in dom inspector
- Reset the DOM inspector when URL in top context changes
- Support shadow-piercing combinator
>>>
intrusted-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
1.54.0
New
Differential update of filter lists, as a result of discussions at https://github.com/AdguardTeam/FiltersCompiler/issues/192. Resulting spec is here.
The goal is to NOT be ranked among the "most popular projects" by bandwidth usage (as per jsDelivr's public stats):
It is expected that differential updates will lower both requests and bandwidth usage.
To benefit the much shorter update period enabled by differential updates, you must let uBO auto-update the filter lists. Forcing a manual update will prevent differential updates until the next time a list auto-update.
Fixes / changes
- Enable path for native
has()
selector in Firefox - Allow scriptlets to be injected in
about:blank
- Fix faulty
as
vararg inset-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 inrmnt
/rpnt
scriptlets - Apply response filtering according to mime type
- Add t/f to set-cookie (by @ryanbr)
- Have
urltransform=
use the same syntax asreplace=
- Implement network filter option
replace=
(Firefox only because filterResponseData) - Prevent evaluating the SNFE until fully loaded
- Add support for differential update of filter lists