Skip to content

Releases: linkerd/linkerd2

edge-19.1.4

01 Feb 00:04
aced50f

Choose a tag to compare

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

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

  • Controller
    • Added support for timeouts! Configurable in the service profiles for each route
    • Added an experimental CNI plugin to avoid requiring the NET_ADMIN capability when
      injecting proxies (more details at https://linkerd.io/2/cni) (thanks @codeman9!)
    • Added more improvements to the API for ListPods (thanks @alenkacz!)
  • Web UI
    • Grayed-out the tap icon for requests from sources that are not meshed
  • CLI
    • Added the --proto flag to linkerd profile to output a service profile
      based on a Protobuf spec file
    • Fixed CLI connection failure to clusters that use self-signed certificates
    • Simplified linkerd install so that setting up proxy auto-injection (flag --proxy-auto-inject) no longer requires enabling TLS (flag --tls)
    • Added links for each linkerd check failure, pointing to a relevant section
      in our new FAQ page with resolution steps for each case

edge-19.1.3

25 Jan 00:48
c5ac740

Choose a tag to compare

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

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

  • Controller
    • Improved API for ListPods (thanks @alenkacz!)
    • Fixed GetProfiles API call not returning immediately when no profile
      exists (resulting in proxies logging warnings)
  • Web UI
    • Improved resource detail pages now show all resource types
    • Fixed stats not appearing for routes that have service profiles installed
  • CLI
    • Added optional linkerd install-sp command to generate service profiles for
      the control plane, providing per-route metrics for control plane components
    • Removed --proxy-bind-timeout flag from linkerd install and linkerd inject
      commands, as the proxy no longer accepts this environment variable
    • Improved CLI appearance on Windows systems
    • Improved linkerd check output, fixed check bug when using --single-namespace
      (thanks to @djeeg for the bug report!)
    • Improved linkerd stat now supports DaemonSets (thanks @zknill!)
    • Fixed panic when linkerd routes is called in single-namespace mode
  • Proxy
    • Added the ability to override a proxy's normal outbound routing by adding an
      l5d-override-dst header
    • Added LINKERD2_PROXY_DNS_CANONICALIZE_TIMEOUT environment variable to
      customize the timeout for DNS queries to canonicalize a name
    • Added support for route timeouts in service profiles
    • Improved logging for gRPC errors and for malformed HTTP/2 request headers
    • Improved log readability by moving some noisy log messages to more verbose
      log levels

edge-19.1.2

17 Jan 22:42
50d181c

Choose a tag to compare

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

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

  • Controller
    • Retry support! Introduce an isRetryable property to service profiles to
      enable configuring retries on a per-route basis
  • Web UI
    • Add "meshed" and "no traffic" badges on the resource detail pages
    • Fix linkerd dashboard to maintain proxy connection when browser open fails
    • Fix JavaScript bundling to avoid serving old versions after upgrade
  • CLI
    • Add linkerd logs command to surface logs from any container in the Linkerd
      control plane (shout out to Stern!)
    • Add linkerd uninject command to remove the Linkerd proxy from a Kubernetes
      config
    • Improve linkerd inject to re-inject a resource that already has a Linkerd
      proxy
    • Improve linkerd routes to list all routes, including those without traffic
    • Improve readability in linkerd check and linkerd inject outputs
  • Proxy
    • Fix a deadlock in HTTP/2 stream reference counts

edge-19.1.1

11 Jan 00:25
21d9397

Choose a tag to compare

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

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

  • CLI
    • Adjust the set of checks that are run before executing CLI commands, which
      allows the CLI to be invoked even when the control plane is not fully ready
    • Fix reporting of injected resources when the linkerd inject command is run
      on List type resources with multiple items
    • Update the linkerd dashboard command to use port-forwarding instead of
      proxying when connecting to the web UI and Grafana
    • Add validation for the ServiceProfile CRD (thanks, @alenkacz!)
    • Update the linkerd check command to disallow setting both the --pre and
      --proxy flags simultaneously (thanks again, @alenkacz!)
  • Web UI
    • Reduce the size of the webpack JavaScript bundle by nearly 50%!
    • Fix an indexing error on the top results page
  • Proxy
    • Fixed The proxy-init container now exits with a non-zero exit code if
      initialization fails, making initialization errors much more visible
    • Fixed The proxy previously leaked UDP sockets for failed DNS queries,
      causing a memory leak; this has been fixed

edge-18.12.4

21 Dec 00:27
42fa9e9

Choose a tag to compare

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

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

Upgrade notes: The control plane components have been renamed as of the
edge-18.12.1 release to reduce possible naming collisions. To upgrade an
older installation, see the Upgrade Guide.

  • CLI
    • Add --routes flag to the linkerd top command, for grouping table rows
      by route instead of by path
    • Update Prometheus configuration to automatically load *_rules.yml files
    • Remove TLS column from the linkerd routes command output
  • Web UI
    • Restore unmeshed resources in the network graph on the resource detail page
    • Reduce the overall size of the asset bundle for the web frontend
  • Proxy
    • Improve configuration of the PeakEwma load balancer

Special thanks to @radu-matei for cleaning up a whole slew of Go lint warnings,
and to @jonrichards for improving the Rust build setup!

edge-18.12.3

14 Dec 22:56
a1c5e52

Choose a tag to compare

Upgrade notes: The control plane components have been renamed as of the
edge-18.12.1 release to reduce possible naming collisions. To upgrade an
older installation, see the Upgrade Guide.

  • CLI
    • Multiple improvements to the linkerd install config (thanks @codeman9!)
      • Use non-default service accounts for grafana and web deployments
      • Use emptyDir volume mount for prometheus and grafana pods
      • Set security context on control plane components to not run as root
    • Remove cluster-wide resources from single-namespace installs
      • Disable service profiles in single-namespace mode
      • Require that namespace already exist for single-namespace installs
    • Fix resource requests for proxy-injector container in --ha installs
  • Controller
    • Block controller initialization until caches have synced with kube API
    • Fix proxy-api handling of named target ports in service configs
    • Add parameter to stats API to skip retrieving prometheus stats (thanks,
      @alpeb!)
  • Web UI
    • Adjust label for unknown routes in route tables, add tooltip
    • Update Top Routes page to persist form settings in URL
    • Add button to create new service profiles on Top Routes page
    • Fix CLI commands displayed when linkerd is running in non-default namespace
  • Proxy
    • Proxies with TLS enabled now honor ports configured to skip protocol detection

stable-2.1.0

06 Dec 22:47
3ff971f

Choose a tag to compare

Announcing Linkerd 2.1 🎈

This stable release introduces several major improvements, including per-route
metrics, service profiles, and a vastly improved dashboard UI. It also adds
several significant experimental features, including proxy auto-injection,
single namespace installs, and a high-availability mode for the control plane.

For more details, see the announcement blog post:
https://blog.linkerd.io/2018/12/06/announcing-linkerd-2-1/

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

Upgrade notes: The control plane components have been renamed in this
release to reduce possible naming collisions. Please make sure to read the
upgrade instructions if you are upgrading from the stable-2.0.0 release.

Special thanks to: @alenkacz, @alpeb, @benjdlambert, @fahrradflucht,
@ffd2subroutine, @hypnoglow, @ihcsim, @lucab, and @rochacon.

Full release notes:

  • CLI
    • linkerd routes command displays per-route stats for any resource
    • Service profiles are now supported for external authorities
    • linkerd profile --open-api flag generates a service profile
      based on an OpenAPI specification (swagger) file
    • linkerd routes command displays per-route stats for services with
      service profiles
    • Add --ha flag to linkerd install command, for HA
      deployment of the control plane
    • Update stat command to accept multiple stat targets
    • Fix authority stat filtering when the --from flag is present
    • Various improvements to check command, including:
      • Emit warnings instead of errors when not running the latest version
      • Add retries if control plane health check fails initially
      • Run all pre-install RBAC checks, instead of stopping at first failure
    • Fixed an issue with the --registry install flag not accepting
      hosts with ports
    • Added an --output stat flag, for printing stats as JSON
    • Updated the top table to set column widths dynamically
    • Added a --single-namespace install flag for installing
      the control plane with Role permissions instead of ClusterRole permissions
    • Added a --proxy-auto-inject flag to the install command,
      allowing for auto-injection of sidecar containers
    • Added --proxy-cpu and --proxy-memory flags to the install
      and inject commands, giving the ability to configure CPU + Memory requests
    • Added a --context flag to specify the context to use to talk
      to the Kubernetes apiserver
    • The namespace in which Linkerd is installed is configurable via the
      LINKERD_NAMESPACE env var, in addition to the --linkerd-namespace flag
    • The wait time for the check and dashboard commands is
      configurable via the --wait flag
    • The top command now aggregates by HTTP method as well
  • Controller
    • Rename snake case fields to camel case in service profile spec
    • Controller components are now prefixed with linkerd- to
      prevent name collisions with existing resources
    • linkerd install --disable-h2-upgrade flag has been added to
      control automatic HTTP/2 upgrading
    • Fix auto injection issue on Kubernetes v1.9.11 that would
      merge, rather than append, the proxy container into the application
    • Fixed a few issues with auto injection via the proxy-injector webhook:
      • Injected pods now execute the linkerd-init container last, to avoid
        rerouting requests during pod init
      • Original pod labels and annotations are preserved when auto-injecting
    • CLI health check now uses unified endpoint for data plane checks
    • Include Licence files in all Docker images
  • Proxy
    • The proxy's tap subsystem has been reimplemented to be more
      efficient and and reliable
      • The proxy now supports route metadata in tap queries and events
    • A potential HTTP/2 window starvation bug has been fixed
    • Prometheus counters now wrap properly for values greater than 2^53
    • Add controller client metrics, scoped under control_
    • Canonicalize outbound names via DNS for inbound profiles
    • Fix routing issue when a pod makes a request to itself
    • Only include classification label on response_total metric
    • Remove panic when failing to get remote address
    • Better logging in TCP connect error messages
  • Web UI
    • Top routes page, served at /routes
    • Route metrics are now available in the resource detail pages for
      services with configured profiles
    • Service profiles can be created and downloaded from the Web UI
    • Top Routes page, served at /routes
    • Fixed a smattering of small UI issues
    • Added a new Grafana dashboard for authorities
    • Revamped look and feel of the Linkerd dashboard by switching
      component libraries from antd to material-ui
    • Added a Help section in the sidebar containing useful links
    • Tap and Top pages
      • Added clear button to query form
    • Resource Detail pages
      • Limit number of resources shown in the graph
    • Resource Detail page
      • Better rendering of the dependency graph at the top of the page
      • Unmeshed sources are now populated in the Inbound traffic table
      • Sources and destinations are aligned in the popover
    • Tap and Top pages
      • Additional validation and polish for the form controls
      • The top table clears older results when a new top call is started
      • The top table now aggregates by HTTP method as well

edge-18.12.2

06 Dec 22:03
5418324

Choose a tag to compare

Upgrade notes: The control plane components have been renamed as of the edge-18.12.1 release to reduce possible naming collisions. To upgrade an older installation, see the Upgrade Guide.

  • Controller
    • Rename snake case fields to camel case in service profile spec

edge-18.12.1

06 Dec 00:39
f553372

Choose a tag to compare

Upgrade notes: The control plane components have been renamed in this release to
reduce possible naming collisions. To upgrade an existing installation:

  • Install new CLI: curl https://run.linkerd.io/install-edge | sh
  • Install new control plane: linkerd install | kubectl apply -f -
  • Remove old deploys/cms:
    kubectl -n linkerd get deploy,cm -oname | grep -v linkerd | xargs kubectl -n linkerd delete
  • Re-inject your applications: linkerd inject my-app.yml | kubectl apply -f -
  • Remove old services:
    kubectl -n linkerd get svc -oname | grep -v linkerd | xargs kubectl -n linkerd delete

For more information, see the Upgrade Guide.

  • CLI
    • Improved linkerd routes command displays per-route stats for any resource!
    • New Service profiles are now supported for external authorities!
    • New linkerd routes --open-api flag generates a service profile
      based on an OpenAPI specification (swagger) file
  • Web UI
    • New Top routes page, served at /routes
    • New Route metrics are now available in the resource detail pages for
      services with configured profiles
    • New Service profiles can be created and downloaded from the Web UI
  • Controller
    • Improved Controller components are now prefixed with linkerd- to
      prevent name collisions with existing resources
    • New linkerd install --disable-h2-upgrade flag has been added to
      control automatic HTTP/2 upgrading
  • Proxy
    • Improved The proxy's tap subsystem has been reimplemented to be more
      efficient and and reliable
      • The proxy now supports route metadata in tap queries and events
    • Fixed A potential HTTP/2 window starvation bug has been fixed
    • Fixed Prometheus counters now wrap properly for values greater than
      2^53 (thanks, @lucab!)

edge-18.11.3

29 Nov 00:15
e9aa911

Choose a tag to compare

  • CLI
    • New linkerd routes command displays per-route stats for services with service profiles
    • Experimental Add --ha flag to linkerd install command, for HA deployment of the control plane (thanks @benjdlambert!)
  • Web UI
    • Experimental Top Routes page, served at /routes
  • Controller
    • Fixed Fix auto injection issue on Kubernetes v1.9.11 that would merge, rather than append, the proxy container into the application
  • Proxy
    • Improved Add controller client metrics, scoped under control_
    • Improved Canonicalize outbound names via DNS for inbound profiles