----------------
* **Breaking Change**: `io.l5d.mesh`, `io.l5d.thriftNameInterpreter`, linkerd
admin, and namerd admin now serve on 127.0.0.1 by default (instead of
0.0.0.0).
* **Breaking Change**: Removed support for PKCS#1-formatted keys. PKCS#1 formatted keys must be converted to PKCS#8 format.
* Added experimental `io.l5d.dnssrv` namer for DNS SRV records
* Kubernetes
* Added an experimental `io.l5d.k8s.configMap` interpreter for reading dtabs from a Kubernetes ConfigMap . This interpreter will respond to changes in the ConfigMap, allowing for dynamic dtab updates without the need to run Namerd.
* Made ingress controller's ingress class annotation configurable .
* Fixed an issue where Linkerd would continue routing traffic to endpoints of a service after that service was removed .
* Major refactoring and performance improvements to `io.l5d.k8s` and `io.l5d.k8s.ns` namers .
* Ingress controller now checks all available ingress resources before using a default backend .
* Ingress controller now correctly routes requests with host headers that contain ports .
* HTTP/2
* Fixed an issue where long-running H2 streams would eventually hang .
* Fixed a memory leak on long-running H2 streams
* Added a user-friendly error message when a HTTP/2 router receives a HTTP/1 request
* HTTP/1
* Removed spurious `ReaderDiscarded` exception logged on HTTP/1 retries
* Consul
* Added support for querying Consul by specific service health states
* Consul namers and Dtab store now fall back to a last known good state on Consul observation errors
* Improved log messages for Consul observation errors
* TLS
* Removed support for PKCS#1 keys
* Added validation to prevent incompatible `disableValidation: true` and `clientAuth` settings in TLS client configurations
* Changed `io.l5d.mesh`, `io.l5d.thriftNameInterpreter`, linkerd
admin, and namerd admin to serve on 127.0.0.1 by default (instead of
0.0.0.0)
* Deprecated `io.l5d.statsd` telemeter.