Skip to content

Commit

Permalink
Merge branch 'master' into 951-blocked-services-schedule-api
Browse files Browse the repository at this point in the history
  • Loading branch information
schzhn committed Aug 28, 2023
2 parents c69f923 + e1f6229 commit d749df7
Show file tree
Hide file tree
Showing 195 changed files with 6,567 additions and 3,415 deletions.
60 changes: 32 additions & 28 deletions .github/ISSUE_TEMPLATE/bug.yml
Expand Up @@ -32,31 +32,33 @@
- 'attributes':
'description': 'On which Platform does the issue occur?'
'label': 'Platform (OS and CPU architecture)'
# NOTE: Keep the 386 at the bottom for each OS, because a lot of people
# Seem to confuse them with AMD64, which is what they actually need.
'options':
- 'Darwin (aka macOS)/AMD64 (aka x86_64)'
- 'Darwin (aka macOS)/ARM64'
- 'FreeBSD/386'
- 'FreeBSD/AMD64 (aka x86_64)'
- 'FreeBSD/ARM64'
- 'FreeBSD/ARMv5'
- 'FreeBSD/ARMv6'
- 'FreeBSD/ARMv7'
- 'Linux/386'
- 'Linux/AMD64 (aka x86_64)'
- 'Linux/ARM64'
- 'Linux/ARMv5'
- 'Linux/ARMv6'
- 'Linux/ARMv7'
- 'Linux/MIPS LE'
- 'Linux/MIPS'
- 'Linux/MIPS64 LE'
- 'Linux/MIPS64'
- 'Linux/PPC64 LE'
- 'OpenBSD/AMD64 (aka x86_64)'
- 'OpenBSD/ARM64'
- 'Windows/386'
- 'Windows/AMD64 (aka x86_64)'
- 'Windows/ARM64'
- 'Darwin (aka macOS), AMD64 (aka x86_64)'
- 'Darwin (aka macOS), ARM64'
- 'FreeBSD, AMD64 (aka x86_64)'
- 'FreeBSD, ARM64'
- 'FreeBSD, ARMv5'
- 'FreeBSD, ARMv6'
- 'FreeBSD, ARMv7'
- 'FreeBSD, 32-bit Intel (aka 386)'
- 'Linux, AMD64 (aka x86_64)'
- 'Linux, ARM64'
- 'Linux, ARMv5'
- 'Linux, ARMv6'
- 'Linux, ARMv7'
- 'Linux, MIPS LE'
- 'Linux, MIPS'
- 'Linux, MIPS64 LE'
- 'Linux, MIPS64'
- 'Linux, PPC64 LE'
- 'Linux, 32-bit Intel (aka 386)'
- 'OpenBSD, AMD64 (aka x86_64)'
- 'OpenBSD, ARM64'
- 'Windows, AMD64 (aka x86_64)'
- 'Windows, ARM64'
- 'Windows, 32-bit Intel (aka 386)'
- 'Custom (please mention in the description)'
'id': 'os'
'type': 'dropdown'
Expand Down Expand Up @@ -142,8 +144,10 @@
'type': 'textarea'
'validations':
'required': false
'description': >
Open a bug report. Please do not open bug reports for questions or help
with configuring clients. If you want to ask for help, use the Discussions
section.
# NOTE: GitHub limits the description length to 200 characters. Also, Markdown
# doesn't work here.
'description': |
For help, use the Discussions section instead. Write the title in English
to make it easier for other people to search for duplicates. (Any language
is fine in the body.)
'name': 'Bug'
6 changes: 5 additions & 1 deletion .github/ISSUE_TEMPLATE/feature.yml
Expand Up @@ -48,7 +48,11 @@
'type': 'textarea'
'validations':
'required': false
'description': 'Suggest a feature or an enhancement for AdGuard Home'
# NOTE: GitHub limits the description length to 200 characters. Also, Markdown
# doesn't work here.
'description': |
Write the title in English to make it easier for other people to search for
duplicates. (Any language is fine in the body.)
'labels':
- 'feature request'
'name': 'Feature request or enhancement'
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
@@ -1,7 +1,7 @@
'name': 'build'

'env':
'GO_VERSION': '1.19.11'
'GO_VERSION': '1.20.7'
'NODE_VERSION': '14'

'on':
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lint.yml
@@ -1,7 +1,7 @@
'name': 'lint'

'env':
'GO_VERSION': '1.19.11'
'GO_VERSION': '1.20.7'

'on':
'push':
Expand Down
4 changes: 2 additions & 2 deletions AGHTechDoc.md
Expand Up @@ -835,7 +835,7 @@ Request:
Response:

200 OK

### API: Validate TLS configuration

Request:
Expand Down Expand Up @@ -2008,7 +2008,7 @@ Request:
Response:

200 OK

DOH plist file

## API: Get DNS over TLS .mobileconfig
Expand Down
131 changes: 122 additions & 9 deletions CHANGELOG.md
Expand Up @@ -14,17 +14,129 @@ and this project adheres to
<!--
## [v0.108.0] - TBA
## [v0.107.35] - 2023-08-02 (APPROX.)
## [v0.107.37] - 2023-08-16 (APPROX.)
See also the [v0.107.35 GitHub milestone][ms-v0.107.35].
See also the [v0.107.37 GitHub milestone][ms-v0.107.37].
[ms-v0.107.35]: https://github.com/AdguardTeam/AdGuardHome/milestone/70?closed=1
[ms-v0.107.37]: https://github.com/AdguardTeam/AdGuardHome/milestone/72?closed=1
NOTE: Add new changes BELOW THIS COMMENT.
-->

### Added

- IPv6 hints are now filtered in case IPv6 addresses resolving is disabled
([#6122]).
- The ability to set fallback DNS servers in the configuration file ([#3701]).
- While adding or updating blocklists, the title can now be parsed from
`! Title:` definition of the blocklist's source ([#6020]).
- The ability to filter DNS HTTPS records including IPv4/v6 hints ([#6053]).
- Two new metrics showing total number of responses from each upstream DNS
server and their average processing time in the Web UI ([#1453]).
- The ability to set the port for the `pprof` debug API, see configuration
changes below.

### Changed

- `$dnsrewrite` rules containing IPv4-mapped IPv6 addresses are now working
consistently with legacy DNS rewrites and match the `AAAA` requests.
- For non-A and non-AAAA requests, which has been filtered, the NODATA response
is returned if the blocking mode isn't set to `Null IP`. In previous versions
it returned NXDOMAIN response in such cases.

#### Configuration Changes

In this release, the schema version has changed from 24 to 25.

- Property `debug_pprof` which used to setup profiling HTTP handler, is now
moved to the new `pprof` object under `http` section. The new object contains
properties `enabled` and `port`:

```yaml
# BEFORE:
'debug_pprof': true

# AFTER:
'http':
'pprof':
'enabled': true
'port': 6060
```

Note that the new default `6060` is used as default. To rollback this change,
remove the new object `pprof`, set back `debug_pprof`, and change the
`schema_version` back to `24`.

### Fixed

- Missing query log entries and statistics on service restart ([#6100]).
- Occasional DNS-over-QUIC and DNS-over-HTTP/3 errors ([#6133]).
- Legacy DNS rewrites containing IPv4-mapped IPv6 addresses are now matching the
`AAAA` requests, not `A` ([#6050]).
- File log configuration, such as `max_size`, being ignored ([#6093]).
- Panic on using a single-slash filtering rule.
- Panic on shutting down while DNS requests are in process of filtering
([#5948]).

[#1453]: https://github.com/AdguardTeam/AdGuardHome/issues/1453
[#3701]: https://github.com/AdguardTeam/AdGuardHome/issues/3701
[#5948]: https://github.com/AdguardTeam/AdGuardHome/issues/5948
[#6020]: https://github.com/AdguardTeam/AdGuardHome/issues/6020
[#6050]: https://github.com/AdguardTeam/AdGuardHome/issues/6050
[#6053]: https://github.com/AdguardTeam/AdGuardHome/issues/6053
[#6093]: https://github.com/AdguardTeam/AdGuardHome/issues/6093
[#6100]: https://github.com/AdguardTeam/AdGuardHome/issues/6100
[#6122]: https://github.com/AdguardTeam/AdGuardHome/issues/6122
[#6133]: https://github.com/AdguardTeam/AdGuardHome/issues/6133

<!--
NOTE: Add new changes ABOVE THIS COMMENT.
-->



## [v0.107.36] - 2023-08-02

See also the [v0.107.36 GitHub milestone][ms-v0.107.36].

### Security

- Go version has been updated to prevent the possibility of exploiting the
CVE-2023-29409 Go vulnerability fixed in [Go 1.20.7][go-1.20.7].

### Deprecated

- Go 1.20 support. Future versions will require at least Go 1.21 to build.

### Fixed

- Inability to block queries for the root domain, such as `NS .` queries, using
the *Disallowed domains* feature on the *DNS settings* page ([#6049]). Users
who want to block `.` queries should use the `|.^` AdBlock rule or a similar
regular expression.
- Client hostnames not resolving when upstream server responds with zero-TTL
records ([#6046]).

[#6046]: https://github.com/AdguardTeam/AdGuardHome/issues/6046
[#6049]: https://github.com/AdguardTeam/AdGuardHome/issues/6049

[go-1.20.7]: https://groups.google.com/g/golang-announce/c/X0b6CsSAaYI/m/Efv5DbZ9AwAJ
[ms-v0.107.36]: https://github.com/AdguardTeam/AdGuardHome/milestone/71?closed=1



## [v0.107.35] - 2023-07-26

See also the [v0.107.35 GitHub milestone][ms-v0.107.35].

### Changed

- Improved reliability filtering-rule list updates on Unix systems.

### Fixed

- Occasional client information lookup failures that could lead to the DNS
server getting stuck ([#6006]).
- `bufio.Scanner: token too long` and other errors when trying to add
filtering-rule lists with lines over 1024 bytes long or containing cosmetic
rules ([#6003]).
Expand All @@ -35,10 +147,9 @@ NOTE: Add new changes BELOW THIS COMMENT.
the `Dockerfile`.

[#6003]: https://github.com/AdguardTeam/AdGuardHome/issues/6003
[#6006]: https://github.com/AdguardTeam/AdGuardHome/issues/6006

<!--
NOTE: Add new changes ABOVE THIS COMMENT.
-->
[ms-v0.107.35]: https://github.com/AdguardTeam/AdGuardHome/milestone/70?closed=1



Expand Down Expand Up @@ -2255,11 +2366,13 @@ See also the [v0.104.2 GitHub milestone][ms-v0.104.2].


<!--
[Unreleased]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.35...HEAD
[v0.107.35]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.34...v0.107.35
[Unreleased]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.37...HEAD
[v0.107.37]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.36...v0.107.37
-->

[Unreleased]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.34...HEAD
[Unreleased]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.36...HEAD
[v0.107.36]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.35...v0.107.36
[v0.107.35]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.34...v0.107.35
[v0.107.34]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.33...v0.107.34
[v0.107.33]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.32...v0.107.33
[v0.107.32]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.31...v0.107.32
Expand Down
7 changes: 7 additions & 0 deletions Makefile
Expand Up @@ -130,3 +130,10 @@ openapi-lint: ; cd ./openapi/ && $(YARN) test
openapi-show: ; cd ./openapi/ && $(YARN) start

txt-lint: ; $(ENV) "$(SHELL)" ./scripts/make/txt-lint.sh

# TODO(a.garipov): Consider adding to scripts/ and the common project
# structure.
go-upd-tools:
cd ./internal/tools/ &&\
"$(GO.MACRO)" get -u &&\
"$(GO.MACRO)" mod tidy
9 changes: 5 additions & 4 deletions README.md
Expand Up @@ -54,7 +54,7 @@ code.


* [Getting Started](#getting-started)
* [Automated install (Unix)](#automated-install-linux-and-mac)
* [Automated install (Linux/Unix/MacOS/FreeBSD/OpenBSD)](#automated-install-linux-and-mac)
* [Alternative methods](#alternative-methods)
* [Guides](#guides)
* [API](#api)
Expand All @@ -79,7 +79,7 @@ code.

## <a href="#getting-started" id="getting-started" name="getting-started">Getting Started</a>

### <a href="#automated-install-linux-and-mac" id="automated-install-linux-and-mac" name="automated-install-linux-and-mac">Automated install (Unix)</a>
### <a href="#automated-install-linux-and-mac" id="automated-install-linux-and-mac" name="automated-install-linux-and-mac">Automated install (Linux/Unix/MacOS/FreeBSD/OpenBSD)</a>

To install with `curl` run the following command:

Expand Down Expand Up @@ -261,7 +261,7 @@ Run `make init` to prepare the development environment.

You will need this to build AdGuard Home:

* [Go](https://golang.org/dl/) v1.19 or later;
* [Go](https://golang.org/dl/) v1.20 or later;
* [Node.js](https://nodejs.org/en/download/) v10.16.2 or later;
* [npm](https://www.npmjs.com/) v6.14 or later;
* [yarn](https://yarnpkg.com/) v1.22.5 or later.
Expand Down Expand Up @@ -416,7 +416,8 @@ There are three options how you can install an unstable version:
### <a href="#reporting-issues" id="reporting-issues" name="reporting-issues">Report issues</a>

If you run into any problem or have a suggestion, head to [this page][iss] and
click on the “New issue” button.
click on the “New issue” button. Please follow the instructions in the issue
form carefully and don't forget to start by searching for duplicates.

[iss]: https://github.com/AdguardTeam/AdGuardHome/issues

Expand Down
6 changes: 3 additions & 3 deletions bamboo-specs/release.yaml
Expand Up @@ -7,7 +7,7 @@
# Make sure to sync any changes with the branch overrides below.
'variables':
'channel': 'edge'
'dockerGo': 'adguard/golang-ubuntu:6.8'
'dockerGo': 'adguard/golang-ubuntu:7.0'

'stages':
- 'Build frontend':
Expand Down Expand Up @@ -272,7 +272,7 @@
# need to build a few of these.
'variables':
'channel': 'beta'
'dockerGo': 'adguard/golang-ubuntu:6.8'
'dockerGo': 'adguard/golang-ubuntu:7.0'
# release-vX.Y.Z branches are the branches from which the actual final
# release is built.
- '^release-v[0-9]+\.[0-9]+\.[0-9]+':
Expand All @@ -287,4 +287,4 @@
# are the ones that actually get released.
'variables':
'channel': 'release'
'dockerGo': 'adguard/golang-ubuntu:6.8'
'dockerGo': 'adguard/golang-ubuntu:7.0'
6 changes: 3 additions & 3 deletions bamboo-specs/snapcraft.yaml
Expand Up @@ -10,7 +10,7 @@
# Make sure to sync any changes with the branch overrides below.
'variables':
'channel': 'edge'
'dockerGo': 'adguard/golang-ubuntu:6.8'
'dockerGo': 'adguard/golang-ubuntu:7.0'
'snapcraftChannel': 'edge'

'stages':
Expand Down Expand Up @@ -191,7 +191,7 @@
# need to build a few of these.
'variables':
'channel': 'beta'
'dockerGo': 'adguard/golang-ubuntu:6.8'
'dockerGo': 'adguard/golang-ubuntu:7.0'
'snapcraftChannel': 'beta'
# release-vX.Y.Z branches are the branches from which the actual final
# release is built.
Expand All @@ -207,5 +207,5 @@
# are the ones that actually get released.
'variables':
'channel': 'release'
'dockerGo': 'adguard/golang-ubuntu:6.8'
'dockerGo': 'adguard/golang-ubuntu:7.0'
'snapcraftChannel': 'candidate'

0 comments on commit d749df7

Please sign in to comment.