Skip to content

Commit 42a2653

Browse files
committed
all: sync with master
1 parent 5c5f935 commit 42a2653

File tree

27 files changed

+932
-355
lines changed

27 files changed

+932
-355
lines changed

CHANGELOG.md

Lines changed: 58 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,60 @@ The format is based on [*Keep a Changelog*](https://keepachangelog.com/en/1.0.0/
99
<!--
1010
## [v0.108.0] – TBA
1111
12-
## [v0.107.71] - 2025-12-17 (APPROX.)
12+
## [v0.107.72] - 2025-12-22 (APPROX.)
1313
14-
See also the [v0.107.71 GitHub milestone][ms-v0.107.71].
14+
See also the [v0.107.72 GitHub milestone][ms-v0.107.72].
1515
16-
[ms-v0.107.71]: https://github.com/AdguardTeam/AdGuardHome/milestone/106?closed=1
16+
[ms-v0.107.72]: https://github.com/AdguardTeam/AdGuardHome/milestone/107?closed=1
1717
1818
NOTE: Add new changes BELOW THIS COMMENT.
1919
-->
2020
<!--
2121
NOTE: Add new changes ABOVE THIS COMMENT.
2222
-->
2323

24+
## [v0.107.71] - 2025-12-08
25+
26+
See also the [v0.107.71 GitHub milestone][ms-v0.107.71].
27+
28+
### Changed
29+
30+
- Stale records in optimistic DNS cache now have an upper age limit controlled by `dns.cache_optimistic_max_age`. The default value is 12 hours.
31+
32+
- TTL for stale answers from optimistic DNS cache is now controlled by `dns.cache_optimistic_answer_ttl`. The default value is 30 seconds.
33+
34+
#### Configuration changes
35+
36+
In this release, the schema version has changed from 31 to 32.
37+
38+
- Added a new string fields `dns.cache_optimistic_answer_ttl` and `dns.cache_optimistic_max_age`.
39+
40+
```yaml
41+
# BEFORE:
42+
'dns':
43+
'cache_enabled': true
44+
'cache_optimistic': true
45+
#
46+
47+
# AFTER:
48+
'dns':
49+
'cache_enabled': true
50+
'cache_optimistic': true
51+
'cache_optimistic_answer_ttl': '30s'
52+
'cache_optimistic_max_age': '12h'
53+
#
54+
```
55+
56+
To roll back this change, set the `schema_version` back to `31`.
57+
58+
## Fixed
59+
60+
- Optimistic DNS cache not working ([#8148]).
61+
62+
[#8148]: https://github.com/AdguardTeam/AdGuardHome/issues/8148
63+
64+
[ms-v0.107.71]: https://github.com/AdguardTeam/AdGuardHome/milestone/106?closed=1
65+
2466
## [v0.107.70] - 2025-12-03
2567

2668
See also the [v0.107.70 GitHub milestone][ms-v0.107.70].
@@ -36,6 +78,7 @@ See also the [v0.107.70 GitHub milestone][ms-v0.107.70].
3678
### Changed
3779

3880
- Stale records in optimistic DNS cache now have an upper age limit of 12 hours.
81+
3982
- New blocked services UI.
4083

4184
### Fixed
@@ -60,6 +103,7 @@ See also the [v0.107.69 GitHub milestone][ms-v0.107.69].
60103
### Fixed
61104

62105
- DHCP settings could not be saved ([#8075]).
106+
63107
- DNS Rewrite edit modal did not populate with the correct values ([#8072]).
64108

65109
### Removed
@@ -82,6 +126,7 @@ See also the [v0.107.68 GitHub milestone][ms-v0.107.68].
82126
### Added
83127

84128
- New DNS rewrite settings endpoints `GET /control/rewrite/settings` and `PUT /control/rewrite/settings/update` ([#1765]). See `openapi/openapi.yaml` for details.
129+
85130
- New fields `"groups"` and `"group_id"` added to the HTTP API (`GET /control/blocked_services/all`). See `openapi/openapi.yaml` for the full description.
86131

87132
### Changed
@@ -93,6 +138,7 @@ See also the [v0.107.68 GitHub milestone][ms-v0.107.68].
93138
In this release, the schema version has changed from 30 to 31.
94139

95140
- Added a new boolean field `filtering.rewrites_enabled` to globally enable/disable DNS rewrites.
141+
96142
- Added a new boolean field `enabled` for each entry in `filtering.rewrites` to toggle individual rewrites.
97143

98144
```yaml
@@ -127,6 +173,7 @@ See also the [v0.107.67 GitHub milestone][ms-v0.107.67].
127173
### Added
128174

129175
- The *HaGeZi's DNS Rebind Protection* filter for protecting against DNS rebinding attacks ([#102]).
176+
130177
- Support for configuring the suggested default HTTP port for the installation wizard via the `ADGUARD_HOME_DEFAULT_WEB_PORT` environment variable (useful for vendors).
131178

132179
### Changed
@@ -136,6 +183,7 @@ See also the [v0.107.67 GitHub milestone][ms-v0.107.67].
136183
### Fixed
137184

138185
- Excessive configuration file overwrites when visiting the Web UI and a non-empty `language` is set.
186+
139187
- Lowered the severity of log messages for failed deletion of old filter files ([#7964]).
140188

141189
[#102]: https://github.com/AdguardTeam/AdGuardHome/issues/102
@@ -154,12 +202,15 @@ See also the [v0.107.66 GitHub milestone][ms-v0.107.66].
154202
### Changed
155203

156204
- Our snap package now uses the `core24` image as its base.
205+
157206
- Outgoing HTTP requests now use the `User-Agent` header `AdGuardHome/v0.107.66` (where `v0.107.66` is the current version) instead of `Go-http-client/1.1` ([#7979]).
158207

159208
### Fixed
160209

161210
- Authentication errors in the Web UI when AdGuard Home is behind a proxy that sets Basic Auth headers ([#7987]).
211+
162212
- The HTTP API `GET /control/profile` endpoint failing when no users were configured ([#7985]).
213+
163214
- Missing warning on the *Encryption Settings* page when using a certificate without an IP address.
164215

165216
[#7979]: https://github.com/AdguardTeam/AdGuardHome/issues/7979
@@ -3371,11 +3422,12 @@ See also the [v0.104.2 GitHub milestone][ms-v0.104.2].
33713422
[ms-v0.104.2]: https://github.com/AdguardTeam/AdGuardHome/milestone/28?closed=1
33723423

33733424
<!--
3374-
[Unreleased]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.71...HEAD
3375-
[v0.107.71]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.70...v0.107.71
3425+
[Unreleased]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.72...HEAD
3426+
[v0.107.72]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.71...v0.107.72
33763427
-->
33773428

3378-
[Unreleased]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.70...HEAD
3429+
[Unreleased]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.71...HEAD
3430+
[v0.107.71]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.70...v0.107.71
33793431
[v0.107.70]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.69...v0.107.70
33803432
[v0.107.69]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.68...v0.107.69
33813433
[v0.107.68]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.67...v0.107.68

client/src/__locales/de.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -664,7 +664,7 @@
664664
"cache_enabled_desc": "DNS-Antworten lokal speichern.",
665665
"cache_size": "Größe des Cache",
666666
"cache_size_validation": "Die Cachegröße muss größer als Null sein, wenn diese Option aktiviert ist.",
667-
"cache_size_desc": "Größe des DNS-Caches (in Bytes)",
667+
"cache_size_desc": "Größe des DNS-Caches (in Bytes).",
668668
"cache_ttl_min_override": "TTL-Minimalwert überschreiben",
669669
"cache_ttl_max_override": "TTL-Höchstwert überschreiben",
670670
"enter_cache_size": "Größe des Cache (Bytes) eingeben",

client/src/__locales/ko.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -664,7 +664,7 @@
664664
"cache_enabled_desc": "DNS 응답을 로컬에 저장합니다.",
665665
"cache_size": "캐시 크기",
666666
"cache_size_validation": "활성화된 경우 캐시 크기는 0보다 커야 합니다.",
667-
"cache_size_desc": "DNS 캐시 크기 (바이트).",
667+
"cache_size_desc": "DNS 캐시 크기 (바이트)",
668668
"cache_ttl_min_override": "최소 TTL (초) 무시",
669669
"cache_ttl_max_override": "최대 TTL (초) 무시",
670670
"enter_cache_size": "캐시 크기를 입력하세요",

client/src/__locales/uk.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -664,7 +664,7 @@
664664
"cache_enabled_desc": "Зберігати відповіді DNS локально.",
665665
"cache_size": "Розмір кешу",
666666
"cache_size_validation": "Розмір кешу має бути більшим за нуль, коли цю функцію увімкнуто.",
667-
"cache_size_desc": "Розмір кешу DNS (в байтах).",
667+
"cache_size_desc": "Розмір кешу DNS (у байтах).",
668668
"cache_ttl_min_override": "Змінити мінімальний TTL",
669669
"cache_ttl_max_override": "Змінити максимальний TTL",
670670
"enter_cache_size": "Введіть розмір кешу (байт)",

client/src/__locales/zh-cn.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -664,7 +664,7 @@
664664
"cache_enabled_desc": "在本地存储 DNS 响应。",
665665
"cache_size": "缓存大小",
666666
"cache_size_validation": "启用时,缓存大小必须大于 0。",
667-
"cache_size_desc": "DNS 缓存大小(单位:字节)",
667+
"cache_size_desc": "DNS 缓存大小(单位:字节)",
668668
"cache_ttl_min_override": "覆盖最小 TTL 值",
669669
"cache_ttl_max_override": "覆盖最大 TTL 值",
670670
"enter_cache_size": "输入缓存大小(字节)",

client/src/__locales/zh-tw.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -664,7 +664,7 @@
664664
"cache_enabled_desc": "在本機儲存 DNS 回應。",
665665
"cache_size": "快取大小",
666666
"cache_size_validation": "啟用時,快取大小必須大於 0。",
667-
"cache_size_desc": "DNS 快取大小(以位元組)",
667+
"cache_size_desc": "DNS 快取大小(以位元組)",
668668
"cache_ttl_min_override": "覆寫最小的存活時間(TTL)",
669669
"cache_ttl_max_override": "覆寫最大的存活時間(TTL)",
670670
"enter_cache_size": "輸入快取大小(位元組)",

go.mod

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ module github.com/AdguardTeam/AdGuardHome
33
go 1.25.5
44

55
require (
6-
github.com/AdguardTeam/dnsproxy v0.78.1
7-
github.com/AdguardTeam/golibs v0.35.2
6+
github.com/AdguardTeam/dnsproxy v0.78.2
7+
github.com/AdguardTeam/golibs v0.35.3
88
github.com/AdguardTeam/urlfilter v0.22.1
99
github.com/NYTimes/gziphandler v1.1.1
1010
github.com/ameshkov/dnscrypt/v2 v2.4.0
@@ -89,13 +89,13 @@ require (
8989
golang.org/x/exp/typeparams v0.0.0-20251125195548-87e1e737ad39 // indirect
9090
golang.org/x/mod v0.30.0 // indirect
9191
golang.org/x/sync v0.18.0 // indirect
92-
golang.org/x/telemetry v0.0.0-20251128220624-abf20d0e57ec // indirect
92+
golang.org/x/telemetry v0.0.0-20251203150158-8fff8a5912fc // indirect
9393
golang.org/x/term v0.37.0 // indirect
9494
golang.org/x/text v0.31.0 // indirect
9595
golang.org/x/tools v0.39.0 // indirect
9696
golang.org/x/vuln v1.1.4 // indirect
9797
gonum.org/v1/gonum v0.16.0 // indirect
98-
google.golang.org/genai v1.36.0 // indirect
98+
google.golang.org/genai v1.37.0 // indirect
9999
google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 // indirect
100100
google.golang.org/grpc v1.77.0 // indirect
101101
google.golang.org/protobuf v1.36.10 // indirect

go.sum

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ cloud.google.com/go/auth v0.17.0 h1:74yCm7hCj2rUyyAocqnFzsAYXgJhrG26XCFimrc/Kz4=
44
cloud.google.com/go/auth v0.17.0/go.mod h1:6wv/t5/6rOPAX4fJiRjKkJCvswLwdet7G8+UGXt7nCQ=
55
cloud.google.com/go/compute/metadata v0.9.0 h1:pDUj4QMoPejqq20dK0Pg2N4yG9zIkYGdBtwLoEkH9Zs=
66
cloud.google.com/go/compute/metadata v0.9.0/go.mod h1:E0bWwX5wTnLPedCKqk3pJmVgCBSM6qQI1yTBdEb3C10=
7-
github.com/AdguardTeam/dnsproxy v0.78.1 h1:+/EZJI5X5qeks+s/Y4kQIMq5mBKaSW/jcYIsi5guqj8=
8-
github.com/AdguardTeam/dnsproxy v0.78.1/go.mod h1:uoOWRv2/FkZGlstG0r/+zwc1C3ypMgzeaeOCv7MTWWI=
9-
github.com/AdguardTeam/golibs v0.35.2 h1:GVlx/CiCz5ZXQmyvFrE3JyeGsgubE8f4rJvRshYJVVs=
10-
github.com/AdguardTeam/golibs v0.35.2/go.mod h1:p/l6tG7QCv+Hi5yVpv1oZInoatRGOWoyD1m+Ume+ZNY=
7+
github.com/AdguardTeam/dnsproxy v0.78.2 h1:g+ba4vh72hAv9zIE+OPSEnu77utSKxIF6u2jNhYAR7g=
8+
github.com/AdguardTeam/dnsproxy v0.78.2/go.mod h1:gwr+7Dc0e7QddQLC9JLGjL5NSKcqw0ESsNMRI5Q67Ps=
9+
github.com/AdguardTeam/golibs v0.35.3 h1:DI0ffHyL3tFZ2UBEji3Aah7IvFwM5nY5yZoGvs1bnPY=
10+
github.com/AdguardTeam/golibs v0.35.3/go.mod h1:9Y0yqUpwDNyHxCv4AaI42x5+qxYc7k5DWAfxtFOTn8o=
1111
github.com/AdguardTeam/urlfilter v0.22.1 h1:nC2x0MSNwmTsXMTPfs1Gv6GZXKmK7prlzgjCdnE4fR8=
1212
github.com/AdguardTeam/urlfilter v0.22.1/go.mod h1:+wUx7GApNWvFPALjNd5fTLix4PFvQF5Gprx6JDYwxfE=
1313
github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg=
@@ -229,8 +229,8 @@ golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBc
229229
golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
230230
golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
231231
golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
232-
golang.org/x/telemetry v0.0.0-20251128220624-abf20d0e57ec h1:dRVkWZl6bUOp+oxnOe4BuyhWSIPmt29N4ooHarm7Ic8=
233-
golang.org/x/telemetry v0.0.0-20251128220624-abf20d0e57ec/go.mod h1:hKdjCMrbv9skySur+Nek8Hd0uJ0GuxJIoIX2payrIdQ=
232+
golang.org/x/telemetry v0.0.0-20251203150158-8fff8a5912fc h1:bH6xUXay0AIFMElXG2rQ4uiE+7ncwtiOdPfYK1NK2XA=
233+
golang.org/x/telemetry v0.0.0-20251203150158-8fff8a5912fc/go.mod h1:hKdjCMrbv9skySur+Nek8Hd0uJ0GuxJIoIX2payrIdQ=
234234
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
235235
golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU=
236236
golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254=
@@ -254,8 +254,8 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T
254254
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
255255
gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk=
256256
gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E=
257-
google.golang.org/genai v1.36.0 h1:sJCIjqTAmwrtAIaemtTiKkg2TO1RxnYEusTmEQ3nGxM=
258-
google.golang.org/genai v1.36.0/go.mod h1:A3kkl0nyBjyFlNjgxIwKq70julKbIxpSxqKO5gw/gmk=
257+
google.golang.org/genai v1.37.0 h1:dgp71k1wQ+/+APdZrN3LFgAGnVnr5IdTF1Oj0Dg+BQc=
258+
google.golang.org/genai v1.37.0/go.mod h1:A3kkl0nyBjyFlNjgxIwKq70julKbIxpSxqKO5gw/gmk=
259259
google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 h1:gRkg/vSppuSQoDjxyiGfN4Upv/h/DQmIR10ZU8dh4Ww=
260260
google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk=
261261
google.golang.org/grpc v1.77.0 h1:wVVY6/8cGA6vvffn+wWK5ToddbgdU3d8MNENr4evgXM=

internal/configmigrate/configmigrate.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
package configmigrate
33

44
// LastSchemaVersion is the most recent schema version.
5-
const LastSchemaVersion uint = 31
5+
const LastSchemaVersion uint = 32

internal/configmigrate/migrator.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ func (m *Migrator) upgradeConfigSchema(
142142
28: m.migrateTo29,
143143
29: m.migrateTo30,
144144
30: m.migrateTo31,
145+
31: m.migrateTo32,
145146
}
146147

147148
for i, migrate := range upgrades[current:target] {

0 commit comments

Comments
 (0)