# CoreDNS version in Kubernetes This document records the CoreDNS version that was installed by kubeadm with each version of Kubernetes since v1.9. It also lists any CoreDNS feature deprecations between Kubernetes releases. This table should not be read as a recommendation for what version of CoreDNS to currently use per each Kubernetes release, especially for older k8s releases in this table. | Kubernetes Version | CoreDNS version installed by kubeadm | Changes in CoreDNS from previous release to Kubernetes | |:------------------:|:-------------------------:|:----------| | v1.28 | [v1.10.1](https://github.com/coredns/coredns/releases/tag/v1.10.1) | | | v1.27 | [v1.10.1](https://github.com/coredns/coredns/releases/tag/v1.10.1) | | | v1.26 | [v1.9.3](https://github.com/coredns/coredns/releases/tag/v1.9.3) | | | v1.25 | [v1.9.3](https://github.com/coredns/coredns/releases/tag/v1.9.3) | | | v1.24 | [v1.8.6](https://github.com/coredns/coredns/releases/tag/v1.8.6) | | | v1.23 | [v1.8.6](https://github.com/coredns/coredns/releases/tag/v1.8.6) | https://github.com/coredns/coredns/blob/master/notes/coredns-1.8.5.md
https://github.com/coredns/coredns/blob/master/notes/coredns-1.8.6.md | | v1.22 | [v1.8.4](https://github.com/coredns/coredns/releases/tag/v1.8.4) | https://github.com/coredns/coredns/blob/master/notes/coredns-1.8.1.md
https://github.com/coredns/coredns/blob/master/notes/coredns-1.8.2.md
https://github.com/coredns/coredns/blob/master/notes/coredns-1.8.3.md
https://github.com/coredns/coredns/blob/master/notes/coredns-1.8.4.md

***---NOTE---*** CoreDNS must be granted list and watch access to EndpointSlices | | v1.21 | [v1.8.0](https://github.com/coredns/coredns/releases/tag/v1.8.0) | https://github.com/coredns/coredns/blob/master/notes/coredns-1.7.1.md
https://github.com/coredns/coredns/blob/master/notes/coredns-1.8.0.md

***---DEPRECATIONS---***

| | v1.20 | [v1.7.0](https://github.com/coredns/coredns/releases/tag/v1.7.0) | | | v1.19 | [v1.7.0](https://github.com/coredns/coredns/releases/tag/v1.7.0) | https://github.com/coredns/coredns/blob/master/notes/coredns-1.6.9.md
https://github.com/coredns/coredns/blob/master/notes/coredns-1.7.0.md

***---DEPRECATIONS---***

| | v1.18 | [v1.6.7](https://github.com/coredns/coredns/releases/tag/v1.6.7) | https://github.com/coredns/coredns/blob/master/notes/coredns-1.6.6.md
https://github.com/coredns/coredns/blob/master/notes/coredns-1.6.7.md

***---DEPRECATIONS---***

| | v1.17 | [v1.6.5](https://github.com/coredns/coredns/releases/tag/v1.6.5) | https://github.com/coredns/coredns/blob/master/notes/coredns-1.6.3.md
https://github.com/coredns/coredns/blob/master/notes/coredns-1.6.4.md
https://github.com/coredns/coredns/blob/master/notes/coredns-1.6.5.md

***---DEPRECATIONS---***

| | v1.16 | [v1.6.2](https://coredns.io/2019/08/13/coredns-1.6.2-release/) | `health` plugin will revert back to report process level health without plugin status. A new ready plugin will make sure plugins have at least completed their startup sequence.

kubernetes fixes the logging now that kubernetes’ client lib switched to klog from glog.

The ready plugin was added that signals a plugin is ready to receive queries. First user is the kubernetes plugin.

plugin/kubernetes: Don’t do a zone transfer for NS requests

***---DEPRECATIONS---***

| | v1.14 & v1.15 | [v1.3.1](https://coredns.io/2019/01/13/coredns-1.3.1-release/) | TTL is also applied to negative responses (NXDOMAIN, etc).

k8s_external a new plugin that allows external zones to point to Kubernetes in-cluster services.

kubernetes now checks if a zone transfer is allowed. Also allow a TTL of 0 to avoid caching in the cache plugin.

***---DEPRECATIONS---***

| | v1.13 | [v1.2.6](https://coredns.io/2018/11/05/coredns-1.2.6-release/) | Support for using a kubeconfig file, including various auth providers (Azure not supported due to a compilation issue with that code).

`loop` plugin fixes a bug when dealing with a failing upstream.

***---DEPRECATIONS---***

| | v1.12 | [v1.2.2](https://coredns.io/2018/08/29/coredns-1.2.2-release/) | Makes the default cache size smaller.

A new plugin called loop was added. When starting up it detects resolver loops and stops the process if one is detected.

The auto plugin now works better with Kubernetes Configmaps.

***---DEPRECATIONS---***

| v1.11 | [v1.1.3](https://coredns.io/2018/05/24/coredns-1.1.3-release/) | kubernetes has a small fix for apex queries.

kubernetes adds option to ignore services without ready endpoints.

cache fixes the critical spoof vulnerability.

A new plugin was added: reload, which watches for changes in your Corefile and then automatically will reload the process.

***---DEPRECATIONS---***

| v1.10 | [v1.0.6](https://coredns.io/2018/02/21/coredns-1.0.6-release/) | A plugin called `forward` has been included in CoreDNS, this was, up until now, an external plugin.

We now support zone transfers in the kubernetes plugin.

***Fixes a vulnerability in the underlying DNS library, CVE-2017-15133.***

kubernetes, adds a fix for pod insecure look ups for non-IP addresses.

***---DEPRECATIONS---***

| v1.09 | [v1.0.1](https://coredns.io/2017/12/11/coredns-1.0.1-release/) | The v1.0.1 was the first version of CoreDNS to be shipped with Kubernetes. |