---
title: "Announcing Linkerd 2.20: Rate-limit-aware load balancing, reduced memory usage, better inbound metrics, and more"
url: https://daily.dev/posts/announcing-linkerd-2-20-rate-limit-aware-load-balancing-reduced-memory-usage-better-inbound-metri-rtsesxk6w
source_url: https://linkerd.io/2026/06/23/announcing-linkerd-2.20
type: article
source: "Linkerd"
published: 2026-08-23T12:22:08.961Z
updated: 2026-08-23T12:49:54.474Z
tags: ["kubernetes", "infrastructure", "opentelemetry", "service-mesh"]
reading_time: 5
upvotes: 0
comments: 0
language: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Announcing Linkerd 2.20: Rate-limit-aware load balancing, reduced memory usage, better inbound metrics, and more

**[Linkerd](https://daily.dev/sources/linkerd)** · 5 min read · 0 upvotes · 0 comments

## Summary

Linkerd 2.20 has shipped, adding rate-limit-aware load balancing and circuit breaking that respond to HTTP 429 and gRPC RESOURCE_EXHAUSTED responses. The control plane's destination controller was refactored, cutting memory usage by up to 85% in some cases, especially on large or high-churn clusters. Inbound proxy metrics now reach near parity with outbound metrics, with new histograms and improved OpenTelemetry semantic convention compliance. The release also raises max supported Kubernetes to 1.35 and Gateway API to 1.5.1, and promotes native sidecar support to stable, making it the default proxy injection method.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://linkerd.io/2026/06/23/announcing-linkerd-2.20>

## Questions this post answers

### What's new in Linkerd 2.20 for handling rate-limited services?

Linkerd 2.20 extends its load balancing and circuit breaking logic to recognize HTTP 429 and gRPC RESOURCE_EXHAUSTED responses. Instead of treating these as failures, Linkerd can be configured to bias traffic away from overloaded endpoints or remove them entirely from the pool, even when the 429s originate from Linkerd's own rate-limiting feature.

_Teams tuning service mesh resilience can follow Linkerd release changes like this on daily.dev._

### How much does Linkerd 2.20 reduce control plane memory usage?

Linkerd 2.20 refactors the destination controller's internal state management, cutting control plane memory usage by almost 85% in some cases. The destination controller maintains a map of everything on the cluster a meshed pod might talk to, so it typically accounts for most of the control plane's memory, especially in large or fast-moving clusters with heavy pod churn.

_Operators sizing Kubernetes clusters can track service mesh memory improvements like this via daily.dev._

### Are native sidecars the default in Linkerd 2.20?

Yes, Linkerd 2.20 promotes native sidecar support to stable and makes it the default deployment type for proxy injection. Native sidecars were first introduced in Linkerd 2.15 and reached beta in 2.19; they fix long-standing Kubernetes sidecar issues, particularly around Jobs support and container startup race conditions.

_Anyone migrating Kubernetes sidecar deployments can watch for changes like this through daily.dev._

## Similar posts on daily.dev

- [Linkerd 2.20, the Latest Release of the Cloud-Native Service Mesh, Arrives](https://daily.dev/posts/linkerd-2-20-the-latest-release-of-the-cloud-native-service-mesh-arrives-ketitd8if) · Cloud Native Now · 0 upvotes · 0 comments

---

Tags: [#kubernetes](https://daily.dev/tags/kubernetes), [#infrastructure](https://daily.dev/tags/infrastructure), [#opentelemetry](https://daily.dev/tags/opentelemetry), [#service-mesh](https://daily.dev/tags/service-mesh)

[View this post on daily.dev](https://daily.dev/posts/announcing-linkerd-2-20-rate-limit-aware-load-balancing-reduced-memory-usage-better-inbound-metri-rtsesxk6w)
