Skip to content

Obsoleting Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv and Libuv packages #424

@Pilchie

Description

@Pilchie

Obsoleting Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv and Libuv packages

Earlier versions of ASP.NET Core used libuv as an implementation detail of how asynchronous IO was performed. In ASP.NET Core 2.0, an alternative transport was developed based on sockets. In ASP.NET Core 2.1 we switched to using the socket transport by default, but kept libuv support around for compatibility reasons.

At this point, use of the sockets transport is far more common than the libuv transport, so we're planning on obsoleting the libuv support in .NET 5.0, with a plan to remove it entirely in .NET 6.0.

As part of this, we will also plan not to add support for new OS platforms (like Windows ARM64) in the .NET 5.0 timeframe.

If you have a blocking issue that requires the use of the libuv transport, we would love to hear about it in the discussion issue at dotnet/aspnetcore#23409.

Version introduced

ASP.NET Core 5.0 Preview 8

Old behavior

These APIs were not Obsolete.

New behavior

They are now Obsolete.

Reason for change

The socket transport is now the default, and we don't know of good reasons to continue to use the Libuv transport.

Recommended action

Remove the use of the Libuv package and extension methods.

Category

ASP.NET

Affected APIs


Issue metadata

  • Issue type: breaking-change

Metadata

Metadata

Assignees

No one assigned

    Labels

    5.0.0Announcements related to ASP.NET Core 5.0AnnouncementBreaking changeDocumentedThe breaking change has been published to the .NET Core docs

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions