Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 4, 2025

.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.md Breaking 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.yml docs/core/compatibility/toc

Co-authored-by: gewarren <24882762+gewarren@users.noreply.github.com>
Copilot AI changed the title [WIP] Update .NET to require OpenSSL 1.1.1 or later Document .NET 10 OpenSSL 1.1.1 minimum requirement on Unix Nov 4, 2025
Copilot AI requested a review from gewarren November 4, 2025 23:29
Copilot finished work on behalf of gewarren November 4, 2025 23:29
Updated the OpenSSL version requirement documentation for .NET 10, changing the issue link and refining some text for clarity.
@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 owner November 5, 2025 00:41
Copilot AI review requested due to automatic review settings November 5, 2025 00:41
@gewarren gewarren enabled auto-merge (squash) November 5, 2025 00:41
Copy link
Contributor

Copilot AI left a comment

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.

File Description
docs/core/compatibility/cryptography/10.0/openssl-version-requirement.md New breaking change article documenting OpenSSL 1.1.1+ requirement
docs/core/compatibility/toc.yml Adds TOC entry for the new OpenSSL version requirement article
docs/core/compatibility/10.0.md Adds the breaking change to the .NET 10 breaking changes index

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@gewarren gewarren merged commit 8d96033 into main Nov 5, 2025
11 checks passed
@gewarren gewarren deleted the copilot/update-openssl-requirement branch November 5, 2025 00:53
Sign up for free to 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.

4 participants