Skip to content

Document .NET 10 OpenSSL 1.1.1 minimum requirement on Unix - #49617

Merged
gewarren merged 4 commits into
mainfrom
copilot/update-openssl-requirement
Nov 5, 2025
Merged

Document .NET 10 OpenSSL 1.1.1 minimum requirement on Unix#49617
gewarren merged 4 commits into
mainfrom
copilot/update-openssl-requirement

Conversation

CopilotAI commented Nov 4, 2025

Copy link
Copy Markdown
Contributor

.NET 10 requires OpenSSL 1.1.1+ on Unix platforms using OpenSSL for cryptography (e.g., Linux). Applications fail to start if an older version is present. macOS is unaffected as it doesn't use OpenSSL.

Changes

  • New breaking change document: docs/core/compatibility/cryptography/10.0/openssl-version-requirement.md

    • Documents behavioral change introduced in .NET 10 GA
    • Previous behavior: Supported OpenSSL 1.0.2, 1.1.0
    • New behavior: Requires OpenSSL 1.1.1+
    • Recommended action: Use Linux/Unix distributions with OpenSSL 1.1.1+
  • Updated navigation: Added entries to toc.yml and 10.0.md index under Cryptography section

Fixes#47072

Original prompt

This section details on the original issue you should resolve

<issue_title>[Breaking change]: .NET 10 requires OpenSSL 1.1.1 or later on Unix</issue_title>
<issue_description>### Description

For platforms where .NET uses OpenSSL for cryptography such as Linux, OpenSSL 1.1.1 or later is required.

.NET 10 on macOS does not use OpenSSL and is not impacted.

Version

.NET 10 GA

Previous behavior

.NET applications supported OpenSSL prior to 1.1.1, such as 1.0.2 or 1.1.0.

New behavior

.NET applications require OpenSSL 1.1.1 or later. If OpenSSL 1.1.1 is not available on a platform that requires it, the application will fail to start.

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

OpenSSL prior to OpenSSL 1.1.1 is outdated and not supported by mainstream Linux or Unix distributions. Supporting these out-of-date OpenSSL increases complexity of maintenance where that effort is better made on supporting modern versions of OpenSSL.

Recommended action

Use a distribution of Unix or Linux that includes OpenSSL 1.1.1 or later.

Feature area

Cryptography

Affected APIs

No response


Associated WorkItem - 503001</issue_description>

Comments on the Issue (you are @copilot in this section)

@vcsjones This needs 👍 from @bartonjs for review. @bartonjs Oh, right, this is more "it's exploding, and we're going to not fix it" than "we deleted all the remaining supporting code in main".

Yeah, LGTM.</comment_new>


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.


Internal previews

📄 File🔗 Preview link
docs/core/compatibility/10.0.mdBreaking changes in .NET 10
docs/core/compatibility/cryptography/10.0/openssl-version-requirement.md.NET 10 requires OpenSSL 1.1.1 or later on Unix
docs/core/compatibility/toc.ymldocs/core/compatibility/toc

Co-authored-by: gewarren <24882762+gewarren@users.noreply.github.com>
CopilotAI changed the title [WIP] Update .NET to require OpenSSL 1.1.1 or laterDocument .NET 10 OpenSSL 1.1.1 minimum requirement on UnixNov 4, 2025
CopilotAI requested a review from gewarrenNovember 4, 2025 23:29
Updated the OpenSSL version requirement documentation for .NET 10, changing the issue link and refining some text for clarity.
Comment threaddocs/core/compatibility/cryptography/10.0/openssl-version-requirement.md Outdated
@gewarren
gewarren marked this pull request as ready for review November 5, 2025 00:41
@gewarren
gewarren requested a review from a team as a code ownerNovember 5, 2025 00:41
CopilotAI review requested due to automatic review settings November 5, 2025 00:41
@gewarren
gewarren enabled auto-merge (squash) November 5, 2025 00:41

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR documents a breaking change in .NET 10 that requires OpenSSL 1.1.1 or later on Unix platforms. The change drops support for older OpenSSL versions like 1.0.2 and 1.1.0.

  • Adds documentation for the OpenSSL version requirement breaking change
  • Updates the table of contents to include the new article
  • Adds entry to the .NET 10 breaking changes index

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.

FileDescription
docs/core/compatibility/cryptography/10.0/openssl-version-requirement.mdNew breaking change article documenting OpenSSL 1.1.1+ requirement
docs/core/compatibility/toc.ymlAdds TOC entry for the new OpenSSL version requirement article
docs/core/compatibility/10.0.mdAdds the breaking change to the .NET 10 breaking changes index

Comment threaddocs/core/compatibility/cryptography/10.0/openssl-version-requirement.md Outdated
Comment threaddocs/core/compatibility/cryptography/10.0/openssl-version-requirement.md Outdated
Comment threaddocs/core/compatibility/cryptography/10.0/openssl-version-requirement.md Outdated
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@gewarren
gewarren merged commit 8d96033 into mainNov 5, 2025
11 checks passed
@gewarren
gewarren deleted the copilot/update-openssl-requirement branch November 5, 2025 00:53
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Breaking change]: .NET 10 requires OpenSSL 1.1.1 or later on Unix [New article]: Capturing CPU and memory metrics using cgroup aware APIs.

5 participants

@vcsjones@bartonjs@gewarren