Releases: AdguardTeam/AdguardForMac
2.16 beta
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.
There are two major changes in the new version: support for differential filter updates and userstyles.
Speed up filter updates
We continue to add differential filter updates to our apps: now AdGuard for Mac will also update filters more frequently, which means filtering rules will be the most up-to-date and ads will be better blocked.
Add colors to your browsing
Userstyles are like userscripts that allow you to change how web pages look in your browser without changing their content. Add new colors to your browser pages by uploading or writing your own userstyle directly in the app!
To add a userstyle, go to Settings → Extensions → Add → Import from file or URL. You can find ready userstyles online.
Now it's possible to add not only js scripts but also CSS files.
To create your own userstyle, click Add → Create userstyle.
As for constant changes, we updated DnsLibs, CoreLibs, Scriplets and fixed a few bugs. Overall, the application is more stable, updates filters faster, and can make your browser look nicer. But don't just take our word for it, try the new version for yourself!
Changelog
Improvements
Fixes
- Incorrect
Network Extension
permission path in macOS Sequoia #1434
DnsLibs (DNS filtering engine)
- DnsLibs updated to v2.5.46 #1480
- Block RFC9462 (_dns.resolver.arpa) queries #228
$dnsrewrite=IPv4
rule does not block IPv6 resolution #224- Use
pretty_str()
in errors reported inDnsRequestProcessedEvent
#223
CoreLibs (Filtering engine)
- CoreLibs updated to v1.16.45 #1487
Improvements
- Support redirection to destination, without tracking services as intermediary #1557
- Enabled Post-Quantum cryptography when it's used by the filtered app #1916
- GM_xmlhttpRequest supports the referer header #1899
Fixes
- Memory leak and CPU overkill #5173
- sony.de — login is broken in Firefox #1867
- AdGuard "content script" is blocked by CSP on uber.com #1903
- the "K" string is removed #1910
Scriptlets (JavaScript enhancement for filtering rules)
- Scriptlets updated to v1.11.27 1472
Improvements
set-local-storage-item
— addedallowed
anddenied
values #445abort-on-stack-trace
— support line number forinlineScript
andinjectedScrip
' #439set cookie
— addedchecked
andunchecked
values #444trusted-click-element
— addedreload
option #301
Fixes
log-on-stack-trace
— player is broken on deltabit.co #384
How to install AdGuard for MAC
2.15.2
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.
“Dear developers, can we get a bugfix pronto?” Of course you can! Right after the release, we serve you a hotfix with a resolved problem and fine-tuned operation.
How to install AdGuard for MAC
2.15
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.
Have you ever shared your settings? This feature comes in handy when you don't want to reconfigure everything on a new device, or when you want to report missed ads. In the new version, sharing settings has become even easier: to export settings, simply go to Settings → Advanced → Share settings…, and to import them, open the resulting link in your browser and click Import.
There have also been updates to the CoreLibs filtering engine, so there will be fewer crashes and more modifiers: $xmlprune
and $urltransform
. Now even more distracting page elements will be blocked.
Changelog
Improvements
- Implemented Configuration import via URL for macOS #1428
Fixes
- Open settings button text is missing for Safari Assistant on macOS Big Sur #1366
CoreLibs (filtering engine)
- CoreLibs updated to v1.15.64 #1456
Improvements
- Added
$urltransform
(trusted) modifier support #1364 - Added
$xmlprune
modifier support #473 - Added mobile browsers to the list of user agents that natively support ':has()'. #1870
- Allowed ECDSA ciphers on local side #360
- Set up
Sec-Fetch-Dest: fencedframe
#1853 - Added support for the uBO
/regex/
format (cosmetic rules) #1844
Fixes
- AdGuard filtering stops working after VPN is enabled #1189
- Adblock syntax rules with FQDN do not work #210
- AdGuard and FTP connection error #1864
- Userscript XHR errors #1876
$all
modifier does not work with non-domain URL part#1860- URL blocking rules do not work correctly with the
$generichide
modifier
#1857
UserscriptsWrapper
- UserscriptsWrapper updated to v1.2.24
Fixes
vk-metabot.user.js
does not work with AdGuard #1871
ContentScript
- ContentScript updated to v2.0.6
Fixes
- Element-hiding rules
##
and#$#
do not apply totv.rambler.ru
#1865
DnsLibs (DNS filtering engine)
- DnsLibs updated to v2.5.34 #1436
How to install AdGuard for MAC
2.15 beta
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.
Have you ever shared your settings? This feature comes in handy when you don't want to reconfigure everything on a new device, or when you want to report missed ads. In the new version, sharing settings has become even easier: to export settings, simply go to Settings → Advanced → Share settings…, and to import them, open the resulting link in your browser and click Import.
There have also been updates to the CoreLibs filtering engine, so there will be fewer crashes and more modifiers: $xmlprune and $urltransform. Now even more distracting page elements will be blocked.
Changelog
Improvements
- Implemented Configuration import via URL for macOS #1428
CoreLibs (filtering engine)
- CoreLibs updated to v1.15.57 #1449
Improvements
- Added $urltransform (trusted) modifier support #1364
- Added $xmlprune modifier support #473
- Added mobile browsers to the list of user agents that natively support ':has()'. #1870
- Allowed ECDSA ciphers on local side #360
- Set up
Sec-Fetch-Dest: fencedframe
#1853 - Added support for the uBO
/regex/
format (cosmetic rules) #1844 - URL blocking rules do not work correctly with the
$generichide
modifier
#1857
Fixes
- AdGuard filtering stops working after VPN is enabled #1189
- Adblock syntax rules with FQDN do not work #210
- AdGuard and FTP connection error #1864
- Userscript XHR errors #1876
$all
modifier does not work with non-domain URL part#1860
UserscriptsWrapper
- UserscriptsWrapper updated to v1.2.24
Fixes
vk-metabot.user.js
does not work with AdGuard #1871
ContentScript
- ContentScript updated to v2.0.6
Fixes
- Element hiding rules
##
and#$#
do not apply to the `tv.rambler.ru #1865
DnsLibs (DNS filtering engine)
- DnsLibs updated to v2.5.34 #1436
How to install AdGuard for MAC
2.14.2
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.
This is a technical update aimed to increase the app stability and fix minor bugs.
How to install AdGuard for MAC
2.14.1
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.
If you were one of the few users who experienced high CPU usage by AdGuard, we are happy to inform you that we have fixed it in this patch, as well as updated CoreLibs and DnsLibs.
Changelog
Fixes
- High CPU usage #1407
CoreLibs (Filtering engine)
- Updated CoreLibs to
v1.14.57 #1423
DnsLibs (DNS filtering engine)
- Updated DnsLibs to v2.5.25 #1421
How to install AdGuard for MAC
2.14.1 beta
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.
If you were one of the few users who experienced high CPU usage by AdGuard, we are happy to inform you that we have fixed it in this beta, as well as updated CoreLibs and DnsLibs.
Changelog
Fixes
- High CPU usage #1407
CoreLibs (Filtering engine)
- Updated CoreLibs to
v1.14.57 #1423
DnsLibs (DNS filtering engine)
- Updated DnsLibs to v2.5.25 #1421
How to install AdGuard for MAC
2.14
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.
The AdGuard v2.14 for Mac features the usual bug-fixes-for-better-performance changes, but not only that! This time, the star of the show is the CoreLibs update, which brings improvements to the app overall, with two notable features in particular.
First up, we’ve fine-tuned the Encrypted ClientHello support. Yes, it’s still in the experimental phase, but our team has identified several issues that were holding back the seamless activation of ECH by default. With this release, we’ve addressed them and paved the way for enhanced performance.
Additionally, the updated CoreLibs now provide the ability to filter DNS-over-HTTPS requests on the fly. This means that AdGuard by default won’t redirect DoH queries to another DNS server, and instead queries will still be sent to the server chosen in the browser. The old behavior may be restored by turning off network.dns.filter.secure.request.transparently.enabled
in the advanced settings.
This update also includes other minor changes. If you’d like to, feel free to dig into each one of them by reading our extensive changelog below.
Changelog
Fixes
- Buttons do not respond on the Proxy Configuration screen in some cases #1327
CoreLibs (Filtering engine) updated to v1.14.51
Improvements
- Indicate that outbound proxy is used in the request processed event #1385
- Support for passing host to outbound proxy #1386
- User rules editor improved #1402
Fixes
- Apply
$permissions
only todocument
#1856 - Cannot parse QUIC ClientHello split into two packets #1861
- Cookie rules with
[
and]
in the name considered as invalid #1843 - Cosmetic rules are not applied in some cases when AdGuard works alongside AdGuard VPN browser extension #1791
- VOT (Voice over translation) script does not work in Google chrome #1665
$all
modifier does not work correctly #1842mall.sk
content script is not injected #1834
Other
- Added Firefox 121.0+ to the list of user agents, which support
:has()
natively #1840 - Added an option to use
|
as a separator in$permissions
#1850 - Blocking regex rule that has escaped slash in a character class does not work #1831
- Content script is not injected if there is a tag (with embed attribute) before doctype declaration #1825
- Get ECH parameters from intercepted DNS HTTPS queries #1794
- Improved HTML filtering performance #1855
- On-the-fly filtering of DoH connections #198
- Support anti-DPI feature for Korea Telecom #1789
$path
modifier does not work with query params #1817$removeparam
on url with port redirects to url without port #1818- AdGuard breaks the
android-hilfe.de
website #1800 - Cannot connect to wiki.cemu.info securely #1821
DnsLibs (DNS filtering engine) updated to v2.5.18
Improvements
- Allow specifying tcp-only and udp-only DNS upstreams #208
- Support passing hostname to outbound proxy instead of bootstrapping #197
Other
UserscriptsWrapper updated to v1.2.23
- Added
GM.xmlhttpRequest
as alias ofGM_xmlhttpRequest
#1785
Scriptlets (JavaScript enhancement for filtering rules) updated to v1.10.25
Improvements
- Added compatibility with uBO’s set-cookie scriptlet #332
- Added new scriptlet —
call-nothrow.js
#333 - Added new scriptlet —
spoof-css
#317 - Added new scriptlet —
trusted-create-element
#278 set-cookie
— added more supported values #379google-analytics
— addedga.q
property #355google-ima3
— addedOmidVerificationVendor
property #353- Added new scriptlet —
href-sanitizer
#327 - Added new scriptlet —
json-prune-fetch-response
#361 - Added new scriptlet —
json-prune-xhr-response
#360 - Added new scriptlet —
trusted-suppress-native-method
#383 set-cookie
— increase a possible numeric value #388trusted-click-element
— add support for finding selectors in shadowRoot #323- Use some redirects resources as scriptlets as well #300
- New scriptlet —
trusted-set-attr
#281 - New scriptlet —
no-protected-audience
#395 - Added possibility to allowlist scriptlets #377
- Improved
prevent-fetch
— addcors
responseType #394 - Improved
set-cookie
— add 'domain' parameter #389
Fixes
set-constant
— setProxyTrap() #403set-cookie
— do not encode a cookie name #408set-local-storage-item
conversion — '$remove$' param #404
How to install AdGuard for MAC
2.14 beta 1
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.
The AdGuard v2.14 for Mac beta 1 features the usual bug-fixes-for-better-performance changes, but not only that! This time, the star of the show is the CoreLibs update, which brings improvements to the app overall, with two notable features in particular.
First up, we've fine-tuned the Encrypted Client Hello support. Yes, it’s still in the experimental phase, but our team has identified several issues that were holding back the seamless activation of ECH by default. With this beta, we've addressed them and paved the way for enhanced performance.
Additionally, the updated CoreLibs now provide the ability to filter DNS-over-HTTPS requests on the fly. This means that AdGuard by default won't redirect DoH queries to another DNS server, and instead queries will still be sent to the server chosen in the browser. The old behavior may be restored by turning off network.dns.filter.secure.request.transparently.enabled
in the advanced settings.
This update also includes other minor changes. If you'd like to, feel free to dig into each one of them by reading our extensive changelog below.
Changelog
Fixes
- Buttons do not respond on the Proxy Configuration screen in some cases #1327
CoreLibs (Filtering engine) updated to v1.14.51
Improvements
- CoreLibs updated to 1.14.51 #1404
- Indicate that outbound proxy is used in the request processed event #1385
- Support for passing host to outbound proxy #1386
- User rules editor #1402
Fixes
- Apply
$permissions
only todocument
#1856 - Cannot parse QUIC ClientHello split into two packets #1861
- Cookie rules with
[
and]
in the name considered as invalid #1843 - Cosmetic rules are not applied in some cases when AdGuard works alongside AdGuard VPN browser extension #1791
- VOT "Voice over translation" script does not work in Google chrome #1665
$all
modifier does not work correctly #1842- mall.sk - content script is not injected #1834
Other
- Added Firefox 121.0+ to the list of user agents, which support
:has()
natively #1840 - Added GM.xmlhttpRequest as alias of GM_xmlhttpRequest #1785
- Added an option to use
|
as a separator in$permissions
#1850 - Blocking regex rule that has escaped slash in a character class does not work #1831
- Content script is not injected if there is a tag (with embed attribute) before doctype declaration #1825
- Get ECH parameters from intercepted DNS HTTPS queries #1794
- Improved HTML filtering performance #1855
- On-the-fly filtering of DoH connections #198
- Support anti-DPI feature for Korea Telecom #1789
$path
modifier does not work with query params #1817$removeparam
on url with port redirects to url without port #1818- android-hilfe.de - broken website #1800
- Cannot connect to wiki.cemu.info securely #1821
DnsLibs (DNS filtering engine) updated to v2.5.8
Improvements
- DnsLibs updated to 2.5.8 #1388
- Allow specifying tcp-only and udp-only DNS upstreams #208
- Support passing hostname to outbound proxy instead of bootstrapping #197
Fixes
- Cannot use DoH DNS server that use HTTP/1.1 since updating to version 4.3 #216
Other
UserscriptsWrapper updated to v1.2.23
Fixes
- VOT "Voice over translation" script does not work in Google chrome #1665
Other
- Added GM.xmlhttpRequest as alias of GM_xmlhttpRequest #1785
Scriptlets (JavaScript enhancement for filtering rules) updated to v1.10.25
Improvements
- Added compatibility with uBO's set-cookie scriptlet #332
- Added new scriptlet —
call-nothrow.js
#333 - Added new scriptlet —
spoof-css
#317 - Added new scriptlet —
trusted-create-element
#278 - Set-cookie — added more supported values #379
- Google-analytics — added
ga.q
property #355 - Google-ima3 — added
OmidVerificationVendor
property #353 - Added new scriptlet —
href-sanitizer
#327 - Added new scriptlet —
json-prune-fetch-response
#361 - Added new scriptlet —
json-prune-xhr-response
#360 - Added new scriptlet —
trusted-suppress-native-method
#383 set-cookie
— increase a possible numeric value #388trusted-click-element
— add support for finding selectors in shadowRoot #323- Use some redirects resources as scriptlets as well #300
Fixes
set-constant
— setProxyTrap() #403set-cookie
— do not encode a cookie name #408set-local-storage-item
conversion —$remove$
param #404
Other
- New scriptlet —
trusted-set-attr
#281 - New scriptlet —
no-protected-audience
#395 - Added possibility to allowlist scriptlets #377
- Improved
prevent-fetch
— addcors
responseType #394 - Improved
set-cookie
— adddomain
parameter #389
How to install AdGuard for MAC
2.13
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 excited to announce AdGuard v2.13 for Mac. This version contains several under-the-hood improvements and bug fixes to enhance your browsing experience. But more importantly, we have implemented a useful ad blocking tool. Let’s take a closer look at the main improvements.
More transparency to HTTPS filtering
To enhance the transparency of HTTPS filtering, AdGuard now offers the option to inspect the original certificate via Filtering Log. There you can view details of any web request, examine the encryption used by AdGuard, and inspect the original certificate.
This feature stems from a major concern with HTTPS filtering. AdGuard validates the certificate (and does it well!), but there may be situations where you’d like to inspect the original certificate yourself. You can read more about this issue in our Knowledge base.
Support for selectors in HTML filtering rules
The big change in this version is the improved HTML filtering. We’ve added support for selectors in HTML filtering rules, which helps block ads more effectively.
New DnsLibs and Basic HTTP authentication
With this DnsLibs update, AdGuard for Mac users gain access to a new feature: Basic HTTP authentication. What does it mean?
Imagine you have a custom DNS server and want to restrict access to it. You could restrict access by IP address (for example, only allow your home IP to connect to the DNS server), but what if you have a mobile device that frequently changes networks?
Luckily, DNS-over-HTTPS protocol allows us to benefit from features of HTTP protocol, and one of them is the authentication option. When adding a custom DNS server that supports HTTP authentication in AdGuard for Mac, you can now include authentication information that will be used to connect to that server.
Soon Basic HTTP authentication will be available in AdGuard Home and AdGuard DNS, you will be the first to know!
We have also fixed some minor issues as well as improved AdGuard’s performance and stability. We hope you’ll enjoy the new version of AdGuard v2.13 for Mac.
Changelog
Improvements
- Add Vivaldi support for AdGuard Assistant #998
- Indicate the HTTPS filtering state and the original certificate in the Filtering log #1284
Fixes
- Failed to stop/start the DNS service #1311
- WARP gets the "Unable to connect" error if AdGuard is running #1234
- Wi-Fi authorization popup doesn't show up while AdGuard is on #892
- DNS filtering breaks Tunnelblick VPN #1310
CoreLibs (Filtering engine)
- Updated CoreLibs to v1.13.115
- Removed an option to move a certificate #277
- Added support anti-DPI feature for Korea Telecom #1789
Improvements
- Added
!#else
preprocessor directive support #1806 - Adopted new rule priority scheme #1768
- Changed sec-ch-ua headers to match User-Agent when Stealth Mode is active #1764
- Improved HTML filtering performance #1772
- Improved usage of ECH retry_configs #1793
Fixes
- Images are not displayed in Edge Bing Chat #1744
- Websites using SXG have no cosmetic filtering when opened from Google search #1812
- The filtering on the
macperformanceguide.com
website doesn’t work #1810 - UDP timeout is too small in TCP/IP stack #1796
- One of the subdomains is not filtered due to different site certificates #1839
DnsLibs (DNS filtering engine)
* Updated DnsLibs to v2.4.36
#### Improvements
Fixes
- Possible DoS attack against the local DNS proxy when it's using a plain DNS upstream #202
- DoH is trying to use stale connection for too long #200
- Made so that type=HTTPS requests are now filtered properly #199
Important for filter maintainers
- Added
$extension
modifier disabling specific userscript #1706 - Improved HTML filtering rules
$$
and allowed CSS-like selectors #94 - Added support for cap_html_filtering condition #1758
$denyallow
does not allow blocking documents #1809$stealth
exceptions do not work on the TCP stack level where we block STUN/TURN #1737- Content script is not injected into elements loaded in
object
tag #1769 - Detect website locale based on HTML "lang" attribute and language request HTTP headers, automatically activates the language-specific filters #1736
- Increased response size limit to 10 MB for
$replace
,$hls
and$jsonprune
#326
Scriptlets (JavaScript enhancement for filtering rules)
- Updated Scriptlets to v1.9.101
Improvements
- Improved
prevent-fetch
#364 - Improved storage item scriptlets — add regexp support for items removing #256
- Added new trusted scriptlet
trusted-prune-inbound-object
#372 - Added more supported values for
set-cookie
#375 - Improved
set-local-storage-item
,set-session-storage-item
— added support “on” and “off” #366 - Handle uBO’s syntax
$redirect
priorities #59 - Improved
xml-prune
— support xpath for text content matching #325 - Added API method to convert redirects based on their name #346
- Improved
json-prune
— stack #348 - Improved
prevent-xhr
— multiple requests #347
Fixes
googletagservices-gpt
lacks thesetPrivacySettings
method #344set-constant
scriptlet breaks vimeo.com #380- Fixed
set-constant
scriptlet when maximum call stack size is exceeded #373 - Fixed
set-constant
— no value override #330 - Fixed
trusted-replace-xhr-response
— breakage on music.youtube.com #359 - Improved
m3u-prune
— content is not pruned if contains carriage return #354 - Improved
trusted-replace-fetch-response
— do not replace content if URL is set by Object.defineProperty #367 - Escaped commas in the params during conversion to uBO rules #343
UserscriptsWrapper
- Updated UserscriptsWrapper to v1.2.21
- The
网盘直链下载助手
userscript is not working with AdGuard #1780
How to install AdGuard for MAC
- Standalone build, release channel
- [Standalone build, beta channel](https:/...