Releases: qdm12/dns
Releases · qdm12/dns
v2.0.0-rc10
Features
- DNS over TLS now uses a pool of connections to re-use TCP connections when possible (#150)
HEALTH_SERVER_ADDRESSoption, defaulting to127.0.0.1:9999- by default log i/o timeout errors are logged at debug level because these are fairly common
REBINDING_PROTECTION_EXEMPT_HOSTNAMESoptionpkg/middlewares/filter: log blocked elements with a reason
Fixes
internal/local: "site" and "network" TLDs are public, not localpkg/middlewares/localdns:- do not log request twice on errors
- do not debug log NXDOMAIN coded responses since these happen often especially with search domains
internal/support/ipv6: handle Windows error message- Grafana dashboard plain DNS section updated
Go API breaking changes
pkg/nameserver:GetDNSServers- does not return localhost IPs if no nameserver is found
- returns an eventual error
- returns []netip.Addr instead of []netip.AddrPort since it can only be an ip address without port
Maintenance
- Grafana JSON dashboard upgraded to newer schema version 3
- Fix documentation URLs and CI links check
- bump markdownlint from v11 to v21
v2.0.0-rc9
Features
- Re-add "plain" upstream type (needed for debugging and Gluetun)
- pkg/exchanger: add round trip duration to error message
- pkg/middlewares/filter/mapfilter
- map filter by IP version to reduce memory usage
Fixes
- Listening on another port than 53 now works
- lowercase all question Name field to avoid any oddities
- internal/dns: loop fixed to handle error before subsequent start completes (fixing whole program being stuck at starting steps)
- do not modify system wide nameservers on Unix systems to avoid permission issues
- internal/support/ipv6:
- try both cloudflare and google in case one is not available (hum hum cloudflare)
- detection failure logged as warning not error
- pkg/blockbuilder: skip malformed hostnames instead of returning an error
- pkg/middlewares/localdns:
- only use DNS servers with a private IP address
- lowercase all fqdns before checking for locality
- pkg/middlewares/filter/mapfilter
- blocked ip prefixes metric fixed
- pkg/nameserver: get both private and public DNS servers on Windows
Maintenance
- pkg/dot: revert to use
tls.Clientand finer steps for more control - pkg/blockbuilder: optimized code scanning big files line by line
- bump Go from 1.23 to 1.25
- upgrade linter to v2.4.0
- Dependencies
- bump qdm12/goservices to 6bee97bd4978 in order to have the httpserver handler context cancelation feature
- CI
- bump actions/setup-go from v2 to v6
- use Go version from go.mod
- bump Alpine from 3.20 to 3.22
- pull container images at build time from ghcr.io when possible
- disable package comments requirement warning in dev container
- upgrade dev container to v0.21
- Go upgraded from 1.23 to 1.25
- golangci-lint upgraded to v2.4.0
- Alpine upgraded from 3.20 to 3.22
- Disable package comment requirement by gopls' staticcheck
- Pull container image from ghcr.io
v2.0.0-rc8
Changelog
- 277e4bf change: no dialer warning logger anymore - parent dialer caller can log the error - remove warner settings field for dot and plain dialers
- b2cf2c0 chore(pkg): dialer string returns connection type only, i.e.
httpsinstead ofdns over https - 87b1fef chore(pkg/dot): use tls.Dialer instead of tls.Client
- fdd4373 chore(pkg/server): shutdown without waiting for connections to close - UDP server tend not to terminate connections on time
- 5326983 feat(exchanger): add request question context when encountering an error
v2.0.0-rc7
fix(ci): update goreleaser settings
v2.0.0-rc6
chore(deps): upgrade gosettings to v0.4.1
v2.0.0-rc5
fix(ipv6): detect ipv6 non-support with additional error message - `connect: network is unreachable`
v2.0.0-rc4
change(nameserver): remove KeepNameserver option
v2.0.0-rc3
fix(pkg/blockbuilder): make settings fields nilable
v2.0.0-rc2
chore(dns): bump miekg/dns to v1.1.54
v2.0.0-rc1
chore(dns): bump miekg/dns to v1.1.54