Skip to content

Releases: microsoft/reverse-proxy

2.1.0

17 Nov 17:02
Compare
Choose a tag to compare

This release supports .NET 6.0, 7.0, and 8.0. See Getting Started.

The Yarp.ReverseProxy packages are available on NuGet.org.

What's Changed

New Contributors

Full Changelog: v2.1.0-preview.1...v2.1.0

2.1.0-Preview.1

13 Nov 21:35
1fd229d
Compare
Choose a tag to compare
2.1.0-Preview.1 Pre-release
Pre-release

This release supports .NET 6.0, 7.0, and 8.0. See Getting Started.

The Yarp.ReverseProxy packages are available on NuGet.org.

What's Changed

New Contributors

Pull Requests: query
Full Changelog: v2.0.0...v2.1.0-preview.1

2.0.1 Security Patch

22 Jun 21:09
Compare
Choose a tag to compare

A security issue was identified in YARP 2.0.0. See Microsoft Security Advisory CVE-2023-33141.

The fix has been released and is available on NuGet.org.

1.1.2 Security Patch

22 Jun 21:08
Compare
Choose a tag to compare

A security issue was identified in YARP 1.1.1 and lower. See Microsoft Security Advisory CVE-2023-33141.

The fix has been released and is available on NuGet.org.

2.0.0

14 Feb 14:45
Compare
Choose a tag to compare

This release supports .NET 6.0 and .NET 7.0. See Getting Started.

The Yarp.ReverseProxy packages are available on NuGet.org.

Breaking changes

  • Existing HttpTransformer overloads that don't accept a CancellationToken have been marked as obsolete (#2016).
    • If you have created a custom class that derives from HttpTransformer, you should update the implementation to override the overloads which accept the CancellationToken instead.
    • Existing implementations that only override the obsolete overloads will continue working for the time being, but these overloads may be removed in a future major release.
  • See 2.0.0-RC.1 release notes for the rest of the breaking changes between YARP 1.1 and 2.0.

Other changes

  • Added a new enum value ForwarderError.RequestCreation that is reported if a request transform throws an exception (#2016).
  • Fixed a bug introduced in RC1 where custom response transform callbacks were not called on errors (when ProxyResponse is null) (#2016).
  • Fixed a bug where a request cancellation triggered by the manual CancellationToken (parameter to IHttpForwarder.SendAsync) was reported as RequestTimedOut instead of RequestCanceled (#2016).

For a full list of changes see here.

2.0.0-RC.1

20 Jan 00:10
50919f1
Compare
Choose a tag to compare
2.0.0-RC.1 Pre-release
Pre-release

This release supports .NET 6.0 and .NET 7.0. See Getting Started.

The Yarp.ReverseProxy packages are available on NuGet.org.

Breaking changes

  • We dropped support for .NET Core 3.1 and .NET 5.0 as they are no longer supported.
    • YARP 2.0 targets .NET 6 and .NET 7.
  • The default session affinity policy has been changed from Cookie to HashCookie (#1989).
    • This policy provides fewer security guarantees about the protection level of the key data - the destination ids. On the other hand, it allows for multiple YARP instances to share session affinity cookies without the need to configure ASP.NET Core Data Protection.
    • For more details, see the Session Affinity documentation.
  • YARP now sets the SocketsHttpHandler.ConnectTimeout by default (#1991). You may observe different exceptions being reported by the proxy in failure scenarios when destination servers aren't responding. See #1678 for more context on this change.
  • The name of the enum value TlsHandshakeType.KeyEpdate has been corrected to KeyUpdate (#1614).

Major changes

  • Added support for WebSockets over HTTP/2 (#1978).
    • Protocol upgrades and downgrades are automatic. You can mix different protocol versions on both incoming and outgoing sides.
    • This feature is available on .NET 7.0 and newer only. To accept HTTP/2 WebSockets, you must use Kestrel.
    • See the YARP WebSockets documentation for more details.
  • Request transforms can now short-circuit requests and avoid proxying (#1923).
    • If you set the status code on the response to something other than 200 OK, or if you start writing to the response body, forwarding will be skipped.
    • See the Request Transforms documentation for more details.

Other changes

  • You can specify the RateLimiterPolicy on a route from the configuration (#1967). See the Rate Limiting documentation for more details.
  • You can specify the MaxRequestBodySize on a route from the configuration (#1947).
  • We exposed the InMemoryConfigProvider as a built-in API (#1732). You no longer have to copy the implementation from the samples :)
  • Added an IConfigChangeListener interface you can implement to receive notifications when and if configuration has been applied (#1734).
  • Added an IHttpForwarder.SendAsync overload that accepts a cancellation token (#1985).
  • Added async APIs to ISessionAffinityPolicy (#1990).
  • Added an overload of ReassignProxyRequest that also accepts a route (#1760).
  • Added a HeaderMatchMode.NotExists mode to header routing (#1806).
  • Added an AddMetricsConsumer helper method to make it easier to register a consumer with multiple IMetricsConsumers (#1899).
  • We report a warning early if you define multiple routes with the same ID (#1831).
  • We throw if you use a custom IForwarderHttpClientFactory and also call ConfigureHttpClient as the two are mutually exclusive (#1805).
  • We no longer restore the Upgrade response header unless there is a matching entry in the Connection header (#1731).
  • We remove the Content-Length: 0 header on responses that don't allow bodies (#1813).
  • We no longer proxy the Strict-Transport-Security header (#1984).

For a full list of changes see here.

1.1.1

30 Jun 20:38
a911a04
Compare
Choose a tag to compare

This release supports .NET Core 3.1, .NET 5.0, and .NET 6.0. See Getting Started.

The Yarp.ReverseProxy packages are available on NuGet.org.

Changes:

  • A fix for issue #1770 which was causing WebSockets to close abortively rather than gracefully.

1.1.0

02 May 17:10
d789a32
Compare
Choose a tag to compare

This release supports .NET Core 3.1, .NET 5.0, and .NET 6.0. See Getting Started.

The Yarp.ReverseProxy packages are available on NuGet.org.

Also see changes included in 1.1.0-rc1.

Breaking changes

Other changes

  • HTTP/3 support
  • Docs covering WebSockets, body transforms, IProxyConfigFilter, Let's Encrypt, WebProxy
  • Package readme's
  • Other doc and bug fixes

For a full list of changes see here.

1.0.1 Security Patch

12 Apr 17:54
Compare
Choose a tag to compare

A security issue was identified in how YARP 1.0.0 processes input. See Microsoft Security Advisory CVE-2022-26924.

The fix has been released and is available on NuGet.org.

1.1.0-RC.1.22211.2 Security Patch

12 Apr 17:53
Compare
Choose a tag to compare
Pre-release

A security issue was identified in how YARP 1.1.0-rc.1.22152.1 processes input. See Microsoft Security Advisory CVE-2022-26924.

The fix has been released and is available on NuGet.org.