Changes compared to the previous beta, v0.108.0-b.30. See CHANGELOG.md for all changes.
A special thanks to our open-source contributor, @Gobd, as well as to everyone who filed and inspected issues, added translations, and helped us test this release!
Full changelog
Added
-
Docker container's healthcheck (#3290).
-
The new HTTP API
POST /control/protection
, that updates protection state and adds an optional pause duration (#1333). The format of request body is described inopenapi/openapi.yaml
. The duration of this pause could also be set with the config fieldprotection_disabled_until
indns
section of the YAML configuration file. -
The ability to create a static DHCP lease from a dynamic one more easily (#3459).
-
Two new HTTP APIs,
PUT /control/stats/config/update
andGET control/stats/config
, which can be used to set and receive the query log configuration. See openapi/openapi.yaml for the full description. -
Two new HTTP APIs,
PUT /control/querylog/config/update
andGET control/querylog/config
, which can be used to set and receive the statistics configuration. See openapi/openapi.yaml for the full description. -
The ability to set custom IP for EDNS Client Subnet by using the DNS-server configuration section on the DNS settings page in the UI (#1472).
-
The ability to manage safesearch for each service by using the new
safe_search
field (#1163).
Changed
- ARPA domain names containing a subnet within private networks now also considered private, behaving closer to RFC 6761 (#5567).
Configuration Changes
In this release, the schema version has changed from 17 to 20.
-
Property
statistics.interval
, which in schema versions 19 and earlier used to be an integer number of days, is now a string with a human-readable duration:# BEFORE: 'statistics': # … 'interval': 1 # AFTER: 'statistics': # … 'interval': '24h'
To rollback this change, convert the property back into days and change the
schema_version
back to19
. -
The
dns.safesearch_enabled
field has been replaced withsafe_search
object containing per-service settings. -
The
clients.persistent.safesearch_enabled
field has been replaced withsafe_search
object containing per-service settings.# BEFORE: 'safesearch_enabled': true # AFTER: 'safe_search': 'enabled': true 'bing': true 'duckduckgo': true 'google': true 'pixabay': true 'yandex': true 'youtube': true
To rollback this change, move the value of
dns.safe_search.enabled
into thedns.safesearch_enabled
, then removedns.safe_search
field. Do the same client's specificclients.persistent.safesearch
and then change theschema_version
back to17
.
Deprecated
-
The
POST /control/safesearch/enable
HTTP API is deprecated. Use the newPUT /control/safesearch/settings
API. -
The
POST /control/safesearch/disable
HTTP API is deprecated. Use the newPUT /control/safesearch/settings
API -
The
safesearch_enabled
field is deprecated in the following HTTP APIs:GET /control/clients
;POST /control/clients/add
;POST /control/clients/update
;GET /control/clients/find?ip0=...&ip1=...&ip2=...
.
Check
openapi/openapi.yaml
for more details. -
The
GET /control/stats_info
HTTP API; use the newGET /control/stats/config
API instead.NOTE: If interval is custom then it will be equal to
90
days for compatibility reasons. See openapi/openapi.yaml andopenapi/CHANGELOG.md
. -
The
POST /control/stats_config
HTTP API; use the newPUT /control/stats/config/update
API instead. -
The
GET /control/querylog_info
HTTP API; use the newGET /control/querylog/config
API instead.NOTE: If interval is custom then it will be equal to
90
days for compatibility reasons. See openapi/openapi.yaml andopenapi/CHANGELOG.md
. -
The
POST /control/querylog_config
HTTP API; use the newPUT /control/querylog/config/update
API instead.