Releases: AdguardTeam/dnsproxy
Releases · AdguardTeam/dnsproxy
Release v0.68.0
Added
- The field
proxy.Config.PrivateSubnetsused to determine if the address of a client or the address requested via PTR is considered private. Thenetutil.IsLocallyServedis used by default. - The field
proxy.Config.UsePrivateRDNScontrols if the requests considered private should be resolved viaproxy.Config.PrivateRDNSUpstreamConfig. Such requests answered withNXDOMAINotherwise. - The field
proxy.DNSContext.IsPrivateClientwhich determines if the client's address is considered private. - The field
proxy.DNSContext.RequestedPrivateRDNScontaining the prefix parsed from a requested ARPA domain, if the request itself is PTR for a private address and came from a private client. - The
proxy.ValidatePrivateConfigfunction to validate if anproxy.UpstreamConfigmay be used for private RDNS.
Changed
- PTR requests for domains containing DNS64 prefixes are now answered with
NXDOMAINifproxy.Config.UseDNS64is set to true, butproxy.Config.UsePrivateRDNSis not. - Fallback servers aren't used for the aforementioned requests, as well as for all private RDNS requests.
- All the private RDNS requests coming from external (non-private) client are now answered with
NXDOMAINbeforeproxy.RequestHandler. proxy.Newnow requiresproxy.Config.PrivateRDNSUpstreamConfigto be valid as perproxy.ValidatePrivateConfigifproxy.Config.UsePrivateRDNSis set to true.
Release v0.67.0
Added
- The new
proxy.Config.MessageConstructorfield of the newproxy.MessageConstructortype that is used to build DNS messages. The default legacy implementation is used in case ofnil.
Changed
- The
proxy.UpstreamConfig.SubdomainExclusionsfield type is now*container.MapSet.
Warning
Previously released v0.66.1 has been removed as it contains breaking changes.
Release v0.66.0
Added
- The new
proxy.Newconstructor forproxy.Proxystructure.
Changed
- The
proxy.Proxy.Startmethod now accepts a context. - The
proxy.Proxy.Stopmethod has been renamed toproxy.Proxy.Shutdownand now accepts a context.
Deprecated
- The
proxy.Proxy.Initmethod. Useproxy.Newinstead.
Release v0.65.2
Fixed
- The
upstream.CachingResolvercaching algorithm, which removed certain resource records within an RR set (AdguardTeam/AdGuardHome#6723).
Release v0.65.0
Changed
- The minimal Go version has been changed to Go 1.21.7.
- The
quic-golibrary has been updated.
Release v0.64.1
Fixed
- Parsing of the IPv6 upstreams without a port number (#379).
Release v0.64.0
Added
- The new
proxy.ParseErrorerror which contains an index of the line of the upstream list.
Changed
proxy.ParseUpstreamsConfigis now returns wrapped error containingproxy.ParseError. It also skips empty lines and comments.
Release v0.63.1
Changed
- Improved DNS-over-QUIC concurrent work (#373).
- Improved logging.
Release v0.63.0
Changed
proxy.Config.TrustedProxiesfield's type is nownetutil.SubnetSetinstead of[]string.
Release v0.62.0
Added
- The new
upstream.CachingResolverimplementation of theupstream.Resolverinterface. It's used to account the TTL of resolved addresses and resolve those on demand. - The new
upstream.NewCachingResolverfunction to wrap theupstream.UpstreamResolvers.
Changed
Upstreams are now bootstrapped on each call ofExchange, meaning that caching the lookup results is now theOptions.Bootstrapresolver's responsibility.