Skip to content

Releases: linkerd/linkerd2

edge-19.10.3

17 Oct 23:16
7a21297

Choose a tag to compare

This edge release adds support for headless services, improves the upgrade
process after installing Linkerd with a custom cluster domain, and enhances
the check functionality to report invalid trust anchors.

  • CLI
    • Made --cluster-domain an install-only flag (thanks @bmcstdio!)
    • Updated check to ensure that proxy trust anchors match configuration
      (thanks @ereslibre!)
  • Controller
    • Added support for headless services (thanks @JohannesEH!)
  • Helm
    • Updated the helm build to retain previous releases

stable-2.6.0

10 Oct 18:42
1039d82

Choose a tag to compare

This release introduces distributed tracing support, adds request and response
headers to linkerd tap, dramatically improves the performance of the dashboard
on large clusters, adds traffic split visualizations to the dashboard, adds a
public Helm repo, and many more improvements!

For more details, see the announcement blog post:
https://linkerd.io/2019/10/10/announcing-linkerd-2.6/

To install this release, run: curl https://run.linkerd.io/install | sh

Upgrade notes: Please see the upgrade
instructions
.

Special thanks to: @alenkacz, @arminbuerkle, @bmcstdio, @bourquep,
@brianstorti, @kevtaylor, @KIVagant, @pierDipi, and @Pothulapati!

Full release notes:

  • CLI
    • Added a new json output option to the linkerd tap command, which exposes
      request and response headers
    • Added a public Helm repo - for full installation instructions, see our Helm
      documentation
      .
    • Added an --address flag to linkerd dashboard, allowing users to specify
      a port-forwarding address (thanks @bmcstdio!)
    • Added node selector constraints to Helm installation, so users can control
      which nodes the control plane is deployed to (thanks @bmcstdio!)
    • Added a --cluster-domain flag to the linkerd install command that allows
      setting a custom cluster domain (thanks @arminbuerkle!)
    • Added a --disable-heartbeat flag for linkerd install | upgrade commands
    • Allowed disabling namespace creation when installing Linkerd using Helm
      (thanks @KIVagant!)
    • Improved the error message when the CLI cannot connect to Kubernetes (thanks
      @alenkacz!)
  • Controller
    • Updated the Prometheus config to keep only needed cadvisor metrics,
      substantially reducing the number of time-series stored in most clusters
    • Introduced config.linkerd.io/trace-collector and
      config.alpha.linkerd.io/trace-collector-service-account pod spec
      annotations to support per-pod tracing
    • Instrumented the proxy injector to provide additional metrics about
      injection (thanks @Pothulapati!)
    • Added Kubernetes events (and log lines) when the proxy injector injects a
      deployment, and when injection is skipped
    • Fixed a workload admission error between the Kubernetes apiserver and the HA
      proxy injector, by allowing workloads in a namespace to be omitted from the
      admission webhooks phase using the config.linkerd.io/admission-webhooks: disabled label (thanks @hasheddan!)
    • Fixed proxy injector timeout during a large number of concurrent injections
    • Added support for disabling the heartbeat cronjob (thanks @kevtaylor!)
  • Proxy
    • Added distributed tracing support
    • Decreased proxy Docker image size by removing bundled debug tools
    • Added 587 (SMTP) to the list of ports to ignore in protocol detection (bound
      to server-speaks-first protocols) (thanks @brianstorti!)
  • Web UI
    • Redesigned dashboard navigation so workloads are now viewed by namespace,
      with an "All Namespaces" option, in order to increase dashboard speed
    • Added Traffic Splits as a resource to the dashboard, including a Traffic
      Split detail page
    • Added a Linkerd Namespace Grafana dashboard, allowing users to view
      historical data for a given namespace, similar to CLI output for linkerd stat deploy -n myNs (thanks @bourquep!)
    • Fixed bad request in the top routes tab on empty fields (thanks @pierDipi!)
  • Internal
    • Moved CI from Travis to GitHub Actions
    • Added requirement for Go 1.12.9 for controller builds to include security
      fixes
    • Added support for Kubernetes 1.16
    • Upgraded client-go to v12.0.0

edge-19.10.2

09 Oct 20:10
3b92602

Choose a tag to compare

This edge release is a release candidate for stable-2.6.

  • Controller
    • Added the destination container back to the controller; it had previously
      been separated into its own deployment. This ensures backwards compatibility
      and allows users to avoid data plane downtime during an upcoming upgrade to
      stable-2.6.

edge-19.10.1

03 Oct 19:15
9e287ac

Choose a tag to compare

This edge release is a release candidate for stable-2.6.

  • Proxy
    • Improved error logging when the proxy fails to emit trace spans
    • Fixed bug in distributed tracing where trace ids with fewer than 16 bytes
      were discarded
  • Internal
    • Added integration tests for linkerd edges and linkerd endpoints

edge-19.9.5

30 Sep 23:04

Choose a tag to compare

This edge release is a release candidate for stable-2.6.

  • Helm
    • Added node selector constraints, so users can control which nodes the
      control plane is deployed to (thanks @bmcstdio!)
  • CLI
    • Added request and response headers to the JSON output option for linkerd tap

edge-19.9.4

27 Sep 00:18
ce49b8c

Choose a tag to compare

This edge release introduces experimental support for distributed tracing as
well as a redesigned sidebar in the Web UI!

Experimental support for distributed tracing means that Linkerd data plane
proxies can now emit trace spans, allowing you to see the exact amount of time
spent in the Linkerd proxy for traced requests. The new
config.linkerd.io/trace-collector and
config.alpha.linkerd.io/trace-collector-service-account tracing annotations
allow specifying which pods should emit trace spans.

The goal of the dashboard's sidebar redesign was to reduce load on Prometheus
and simplify navigation by providing top-level views centered around namespaces
and workloads.

  • CLI
    • Introduced a new --cluster-domain flag to the linkerd install command
      that allows setting a custom cluster domain (thanks @arminbuerkle!)
    • Fixed the linkerd endpoints command to use the correct Destination API
      address (thanks @Pothulapati!)
    • Added --disable-heartbeat flag for linkerd install|upgrade commands
  • Controller
    • Instrumented the proxy-injector to provide additional metrics about
      injection (thanks @Pothulapati!)
    • Added support for config.linkerd.io/admission-webhooks: disabled label on
      namespaces so that the pod's creation events in these namespaces are ignored
      by the proxy injector; this fixes connection errors between the k8s API
      Server and the control plane, when all the proxy injector replicas are
      unavailable (thanks @hasheddan!)
    • Introduced config.linkerd.io/trace-collector and
      config.alpha.linkerd.io/trace-collector-service-account pod spec
      annotations to support per-pod tracing
  • Web UI
    • Workloads are now viewed by namespace, with an "All Namespaces" option, to
      improve dashboard performance
  • Proxy
    • Added experimental distributed tracing support

edge-19.9.3

19 Sep 19:23
2e43d97

Choose a tag to compare

This is an edge release of Linkerd! The latest stable release is stable-2.5.0.

To install this edge release, run: curl https://run.linkerd.io/install-edge | sh

  • Helm
    • Allowed disabling namespace creation during install (thanks @KIVagant!)
  • CLI
    • Added a new json output option to the linkerd tap command
  • Controller
    • Fixed proxy injector timeout during a large number of concurrent injections
    • Separated the destination controller into its own separate deployment
    • Updated Prometheus config to keep only needed cadvisor metrics,
      substantially reducing the number of time-series stored in most clusters
  • Web UI
    • Fixed bad request in the top routes tab on empty fields (thanks @pierDipi!)
  • Proxy
    • Fixes to the client's backoff logic
    • Added 587 (SMTP) to the list of ports to ignore in protocol detection (bound
      to server-speaks-first protocols) (thanks @brianstorti!)

edge-19.9.2

12 Sep 22:24
877740e

Choose a tag to compare

Much of our effort has been focused on improving our build and test
infrastructure, but this edge release lays the groundwork for some big
new features to land in the coming releases!

  • Helm
    • There's now a public Helm repo! This release can be installed with:
      helm repo add linkerd-edge https://helm.linkerd.io/edge && helm install linkerd-edge/linkerd2
    • Improved TLS credential parsing by ignoring spurious newlines
  • Proxy
    • Decreased proxy-init Docker image size by removing bundled debug tools
  • Web UI
    • Fixed an issue where the edges table could end up with duplicates
    • Added an icon to more clearly label external links
  • Internal
    • Upgraded client-go to v12.0.0
    • Moved CI from Travis to GitHub Actions

edge-19.9.1

05 Sep 22:40
6b9703e

Choose a tag to compare

This edge release adds traffic splits into the Linkerd dashboard as well as a
variety of other improvements.

  • CLI
    • Improved the error message when the CLI cannot connect to Kubernetes (thanks
      @alenkacz!)
    • Added --address flag to linkerd dashboard (thanks @bmcstdio!)
  • Controller
    • Fixed an issue where the proxy-injector had insufficient RBAC permissions
    • Added support for disabling the heartbeat cronjob (thanks @kevtaylor!)
  • Proxy
    • Decreased proxy Docker image size by removing bundled debug tools
    • Fixed an issue where the incorrect content-length could be set for GET
      requests with bodies
  • Web UI
    • Added trafficsplits as a resource to the dashboard, including a trafficsplit
      detail page
  • Internal
    • Added support for Kubernetes 1.16

edge-19.8.7

30 Aug 00:06
5b27ff0

Choose a tag to compare

  • Controller
    • Added Kubernetes events (and log lines) when the proxy injector injects a
      deployment, and when injection is skipped
    • Additional preparation for configuring the cluster base domain (thanks
      @arminbuerkle!)
  • Proxy
    • Changed the proxy to require the LINKERD2_PROXY_DESTINATION_SVC_ADDR
      environment variable when starting up
  • Web UI
    • Increased dashboard speed by consolidating existing Prometheus queries