Skip to content

Releases: AdguardTeam/AdGuardHome

AdGuard Home v0.104.1

11 Nov 13:53
Compare
Choose a tag to compare

Those who pay close attention to AdGuard Home releases know that we keep hotfixes close to our hearts 🔥♥️ This time we held for as long as we could, but ultimately gave in to the urge 😔

Here's a patch to v0.104 with some fixes and minor improvements.

Fixed

  • Solve the permission denied error when launching a DHCP server on Linux using Snap (#2228). Users experiencing this issue should refresh their snap and call:
    snap connect adguard-home:network-control
    This won't be required in the future versions.
  • Use matching fonts in the Custom Filters textarea (#2254).
  • Show the correct query type for DNS-over-QUIC queries in query log (#2241).
  • Increase the default number of simultaneous requests to improve performance (#2257).
  • Always set a secondary DNS in DHCP (#1708).
  • Improve stability on DNS proxy restart (#2242).
  • Improve logging on DNS proxy restart (#2252).
  • Don't show a “Loading” message and don't rerequest logs once we've reached the end of logs on the query log page (#2229).
  • Various internal improvements.

AdGuard Home v0.104.0

28 Oct 16:13
Compare
Choose a tag to compare

We have something special for y'all today. Not just an implementation of a new feature but the first ever implementation of a new feature! 😮 This is about DNS-over-QUIC, a new DNS encryption protocol — read on to learn more.

Ah, yes, there's also a bunch of other good stuff, too: DHCP-related changes, a .mobileconfig generator for iOS and macOS, and a handful of other enhancements and bugfixes.

DNS-over-QUIC support #2049

AdGuard Home now natively supports a new DNS encryption protocol called DNS-over-QUIC. DoQ standard is currently in the draft state, and AdGuard Home (and dnsproxy) is it's first open-source implementation.🥇

DNS-over-QUIC upstream server

So what's good about it? 🤔 Unlike DoH and DoT, it uses QUIC as a transport protocol and finally brings DNS back to its roots — working over UDP. It brings all the good things that QUIC has to offer — out-of-the-box encryption, reduced connection times, better performance when data packets are lost. Also, QUIC is supposed to be a transport-level protocol and there are no risks of metadata leaks that could happen with DoH. 🔒

At this moment, the only major public DNS resolver that provides DNS-over-QUIC is AdGuard DNS. 😎 Use quic://dns-unfiltered.adguard.com in the upstreams settings to start using AdGuard DNS "Non-Filtering".

DHCP rework: DHCP6 support, custom DHCP options

We did a huge rework of our DHCP server implementation. Thanks to it, AdGuard Home now supports DHCP6 and allows setting custom DHCP options.

Please note that in order to set DHCP options, you'll need to edit the configuration file.

  • Add support for DHCPv6: #779
  • DHCPv6 RA+SLAAC: #2076
  • DHCP: automatic hostnames: #1956
  • Add DHCP Options: #1585

iOS and MacOS .mobileconfig generator: #2110

iOS 14 and macOS Big Sur natively support DNS-over-HTTPS and DNS-over-TLS. However, it's not that simple to configure them — you need to install a special "configuration profile" for that. 🤯 In order to make things easier, AdGuard Home can generate these configuration profiles for you. Just head to "Setup Guide" -> "DNS Privacy" and scroll to iOS.

Binary transparency

AdGuard Home binaries are now signed with our GPG key and you can now easily verify that they really come from us: https://github.com/AdguardTeam/AdGuardHome/wiki/Verify-Releases

Other improvements

  • Allow entering comments to the Upstreams box: #2083
  • Load upstreams list from a file: #1680
  • Add ARMv8 to future releases, potentially append a v8 binary to the most recent non-beta release: #2125
  • Redesign query logs block/unblock buttons: #2050
  • Treat entries starting with "/" as "://" under specific circumstances: #1950
  • Use "Null IP" instead of NXDOMAIN by default: #1914
  • Bootstrap with TCP upstreams: #1843
  • Add block and unblock buttons to 'check the filtering' result: #1734
  • ipset feature support: #1191
  • Add Belarusian and Chinese Traditional HK languages: #2106
  • Add new language: en-silk: #1796
  • Use DOH or DOT as bootstrap: #960

Fixed

  • Reverse lookups return empty answers for hosts from /etc/hosts: #2085
  • Static lease hostnames are overridden by client-identifier: #2040
  • Query log doesn't display name for blocked services: #2038
  • Custom filter editor works with delay: #1657
  • Incorrect link address: #2209
  • Smartphone compatible design for user interface: #2152
  • Misleading information during service installation: #2128
  • Remove the limit on cache-min-ttl, 3600: #2094
  • Cannot change minimum TTL override in UI: #2091
  • Optical Issue on mobile phone: #2090
  • Setting a large DNS Cache Size in the Web GUI will exceed the unit32 range.: #2056
  • Clients requests aren't counted properly: #2037
  • Publish privacy policy on front page (README.md): #1960
  • Sorting various IP Address Columns in the UI (eg in dhcp static leases) does not sort correctly. They are treated as strings instead of numeric.: #1877
  • Requests count for clients with CIDR IP addresses: #1824

AdGuard Home v0.104.0-beta3

22 Oct 21:39
Compare
Choose a tag to compare
Pre-release

6b64bfa (HEAD -> master, tag: v0.104.0-beta3, origin/master, origin/HEAD) * (ui): update translations
e37ccdb - (dnsforward): fix ipset race
0b43bf4 * (dnsfilter): urlfilter v0.12.3 - $client modifier and CIDR
fe87bdc * (documentation): added privacy to readme
f75a0f8 - (ui): wrong link
2ba85ba - (ui): API requests don't work when reverse proxy is in use
052a9ae - (home): test upstream shouldn't fail with upstreams file
32b24ce + dnsfilter, client: Add qq to blocked services
3acfaa1 Pull reques: dnsfilter/blocked_services: update netflix with nflxso.net SLD
345a97c Pull request: + client: Update dns examples
a7cf717 Update DNS
8315b46 Update DNS examples
e0ddb1c dnsfilter/blocked_services: update netflix with nflxso.net SLD

AdGuard Home v0.104.0-beta2

12 Oct 18:12
Compare
Choose a tag to compare
Pre-release

56e7b2f - client: 2159 Fix general settings link to filters
20226ed - client: 2152 Do not show dashboard buttons on mobile screen, fix buttons on DNS block/allow lists pages
1a3d98d Pull request: + client: 2152 Smartphone compatible design for user interface
398da7e + client, home: 2110 Generate .mobileconfig
65acfb7 Merge: + install.sh
eb91c6c Fix margins
8fc1862 Fix markup
fc4a557 Fix dhcp interfaces markup
fb7ca94 - client: 1750 Display 0% at the bottom in the statistical chart
7881406 + client: 2154 Make renderCheckboxField a controlled input
c98f187 + client: 2152 Smartphone compatible design for user interface
0ae0093 + client: 2154 Make renderCheckboxField a controlled input
8856dd6 * (ui): fix date format
a7d2dd7 - client: 2144 Fix DNS allowlists tab crash after opening "Choose blocklists" modal
69a7407 * DNS: set default blocking mode to Null IP for A/AAAA, empty response for others
128229a + client: Add block and unblock buttons to 'check the filtering' result
8c411c4 2128 + service: Detect config file on service run correctly
990f531 + DHCP: add ra_slaac_only, ra_allow_slaac config settings
6222d17 + clients: improve logic when processing "disallowed IP" property for a client
c72cd58 + client: Move the client access check to the server-side
10f67bd + client, querylog: Add blocked service filter support
805bd41 * doc: "" was treated as "" in a processed .md document
1d36abd - querylogs: GET /control/querylog: "service_name" field wasn't set
756f97e + upstream: Allow entering comments to the Upstreams box
bf23aa4 + client: Replace TTL override zeroes with empty strings, update dnsproxy
3a71374 - client: Return red background of Disallowed clients on the Dashboard
9fd7474 (origin/fix/2108) - client: Return red background of Disallowed clients on the Dashboard
f694a40 (origin/feature/translations_update, feature/translations_update) * : query log anonymization tool
3806615 * (ui): translations update
deeaca5 fix typo

AdGuard Home v0.104.0-beta1

16 Sep 16:18
Compare
Choose a tag to compare
Pre-release

835f3b9 (origin/feature/update_locales, feature/update_locales) Added unused translations counter
380ce34 Update locales
2a5b0b8 - client: Allow change minimum TTL override in UI
625f1df * (dnsfilter): minor refactoring, comments
b3a68bb * (global): added --no-mem-optimization flag
cb8afde * (dnsforward): fix reverse lookups from /etc/hosts
caee4b8 * (dnsforward): upgrade dnsproxy to v0.32.5
75d680f * (dnsforward): added some hosts to disallowed by default
88c6776 (origin/1680-upstreams-file, 1680-upstreams-file) * (dnsforward): don't fail when default upstream is not set
0818d51 Merge: - client: Fix delay of custom filter editor
9a49161 Merge: * DNS: use REFUSED DNS error code as the default blocking method
ccb903c Merge: + DoQ client/server
abc08b7 Merge: + client: Add experimental DNS-over-QUIC support
3c85b99 Merge: Dsheets service options
7be0cc7 (origin/dsheets-service-options, dsheets-service-options) Don't run home_test with race detection
b04e12e + client: Display upstreams list loaded from a file
c5ca2e6 - client: Count client requests correctly
366fdab + client: Add REFUSED DNS error code as the default blocking method
06594bd - client: Add link to 'update_failed' error toast
84938c5 - client: Fix whois cell styles
14bc529 + client: Add experimental DNS-over-QUIC support
12ed67a (origin/feature/1914) + client: Add REFUSED DNS error code as the default blocking method
90ef204 service: installation and running of AGH as a service with CLI args
9e87f0a home/auth: disable non-crypto RNG gosec lint check for session salt
d3428ca home/options: add options -> args serialization
03506df cli: factor options struct and parsing into home/options.go
15a8223 - client: Fix whois cell styles
8dc0108 + client: Redesign query logs block/unblock buttons
fc43e2a Merge: - client: Fix superfluous character in de locale
1a6bd29 Merge: - client: Fix top clients alignment
3400520 Merge: - client: Display service name for blocked services
d53e322 + DNS: "port_dns_over_quic" setting
07b6cc2 * dnsproxy v0.32.0
dfab659 + DNS: "dns.upstream_dns_file" setting
b6193c3 + DNS: new blocking mode: "refused"
f0ebec5 * locales: blocking_mode_default: NXDOMAIN -> REFUSED
8f017d2 * DNS: use REFUSED DNS error code as the default blocking method
474306d (origin/fix/1657) - client: Fix delay of custom filter editor
b54ce85 - client: Fix top clients alignment
9e33bd5 - client: Display service name for blocked services
4efc464 - querylog: file rotation didn't work properly; fix entry searching algorithm
e56c746 - client: Do not redirect to login page from install and login pages
729f4b1 Merge: * install: don't show an error about static IP if an interface is not selected
67bf027 * install: don't show an error about static IP if an interface is not selected
7931e50 + DNS: add "ipset" configuration setting
6b61429 + client: Query Logs Infinite Scroll
0a4781b * urlfilter v0.12.2
7d3a72e Fix NoCoin list source
c822297 Merge: * Update URLs for default filters
98b6eb3 - DNS: didn't process requests while updating filters
9c999f9 + dhcp custom options
06af130 - DHCP: fix crash after adding static lease which replaces the dynamic one
719ef16 * DHCP: don't replace the host name from static lease
cb6ca3b - windows: install: fix crash due to empty DHCP server pointer
eb3999a * /control/dns_config: allow all valid bootstrap server notations
f8924f0 Merge: + dhcpv6 server; rewrite dhcpv4 server; changed API
888c9d5 Get rid of extra toast when static IP is not set
1806816 Fix DHCP check when there is no V6 interface
fcc34ca Check interface before showing alert
1d35d73 + client: Refactor DHCP settings
c9f58ce * upgrade yaml schema 6->7: DHCP settings
dd46cd5 * copy dhcpv4/nclient4 package with minor enhancement
e7bef3a * POST /control/dhcp/find_active_dhcp: add dhcpv6 server info
2375237 - dhcp: CheckIfOtherDHCPServersPresent: fix
6090400 * GET /control/dhcp/interfaces: remove 'mtu'; add 'gateway_ip'
ec24d18 * GET /control/dhcp/interfaces: split IPv4 and IPv6 addresses
a3317c0 + dhcpv6 server; rewrite dhcpv4 server; changed API
c312347 * DNS: resolve host names from DHCP: improve
8d0c8ad + DNS: resolve host names to IP addresses leased by AGH DHCP server
0b539ce * : different version url for edge builds
9e09dff - dns: limit the number of active goroutines for incoming requests processing
473d881 Merge: - client: Fix DNS settings
2f8e34e Pull request 734: + client: 1778 Add ip sort function, write unit tests
705a9d9 * SB/PC: use 4-character hash in request
d3f5b40 Merge: + Makefile: sign release binaries with gpg
57e43a6 Merge: - client: fix log filters and guide tab styles
4f3d503 Merge: - client: fix query log on edge legacy
6bb6c70 Merge: - client: fix empty log error
ed76a3c Merge: - client: check touch events for tooltips
335d62b - "set_url": couldn't set a new path for filter local file
99625da - "set_url": couldn't set a new path for filter local file
9fecab8 - client: fix log filters styles
b9aa969 - client: fix guide tab styles
ce21514 - client: check touch events for tooltips
3ff0c96 - client: fix empty log error
552280e - client: fix query log not load on edge legacy
d154456 - client: tooltip show delay
a033b68 * Update blocked_services.go
cecf848 * client: Corrects the provided homepage for "The Big List of Hacked Malware Web Sites"

AdGuard Home v0.103.3

24 Jul 17:41
Compare
Choose a tag to compare

Hotfixes are so much cooler than regular fixes:

  • Regular fixes are slow, hotfixes are quick to come
  • Fixing something is admitting your mistakes, hotfixing is proving you care
  • Fixes bore you with long changelogs, hotfixes get straight to the point
  • You can't say 'hotfix' without 'hot', and hot is cool 😎

At AdGuard, we respect coolness, that's why we only hotfix. In this one, we address a couple of bugs from v0.103.

  • Several UI issues: #1926 #1934 #1927 #1922 #1916 #1921
  • Dashboard is loading very slowly when there are many IP/CIDR in the "Disallowed clients" list #1920
  • Fix DNS rewrites behavior for AAAA rewrites: #1918

Have a good weekend everyone!

AdGuard Home v0.103.2

23 Jul 18:29
Compare
Choose a tag to compare

I really hope we will be able to repeat the tremendous success of the previous stable release, and we won't need to need to push any urgent hotfixes.

Remember people, jinxing is real 😭

Here comes the urgent hotfix for a really nasty bug with rules matching.

Read v0.103.1 release notes to learn about other changes in this release.

AdGuard Home v0.103.1

23 Jul 17:17
Compare
Choose a tag to compare

Unless you've been following our beta releases (and you should, it's really fun 😬), we surely made you wait this time. I really hope we will be able to repeat the tremendous success of the previous stable release, and we won't need to need to push any urgent hotfixes.

Hope you'll find the new version worth the wait, as we have prepared some yummy🍩 new features.

Completely redesigned query log: #1421

Bet you spend a lot of time here. You just can't resist, can you? 😉 I surely can't. The more important it's for the query log to look slick, and even more important to be super informative. Luckily, the updated query log ticks all the boxes ✅

up04_AdGuard_Home_rveyy

$client modifier support: #1761

One of the advantages of adblock-style syntax (and the reason we prefer it to 'hosts' files) is extensibility. Let us demonstrate👩‍🏫 it once again by extending the syntax with a new modifier. Now you can narrow rules scope to a specific client(s).

A couple of examples:

  • @@||*^$client=127.0.0.1 — unblock everything for localhost;
  • ||example.org^$client='Frank\'s laptop' — block example.org for the client named Frank's laptop only. Sorry Frank, no example.org for you today🤷‍♂️ Note that the name must be enclosed in quotes and the quote character must be escaped.

Here you can find more examples.

'Edge' update channel

This new update channel is for you if you really like living on the edge want to use the LATEST version of AdGuard. It is updated daily and this is the closest thing to the master branch you can get. And if even that's not enough for you... check out our job listings, I guess👷‍♀️

Here you can learn how to install it.

Multi-arch Docker images

Instead of a multitude of arch-specific tags, we now publish multi-arch images to Docker Hub. So if you were using some arm64-latest tag, don't do that anymore and simply switch to latest.

Other changes

Added or improved

  • Move "Blocked services" to a separate page under "Filters" menu: #1744
  • Do not require root for the first startup: #1699
  • Add support for PTR/rDNS for DHCP hostnames: #1682
  • "Drill down" to activity reports: #1625
  • Expose cache size and TTL settings: #1587
  • Rolling log files: #1573
  • Reduce the ARP scanning period: #1398
  • Choosing filter lists for AdGuard Home: #1325
  • Add an option to disable writing query log to file: #876
  • GL-Inet integration: #1853

Fixed

  • Autohosts module crash: #1814
  • Hosts file parsed improperly: #1807
  • Unable to add local lists: #1792
  • Adding two DNS rewrites for a domain, null IP for AAAA and CNAME causes Adguard to use CNAME for both A & AAAA records: #1764
  • "DNS rewrites" - An error is prompted when adding a new rewrite rule, but the actual addition is successful.: #1754
  • In "Setup guide - Router - 4th line", the hyperlink "DHCP server" is not available.: #1740
  • Rules Special characters "^" not working as expected: #1732
  • DNS rewrites cause panic logging stats: #1724
  • panic in dnsforward.(*Server).updateStats: #1712
  • Do not reply to DNS responses: #1710
  • Block for tag not work in website: #1707
  • Trailing 0 in last IP octet is ignored when specifying disallowed client: #1687
  • AdGuard Home expects valid TLS config even when allow_unencrypted_doh is configured: #1677

Other

  • Show a link to the FAQ article about Ubuntu when port 53 is in use: #1889
  • Fixing FreeBSD install: #1871
  • Use the same tooltip style everywhere: #1866
  • Only loopback interface during first installation: #1856
  • Make language tag in HTML same as setting language in AdGuard Home: #1797
  • Statistics reset after reboot: #1785
  • Skype file transfer issue: #1782
  • error handling UDP packet: dns: buffer size too small: #1777
  • Wrong 24 hour time format DNS blocklists page: #1766
  • mDNS/Bonjour requests may be spamming the logfile: #1742
  • When anonymize IPs is enabled, trim IPs to /16: #1741
  • Log spam after upgrade to v0.102.0: #1735
  • Don't hide version string when built-in auto-update is disabled: #1726
  • v0.102.0 crashes when rewriting any internal CNAME: #1704
  • syslog error message - unexpected HTTP status code 400 from 'https://dns-family.adguard.com:443/dns-query: #1697
  • Incorrect rules count: #1694
  • Add more info about DNS names from etc/hosts to "Clients (runtime)": #1686
  • Allow Fastest IP address and Parallel requests to toggle each other on and off: #1678
  • Use of monospace font in selected textareas of the web UI: #1650
  • Make reloading log list work better: #1642
  • Support for disabling DNS caching: #1591
  • Add another /querylog API call with offset/limit params: #1559
  • DNS Rewrites: support wildcard domain name exceptions: #1547
  • Internal DNS queries for whois.* domains bypass AGH: #1535
  • Improve logs page - clear input field when switching from/to logs page: #1523
  • Document the DNS blocking limitations and issues: #1433
  • http: TLS handshake error: #1167

API changes

Please read the changelog to learn about API changes:
https://github.com/AdguardTeam/AdGuardHome/blob/master/openapi/CHANGELOG.md

Please note, that starting with this version we now strip "v" prefix from the version name in beta and release builds, but it is still there in "edge" builds.

Big thanks to all the contributors! 🙏

  • Thanks to everyone who helps to translate AdGuard Home!
  • We'd like to thank those who contributed to AdGuard Home codebase:
    • @DannyHinshaw for adding rolling log files support.
    • @crazy-max for contributing a lot of time and work and reworking AdGuard Home CI.
    • @tejaskokje for fixing AdGuard Home service installation on FreeBSD.
  • Huge thanks to @mhatsune for keeping this repo clean and tidy.
  • Also, thanks to all the wonderful people who contribute with making small improvements to the code or blocklists, or simply testing AdGuard Home.

If anyone wants to help us with AdGuard Home development, please read here.

How to install AdGuard Home

AdGuard Home v0.103.0-beta3

22 Jul 18:39
Compare
Choose a tag to compare
Pre-release

How to install AdGuard Home

Changelog

f2edcca *(global): update anti-ad filter URL
b4aa791 Merge: Refactor auto-update
e3ea252 * use 'update' package
c131ac4 Merge: - client: fix names of clients in the top clients list

AdGuard Home v0.103.0-beta2

17 Jul 17:59
Compare
Choose a tag to compare
Pre-release

How to install AdGuard Home

Changelog

4175d82 (HEAD -> master, tag: v0.103.0-beta2, origin/master, origin/HEAD) + client: 1889 Show a link to the FAQ article about Ubuntu when port 53 is in use Close #1889
c1e56c8 + client: Update locales
7d2c7a6 - client: Use the same tooltip style everywhere Close #1866
8285847 (origin/feature-snap-desktop-icon, feature-snap-desktop-icon) Added desktop icon for a snap
2d7be0a Merge: - auth: fix logic with --glinet argument
e46db98 - client: Fix query logs UI issues Close #1828
a32c1f2 - client: Fix client Access settings normalization Close #1820
95f4128 Merge: - fix 'Check for Updates' button visibility Close #1878
da4a1ec +client: "Drill down" to activity reports Close #1625
8a41760 - client: Fix query logs UI issues Close #1828
2759d81 Merge: + service: Adding freebsd arm support Close #1871
44aad15 (origin/1871) + service: Adding freebsd arm support
af5cb5a Merge pull request #691 in DNS/adguard-home from agneevX-patch-1 to master