Disclaimer Adguard for Mac is not an open-source project. We use GitHub as an open bug tracker for users to see what developers are working on.
We are happy to announce the release of AdGuard v2.12 for Mac beta! This time we have worked a lot to improve your privacy and user experience. Please note that this version of AdGuard for Mac no longer supports macOS High Sierra 10.13 and Mojave 10.14. If you are currently using an older version of Mac, please download the previous version of AdGuard.
AdGuard v2.12 for Mac beta boasts significant improvements. Before AdGuard for Mac could only filter HTTP/1 and HTTP/2 traffic. In v2.12 we have updated CoreLibs so now users can enable HTTP/3 filtering. HTTP/3 (HTTP-over-QUIC) is the latest version of the HTTP protocol that uses QUIC instead of TCP. The QUIC network protocol has a lot of advantages over the TCP transport layer protocol. It provides increased privacy and security, a more stable and faster Internet connection, etc. Enabling HTTP/3 filtering allows you not just to use all the advantages of QUIC protocol, but also block advertisements and trackers! Now our users can enjoy fast Internet connection without any disturbance.
Currently, HTTP/3 filtering is an experimental feature, and we’ll evaluate its stability during the beta phase. Also, due to a browser-specific bug, this feature is now broken in Chrome. However, it should work fine in Safari and Firefox. To use HTTP/3 filtering, go to Advanced → Advanced Settings → network.https.filter.http3.enabled.
We have also fixed compatibility issues with WARP, updated Scriptlets, CoreLibs and DnsLibs.
Changelog
Features
- Experimental HTTP/3 filtering support #1253
Fixes
- AdGuard is not blocking ads in "Web Apps" on macOS Sonoma by default #1292
- The pointer does not change when hovering over the update button #1244
- The app is installed with one non-recommended annoyances filter instead of 5 recommended ones #1263
Important for filter maintainers
Features
Fixes
$jsonprune
,$replace
,$hls
do not work with non-GET-POST HTTP methods #1743$path
modifier does not work on the pathmarket.yandex.ru/?
#1726$jsonprune
modifier should be able to handle quotes forjsonp
#1734$network
rules does not work on macOS with kext #1773- Consider
:has()
,:not()
,:is()
as a standard pseudo-class if ExtendedCss usage is not forced by#?#
rule marker #1683
Scriptlets updated to v1.9.62
Features
- Added API method to convert redirects based on their name #346
- Improved
trusted-replace-fetch-response
/trusted-replace-xhr-response
— add ability to replace all matched content #303 - Added new scriptlet
evaldata-prune
#322 - Added new scriptlet
remove-node-text
#318 - Add new scriptlet —
trusted-replace-node-text
#319
Fixes
- Added new way for returning supported values of
set-constant
scriptlet #316 cannot apply rule
message removed for logging scriptlets #313- Escaped commas in the params during conversion to uBO rules #343
- Improved
prevent-xhr
scriplet #347 log-addEventListener
— a lot of errors are printed to console #335- Scriptlets
prevent-fetch
,prevent-xhr
do not help if a request/domain is blocked by DNS filtering #334 - Added
Accept
andReject
values forset-cookie
#336 - Made case-insensitive values for
set-cookie
#342 - Modified
google-ima3
to avoid conflict with the DAI SDK #331 - Modified storage item scriptlets to add ability to remove item by key #338
- Mock
getResponseHeader()
andgetAllResponseHeaders()
methods forprevent-xhr
andtrusted-replace-xhr-response
#295 - Fixed issue with pruning when
addEventListener
was used before callingsend()
method inm3u-prune
andxml-prune
scriptlets #315 - Added ability for
prevent-element-src-loading
scriptlet to prevent inlineonerror
and matchlink
tag #276 trusted-set-cookie-reload
— website is not reloaded if$now$
value is used #291- Cookie setting scriptlets — name and value encoding problem #311
- Instance properties of
Response
issue in scriptlet and redirect #297 - Value encoding problem with
trusted-set-cookie
andtrusted-set-cookie-reload
scriptlets #320 - Fixed
googletagservices-gpt
— updateTargetingFromMap() #293 - Scriptlets should handle escaped quotes correctly #286
- The version that declares support for scriptlets or redirect is specified #273
Versions
CoreLibs
Features
- Added support for HTTP/3 (IETF QUIC) ("h3" protocol) #487
- Migrated to the new XPC interprocess communication system #1675
- Added
$to
modifier #1714 - Added
$referrerpolicy
modifier #135
Fixes
- uBO media queries are not supported #1707
- WARP gets an error "unable to connect" if AdGuard is already running #1234
- A few seconds delay when visiting ipTIME home routers #1756
- AdGuard desktop version with ECH setting blocks access to domains if VPN extension is enabled #1751
- AdGuard slows down WebPage loading time #1522
- Exception rules interfere with each other #1749
- Hide referer with "Hide your search queries" option enabled if request made by click #1766
- Cosmetic rules don't work at
mypikpak.com
#1767 - When the
network.https.ech.enabled
setting is enabled, ECH GREASE is enabled for sites that do not support ECH #1781 - Error when processing script
text decryption key not found
#1750 - Sometimes DNS fallbacks helper returns 127.0.0.1 instead of provider's servers #1687
- TCP/IP: Added new reject mode - ICMP administratively prohibited #1774
- UDP timeout is too small in TcpIpStack #1796
- User script
SaveFrom helper
gives an error when downloading video fromok.ru
site #1776
DnsLibs
Features
- Add "lb._dns-sd._udp.*.in-addr.arpa" to the default list of exclusions #194
Fixes
- DoH tries to use stale connection too much time #200
sdns://
cert pinning is incorrect #205- Do not direct 127.0.0.1 into outbound proxy #195
UserscriptsWrapper
UserscriptsWrapper updated to v1.2.20
Fixes
- User script for
imdb.com
doesn’t work #1729