Skip to content

[Breaking change]: HTTP3 support in System.Net.Http disabled by default with PublishTrimmed #47443

@MichalStrehovsky

Description

@MichalStrehovsky

Description

Setting PublishTrimmed or PublishAot to true in the project will disable HTTP3 support in System.Net.Http.

dotnet/runtime#117655

Version

.NET 10 Preview 6

Previous behavior

HTTP3 support was allowed, but might not have actually worked by default in environments where msquic native library is not available. This resulted in HTTP3 not actually working while the app carried all the code related to it.

New behavior

HTTP3 is disabled and we don't carry the code for it.

Type of breaking change

  • Binary incompatible: Existing binaries might encounter a breaking change in behavior, such as failure to load or execute, and if so, require recompilation.
  • Source incompatible: When recompiled using the new SDK or component or to target the new runtime, existing source code might require source changes to compile successfully.
  • Behavioral change: Existing binaries might behave differently at run time.

Reason for change

Since making HTTP3 work requires extra gestures and often doesn't work by default, we'll no longer carry the code for it.

Recommended action

To enable HTTP3 support, set the documented <Http3Support> property to true in PublishTrimmed/PublishAot projects.

Feature area

Networking

Affected APIs

No response


Associated WorkItem - 454939

Metadata

Metadata

Assignees

Labels

📌 seQUESTeredIdentifies that an issue has been imported into Quest.breaking-changeIndicates a .NET Core breaking change

Type

No type

Projects

Status

🔖 Ready

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions