Skip to content

Releases: linkerd/linkerd2-proxy

v2.147.0

09 Jun 22:34
release/v2.147.0
9318075

Choose a tag to compare

This release fixes a problem with the HTTP body buffering that was added
to support gRPC retries. The proxy would buffer all request bodies,
regardless of size or retry configurations. This has been fixed so that
only requests with a retry configuration are buffered (and only when
their bodies are less than 64KB).

This release also fixes an issue with the outbound ingress-mode proxy
where forwarded HTTP traffic could fail to detect when the target pod
was deleted, retrying connections forever. This only impacted traffic
forwarded directly to pod IPs (and not load balanced services). This has
been fixed temporarily by adding a failfast layer that triggers 502
errors when the endpoint has disconected, which cause the connection to
be torn down so that the ingress may reconnect. A more robust solution
will replace this in the future.

Furthermore, core dependencies have been updated including: futures,
hyper, socket2, and tokio.

v2.146.0

01 Jun 18:58
release/v2.146.0
cd6da0f

Choose a tag to compare

This release adds support for retrying messages with small (<64KB)
bodies. Now when retry policies specify retries for POST messages, etc,
the proxy will properly buffer and resubmit these messages bodies when
responses are classified as a failure.

This release also modifies the proxy's identity subsystem to instantiate
a client on-demand so client connections are not retained continually.
The identity client is typically used only once per day, so there's no
need to maintain these resources continually.

v2.145.0

27 May 01:40
release/v2.145.0
c188444

Choose a tag to compare

* Controller clients of components with more than one replica could fail
  to drive all connections to completion. This could result in timeouts
  showing up in logs, but would not have prevented proxies from
  communicating with controllers. linkerd/linkerd2#6146
* linkerd/linkerd2-proxy#992 made the `l5d-dst-override` header required
  for ingress-mode proxies. This behavior has been reverted so that
  requests without this header are forwarded to their original
  destination.
* OpenCensus trace spans for HTTP requests no longer include query
  parameters.

v2.144.0

14 May 17:28
release/v2.144.0
d370783

Choose a tag to compare

This release adds an `l5d-client-id` header on mutually-authenticated
inbound requests so that applications can discover the client's
identity. This header is omitted on requests from unauthenticated
connections.

v2.143.0

12 May 01:48
release/v2.143.0
626b2ee

Choose a tag to compare

v1.43.0

This release simplifies internals so that endpoint-forwarding logic is
completely distinct from handling of load balanced services.

The ingress-mode outbound proxy has been simplified to *require* the
`l5d-dst-override` header and to fail non-HTTP communication. This
ensures that the ingress-mode proxy does not unexpectedly revert to
insecure communication.

Finally, a regression was recently introduced that caused all proxy logs
to be output with ANSI control characters. Logs are now output in
plaintext by default

v2.141.1

29 Apr 15:20
release/v2.141.1
ba67188

Choose a tag to compare

This release cherry-picks several fixes back to to the v2.141.0 proxy
release (which was released in linkerd stable-2.10.1):

- Fixes a task leak that could be triggered when clients disconnect when
  a service is in failfast.
- Improves admin server protocol detection so that error messages are
  more descriptive about the underlying problem.
- Fixes panics found in fuzz testing. These panics were extremely
  unlikely to occur in practice and would require very specific
  configuration overrides to be triggered.

v2.141.0

07 Apr 14:34
release/v2.141.0
74a1632

Choose a tag to compare

This release fixes a caching issue in the outbound proxy's "ingress
mode" that could cause the incorrect client to be used for requests.
This caching has been fixed so that clients cannot be incorrectly reused
across logical destinations.

v2.140.0

30 Mar 18:46
release/v2.140.0
110e9be

Choose a tag to compare

This release fixes two issues:

1. The inbound proxy could break non-meshed TLS connections when the
   initial ClientHello message was larger than 512 bytes or when the
   entire message was not received in the first data packet of the
   connection. TLS detection has been fixed to ensure that the entire
   message is preserved in these cases.

2. The admin server could emit warnings about HTTP detection failing in
   some innocuous situations, such as when the socket closes before
   a request is sent. These situations are now handled gracefully
   without logging warnings.

v2.139.0

18 Mar 17:51
release/v2.139.0
e4c19cc

Choose a tag to compare

This release includes several stability improvements, following initial
feedback from the stable-2.10.0 release:

* The control plane proxies no longer emit warnings about the resolution
  stream ending. This error was innocuous.
* The proxy's logging infrastructure has been updated to avoid including
  client addresses in cached logging spans. Now, client addresses are
  preserved to be included in warning logs. This should reduce memory
  pressure in high-connection environments.
* The proxy could infinitely retry failed requests to the destination
  controller when it returned a FailedPrecondition, indicating an
  unexpected cluster state. These errors are now handled gracefully.

v2.138.0

09 Mar 20:15
release/v2.138.0
acf250f

Choose a tag to compare

This release fixes an issue where non-HTTP streams could hang due to TLS
buffering. Buffered data is now flushed more aggressively to prevent TCP
streams from getting "stuck" in the proxy.