This release adds initial support for DoH3 and includes several core performance and stability
fixes, including reduced allocations, a resolved data race in uniq, and safer QUIC listener
initialization. Plugin updates improve forwarder reliability, extend GeoIP schema support,
and fix issues in secondary, nomad, and kubernetes. Cache and file plugins also receive
targeted performance tuning.
Deprecations: The GeoIP plugin currently returns 0 for missing latitude/longitude, even though
0,0 is a real location. In the next release, this behavior will change: missing coordinates
will return an empty string instead. This avoids conflating “missing” with a real coordinate.
Users relying on 0 as a sentinel value should update their logic before this change takes effect.
See PR #7732 for reference.
Brought to You By
Alicia Y
Andrey Smirnov
Brennan Kinney
Charlie Vieth
Endre Szabo
Eric Case
Filippo125
Nico Berlee
Olli Janatuinen
Rick Fletcher
Timur Solodovnikov
Tomas Boros
Ville Vesilehto
cangming
rpb-ant
wencyu
wenxuan70
Yong Tang
zhetaicheleba
Noteworthy Changes
- core: Add basic support for DoH3 (#7677)
- core: Avoid proxy unnecessary alloc in Yield (#7708)
- core: Fix usage of sync.Pool to save an alloc (#7701)
- core: Fix data race with sync.RWMutex for uniq (#7707)
- core: Prevent QUIC reload panic by lazily initializing the listener (#7680)
- core: Refactor/use reflect.TypeFor (#7696)
- plugin/auto: Limit regex length (#7737)
- plugin/cache: Remove superfluous allocations in item.toMsg (#7700)
- plugin/cache: Isolate metadata in prefetch goroutine (#7631)
- plugin/cache: Correct spelling of MaximumDefaultTTL in cache and dnsutil packages (#7678)
- plugin/dnstap: Better error handling (redial & logging) when Dnstap is busy (#7619)
- plugin/file: Performance finetuning (#7658)
- plugin/forward: Disallow NOERROR in failover (#7622)
- plugin/forward: Added support for per-nameserver TLS SNI (#7633)
- plugin/forward: Prevent busy loop on connection err (#7704)
- plugin/forward: Add max connect attempts knob (#7722)
- plugin/geoip: Add ASN schema support (#7730)
- plugin/geoip: Add support for subdivisions (#7728)
- plugin/kubernetes: Fix kubernetes plugin logging (#7727)
- plugin/multisocket: Cap num sockets to prevent OOM (#7615)
- plugin/nomad: Support service filtering (#7724)
- plugin/rewrite: Pre-compile CNAME rewrite regexp (#7697)
- plugin/secondary: Fix reload causing secondary plugin goroutine to leak (#7694)