diff --git a/coremain/version.go b/coremain/version.go index 106027c11..39d63581b 100644 --- a/coremain/version.go +++ b/coremain/version.go @@ -2,7 +2,7 @@ package coremain // Various CoreDNS constants. const ( - CoreVersion = "1.14.7" + CoreVersion = "1.15.0" CoreName = "CoreDNS" serverType = "dns" ) diff --git a/notes/coredns-1.15.0.md b/notes/coredns-1.15.0.md new file mode 100644 index 000000000..062d67665 --- /dev/null +++ b/notes/coredns-1.15.0.md @@ -0,0 +1,128 @@ ++++ +title = "CoreDNS-1.15.0 Release" +description = "CoreDNS-1.15.0 Release Notes." +tags = ["Release", "1.15.0", "Notes"] +release = "1.15.0" +date = "2026-10-20T00:00:00+00:00" +author = "coredns" ++++ + +This release improves DNS caching, forwarding, and transport reliability, +with fixes for stale-cache handling, upstream connections, crashes/race fixes, +as well as enhancemence from quite a few plugins. + +Forwarding now supports DNS-over-QUIC upstreams. Additional new features include +optional JSON query logging, authenticated RFC 2136 dynamic DNS updates, SIIT support, +expr-lang templates, and PROXY protocol v2 metadata. + +The release is built with Go 1.27.3, covering CVE-2026-56865, CVE-2026-56864, +CVE-2026-33818, CVE-2026-97032, CVE-2026-78659, CVE-2026-97031, and CVE-2026-111943, along with +other security fixes. + +## Brought to You By + +Ahmad Mehrabi +Amila Senadheera +Andri Yngvason +Aradhya Jain +Arunesh Dwivedi +Baltasar Blanco +Ben Kochie +Choudhry Shehryar +Christian Menges +houyuwushang +Ilya Kulakov +jxj +llucas +Manuel Rüger +Michée lengronne +MohibShaikh +myohannes +Paco Cartones +Pujitha Paladugu +Sakıp Han Dursun +Saleh +sam lockart +ump45nose +Yash Singh +Yong Tang +Zhao Jianing + +## Noteworthy Changes + +core: Add opt-in JSON logging with structured DNS query fields (https://github.com/coredns/coredns/pull/8553) +core: Add opt-in opcode admission (https://github.com/coredns/coredns/pull/8469) +core: Cancel only the stalled DoQ stream, not the whole DoQ connection (https://github.com/coredns/coredns/pull/8567) +core: Fix DataDog library dependency issue (https://github.com/coredns/coredns/pull/8541) +core: Make TsigSecret public (https://github.com/coredns/coredns/pull/8434) +core: Reject conflicting TLS policies on shared listeners. (https://github.com/coredns/coredns/pull/8565) +core: Stop echoing unhandled EDNS options (https://github.com/coredns/coredns/pull/8514) +core: Support explicit registration for embedded hosts (https://github.com/coredns/coredns/pull/8525) +core: Use Zones.Contains when any match suffices (https://github.com/coredns/coredns/pull/8505) +plugin/autopath: Fixes a nil pointer dereference panic in autopath during search path walk (https://github.com/coredns/coredns/pull/8517) +plugin/azure: Add refresh directive (https://github.com/coredns/coredns/pull/8614) +plugin/azure: Allow startup with unavailable zones (https://github.com/coredns/coredns/pull/8524) +plugin/cache: Cache SERVFAIL when the resolver fails without a response (https://github.com/coredns/coredns/pull/8629) +plugin/cache: Clarify stale verify behavior (https://github.com/coredns/coredns/pull/8579) +plugin/cache: Don't cache or panic on responses with no question (https://github.com/coredns/coredns/pull/8467) +plugin/cache: Fix timed stale caused refreshes (https://github.com/coredns/coredns/pull/8587) +plugin/cache: Prevents a nil pointer dereference panic in the cache prefetch (https://github.com/coredns/coredns/pull/8512) +plugin/cache: Stop setting AA on answers served from cache (https://github.com/coredns/coredns/pull/8419) +plugin/clouddns: Add endpoint directive (https://github.com/coredns/coredns/pull/8618) +plugin/clouddns: Add refresh directive (https://github.com/coredns/coredns/pull/8616) +plugin/dns64: Fixes a nil pointer dereference panic in dns64 during response (https://github.com/coredns/coredns/pull/8511) +plugin/dns64: Preserve A fallback response codes (https://github.com/coredns/coredns/pull/8619) +plugin/dns64: Reject unsupported prefix lengths (https://github.com/coredns/coredns/pull/8611) +plugin/dnstap: Tap deferred error responses (https://github.com/coredns/coredns/pull/8549) +plugin/dynupdate: Add durable authenticated RFC 2136 updates (https://github.com/coredns/coredns/pull/8520) +plugin/etcd: Allow disabling legacy apex fallback (https://github.com/coredns/coredns/pull/8468) +plugin/etcd: Avoid apex fallback on backend errors (https://github.com/coredns/coredns/pull/8465) +plugin/etcd: Fix etcd library update issue (https://github.com/coredns/coredns/pull/8542) +plugin/etcd: Stop target stripping at the end of a name (https://github.com/coredns/coredns/pull/8584) +plugin/file: Fix less is not up to RFC 1034 and 4034 (https://github.com/coredns/coredns/pull/8503) +plugin/file: Fix race condition in file plugin closer (https://github.com/coredns/coredns/pull/8583) +plugin/file: Reject SOA owners that do not match the zone (https://github.com/coredns/coredns/pull/8555) +plugin/file: Return SERVFAIL on self-referential CNAME loops (https://github.com/coredns/coredns/pull/8475) +plugin/file: Test that out-of-zone CNAME targets keep NOERROR (https://github.com/coredns/coredns/pull/8569) +plugin/file: Track zone mtime for reload_by_mtime (https://github.com/coredns/coredns/pull/8556) +plugin/forward: Bound DoT connection setup for retries (https://github.com/coredns/coredns/pull/8543) +plugin/forward: Ensure forward sets the DoH host (https://github.com/coredns/coredns/pull/8470) +plugin/forward: Set IP_RECVERR on upstream UDP sockets (https://github.com/coredns/coredns/pull/8628) +plugin/forward: Support DNS-over-QUIC upstreams (https://github.com/coredns/coredns/pull/8474) +plugin/forward: Treat forward upstream hostnames as absolute FQDNs to avoid search-domain resolution. (https://github.com/coredns/coredns/pull/8563) +plugin/grpc: Close clients on shutdown (https://github.com/coredns/coredns/pull/8582) +plugin/grpc_server: Both limits accept zero, not only positive integers (https://github.com/coredns/coredns/pull/8660) +plugin/hosts: Don't drop entries after an over-long line (https://github.com/coredns/coredns/pull/8496) +plugin/hosts: Don't drop over-long fields silently (https://github.com/coredns/coredns/pull/8551) +plugin/hosts: Parse hosts files with bufio.Reader (https://github.com/coredns/coredns/pull/8516) +plugin/https: Add max_streams to limit HTTP/2 concurrent streams (https://github.com/coredns/coredns/pull/8522) +plugin/k8s_external: Correct the SOA example in the docs (https://github.com/coredns/coredns/pull/8666) +plugin/k8s_external: Fixes a nil pointer dereference panic when upstream lookup returns no response (https://github.com/coredns/coredns/pull/8518) +plugin/kubernetes: Include structured key/value context in client-go logs (https://github.com/coredns/coredns/pull/8490) +plugin/kubernetes: Isolate NS address test fixtures (https://github.com/coredns/coredns/pull/8513) +plugin/kubernetes: Support pods with multiple IPs (https://github.com/coredns/coredns/pull/8635) +plugin/loadbalance: Reduce roundRobin allocations for homogeneous address sets (https://github.com/coredns/coredns/pull/8375) +plugin/loadbalance: Validate the response before dereferencing it in WriteMsg (https://github.com/coredns/coredns/pull/8523) +plugin/metrics: Drop the nonexistent type label from request_duration_seconds (https://github.com/coredns/coredns/pull/8650) +plugin/metrics: Release listener on TLS startup failure (https://github.com/coredns/coredns/pull/8527) +plugin/minimal: Fixes a nil pointer dereference panic in minimal prefetch response processing (https://github.com/coredns/coredns/pull/8506) +plugin/proxyproto: Expose PPv2 TLVs to downstream plugins as metadata (https://github.com/coredns/coredns/pull/8641) +plugin/proxyproto: Preserve the UDP peer for LOCAL (https://github.com/coredns/coredns/pull/8581) +plugin/quic: Add max_connections directive (https://github.com/coredns/coredns/pull/8610) +plugin/ready: Release lock before server shutdown (https://github.com/coredns/coredns/pull/8526) +plugin/reload: Broadcast shutdown signal (https://github.com/coredns/coredns/pull/8504) +plugin/rewrite: Drop the per-record dot-prefixed temporary in remapStringRewriter (https://github.com/coredns/coredns/pull/8382) +plugin/rewrite: Fixes a nil pointer dereference panic in ResponseReverter.WriteMsg (https://github.com/coredns/coredns/pull/8519) +plugin/rewrite: Limit rewrite cname recursion (https://github.com/coredns/coredns/pull/8570) +plugin/rewrite: Point to config instead of copying for CNAME rewrites (https://github.com/coredns/coredns/pull/8568) +plugin/rewrite: Support opt-in metadata in regex name replacements (https://github.com/coredns/coredns/pull/8665) +plugin/route53: Don't hold zMu across zone Lookup (https://github.com/coredns/coredns/pull/8601) +plugin/route53: Fix 'crentials' typo in README and generated man page (https://github.com/coredns/coredns/pull/8655) +plugin/siit: Add initial SIIT implementation (https://github.com/coredns/coredns/pull/8188) +plugin/template: Add expr-lang support to templates (https://github.com/coredns/coredns/pull/8450) +plugin/tls: Document that dig supports DoT (https://github.com/coredns/coredns/pull/8539) +plugin/trace: Recognize Zipkin URL schemes by prefix (https://github.com/coredns/coredns/pull/8625) +plugin/trace: Return error from Zipkin NewEndpoint in trace setup (https://github.com/coredns/coredns/pull/8577) +plugin/tsig: Expose validated TSIG key identity (https://github.com/coredns/coredns/pull/8471) +plugin/tsig: Reject non-final TSIG records (https://github.com/coredns/coredns/pull/8585) +plugin/view: Drop a stray closing brace from the split-DNS example (https://github.com/coredns/coredns/pull/8643)