All Versions
243
Latest Version
Avg Release Cycle
6 days
Latest Release
-

Changelog History
Page 19

  • v19.2.5 Changes

    • CLI
      • Updated linkerd check to ensure hint URLs are displayed for RPC checks
    • Controller
      • Updated the auto-inject admission controller webhook to respond to UPDATE events for deployment workloads
      • Updated destination service to return TLS identities only when the destination pod is TLS-aware and is in the same controller namespace
      • Lessen klog level to improve security
      • Updated control plane components to query Kubernetes at startup to determine authorized namespaces and if ServiceProfile support is available
      • Modified the stats payload to include the following TCP stats: tcp_open_connections, tcp_read_bytes_total, tcp_write_bytes_total
    • Proxy
      • Fixed issue with proxy falling back to filesystem polling due to improperly sized inotify buffer
    • ๐Ÿ’ป Web UI
      • Removed 'Help' hierarchy and surfaced links on navigation sidebar
      • Added a Debug page to the web dashboard, allowing you to introspect service discovery state
      • Updated the resource detail page to start displaying a table with TCP stats
    • Internal
      • Enabled the following linters: unparam, unconvert, goimports, goconst, scopelint, unused, gosimple
      • Bumped base Docker images
  • v19.2.3 Changes

    • Controller
      • Fixed issue with auto-injector not setting the proxy ID, which is required to successfully locate client service profiles
    • ๐Ÿ’ป Web UI
      • Updated navigation to link the Linkerd logo back to the Overview page
      • Fixed console warnings on the Top page
  • v19.2.2 Changes

    • CLI
      • Improved service profile validation when running linkerd check in order to validate service profiles in all namespaces
    • Controller
      • Added stat and tap support for StatefulSets in the CLI, Grafana, and web UI
      • Updated auto-injector to use the proxy log level configured at install time
      • Fixed issue with auto-injector including TLS settings in injected pods even when TLS was not enabled
    • Proxy
      • Modified the way in which canonicalization warnings are logged to reduce the overall volume of error logs and make it clearer when failures occur
  • v19.2.1 Changes

    • Controller
      • Breaking change Changed automatic proxy injection to be opt-in via the linkerd.io/inject annotation on the pod or namespace. More info: https://linkerd.io/2/proxy-injection/
      • Breaking change ServiceProfiles are now defined in client and server namespaces, rather than the control plane namespace. ServiceProfiles defined in the client namespace take priority over ones defined in the server namespace
      • Added linkerd.io/created-by annotation to the linkerd-cni DaemonSet (thanks @codeman9!)
      • Added a 10 second keepalive default to resolve dropped connections in Azure environments
      • Improved node selection for installing the linkerd-cni DaemonSet (thanks @codeman9!)
      • Corrected the expected controller identity when configuring pods with TLS
      • Modified klog to be verbose when controller log-level is set to Debug
    • CLI
      • Added the linkerd endpoints command to introspect Linkerd's service discovery state
      • Added the --tap flag to linkerd profile to generate a ServiceProfile by using the route results seen during the tap
      • Added support for the linkerd.io/inject: disabled annotation on pod specs to disable injection for specific pods when running linkerd inject
      • Added support for basePath in OpenAPI 2.0 files when running linkerd profile --open-api
      • Increased linkerd check client timeout from 5 seconds to 30 seconds to fix issues for clusters with a slower API server
      • linkerd routes will no longer return rows for ExternalName services in the namespace
      • Broadened set of valid URLs when connecting to the Kubernetes API
      • Improved ServiceProfile field validation in linkerd check
    • Proxy
      • Added TCP keepalive configuration to fix environments where peers may silently drop connections
      • The Get and GetProfiles API now accept a proxy_id parameter in order to return more tailored results
      • Removed TLS fallback-to-plaintext if handshake fails
  • v19.1.4 Changes

    • 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
  • v19.1.3 Changes

    • 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
  • v19.1.2 Changes

    • 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
  • v19.1.1 Changes

    • 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
  • v18.12.4 Changes

    โฌ†๏ธ 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!

  • v18.12.3 Changes

    โฌ†๏ธ 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