-
-
Notifications
You must be signed in to change notification settings - Fork 10
feat: add support for .NET 10 #837
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Test Results 52 files + 15 52 suites +15 30m 56s ⏱️ + 9m 46s Results for commit 7e1b012. ± Comparison against base commit dc6eee1. This pull request removes 36453 and adds 54913 tests. Note that renamed tests count towards both.This pull request removes 1784 skipped tests and adds 2659 skipped tests. Note that renamed tests count towards both.♻️ This comment has been updated with latest results. |
540df20 to
af5ab32
Compare
There was a problem hiding this 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 adds support for .NET 10 by upgrading the .NET SDK version and integrating new .NET 10 features across the codebase. The changes include updating build configurations, feature flags, test frameworks, and implementing new APIs introduced in .NET 10.
Key Changes
- Upgraded .NET SDK from 9.0.304 to 10.0.100-preview.7 and added .NET 10 target framework support
- Added new .NET 10 feature flags for UTF-8 GUID parsing, random string generation, and async compression operations
- Implemented new API methods for random string generation (
GetHexString,GetString) and UTF-8 GUID parsing - Updated build pipeline and CI/CD workflows to include .NET 10 support
Reviewed Changes
Copilot reviewed 49 out of 49 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| global.json | Updated .NET SDK version to 10.0.100-preview.7 |
| Feature.Flags.props | Added .NET 10 feature flags for new APIs |
| Source/Directory.Build.props | Added net10.0 target framework and switched to preview language version |
| Tests/Directory.Build.props | Added net10.0 to test target frameworks |
| Pipeline/Build.cs | Modified build pipeline targets for packaging |
| .github/workflows/*.yml | Updated CI/CD workflows to include .NET 10 SDK |
| Tests/Testably.Abstractions.Tests/RandomSystem/RandomTests.cs | Added comprehensive tests for new random string generation features |
| Tests/Testably.Abstractions.Tests/RandomSystem/GuidTests.cs | Added tests for new UTF-8 GUID parsing capabilities and reorganized existing tests |
| Source/Testably.Abstractions.Interface/RandomSystem/IRandom.cs | Added interface definitions for new random string methods |
| Source/Testably.Abstractions.Interface/RandomSystem/IGuid.cs | Added interface definitions for UTF-8 GUID parsing methods |
| Source/Testably.Abstractions.Interface/Helpers/*.cs | Implemented new random and GUID methods in wrapper classes |
| Source/Testably.Abstractions.Testing/RandomSystem/RandomMock.cs | Added mock implementations for new random string generation |
| Source/Testably.Abstractions.Compression/*.cs | Added async compression methods and interfaces |
| Tests/Api/*.txt | Updated API baselines for .NET 10 compatibility |
vbreuss
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wait for .NET 10 Release (estimated November 2025)
|
|
||
| <PropertyGroup> | ||
| <LangVersion>latest</LangVersion> | ||
| <LangVersion>preview</LangVersion> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wait for .NET 10 Release (estimated November 2025) and revert it back to:
| <LangVersion>preview</LangVersion> | |
| <LangVersion>latest</LangVersion> |
|
|
||
| <PropertyGroup> | ||
| <LangVersion>latest</LangVersion> | ||
| <LangVersion>preview</LangVersion> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wait for .NET 10 Release (estimated November 2025) and revert it back to:
| <LangVersion>preview</LangVersion> | |
| <LangVersion>latest</LangVersion> |
91a52b2 to
c83ddd2
Compare
c83ddd2 to
7e1b012
Compare
|



This PR adds support for .NET 10 by upgrading the .NET SDK version and integrating new .NET 10 features across the codebase. The changes include updating build configurations, feature flags, test frameworks, and implementing new APIs introduced in .NET 10.
Key Changes
Added .NET 10 target framework support and new .NET 10 feature flags for UTF-8 GUID parsing, random string generation, and async compression operations
Implemented new API methods for random string generation
IRandom.GetHexString(int, bool)IRandom.GetHexString(Span<char>, bool)IRandom.GetString(ReadOnlySpan<char>, int)for UTF-8 GUID parsing
Guid.Parse(ReadOnlySpan<byte>)Guid.Parse(ReadOnlySpan<byte>, IFormatProvider)Guid.TryParse(ReadOnlySpan<byte>, out Guid)Guid.TryParse(ReadOnlySpan<byte>, IFormatProvider, out Guid)and the async compression operations
IZipArchive.CreateEntryFromFileAsync(string, string, CancellationToken)IZipArchive.CreateEntryFromFileAsync(string, string, CompressionLevel, CancellationToken)IZipArchive.ExtractToDirectoryAsync(string, CancellationToken)IZipArchive.ExtractToDirectoryAsync(string, bool, CancellationToken)IZipArchiveEntry.ExtractToFileAsync(string, CancellationToken)IZipArchiveEntry.ExtractToFileAsync(string, bool, CancellationToken)IZipArchiveEntry.OpenAsync(CancellationToken)IZipFile.CreateFromDirectoryAsync(string, Stream, CancellationToken)IZipFile.CreateFromDirectoryAsync(string, Stream, CompressionLevel , bool, CancellationToken)IZipFile.CreateFromDirectoryAsync(string, Stream, CompressionLevel , bool, Encoding, CancellationToken)IZipFile.CreateFromDirectoryAsync(string, string, CancellationToken)IZipFile.CreateFromDirectoryAsync(string, string, CompressionLevel , bool, CancellationToken)IZipFile.CreateFromDirectoryAsync(string, string, CompressionLevel , bool, Encoding, CancellationToken)IZipFile.ExtractToDirectoryAsync(Stream, string, CancellationToken)IZipFile.ExtractToDirectoryAsync(Stream, string, bool, CancellationToken)IZipFile.ExtractToDirectoryAsync(Stream, string, Encoding, CancellationToken)IZipFile.ExtractToDirectoryAsync(Stream, string, Encoding, bool, CancellationToken)IZipFile.ExtractToDirectoryAsync(string, string, CancellationToken)IZipFile.ExtractToDirectoryAsync(string, string, bool, CancellationToken)IZipFile.ExtractToDirectoryAsync(string, string, Encoding, CancellationToken)IZipFile.ExtractToDirectoryAsync(string, string, Encoding, bool, CancellationToken)IZipFile.OpenAsync(string, ZipArchiveMode, CancellationToken)IZipFile.OpenAsync(string, ZipArchiveMode, Encoding?, CancellationToken)IZipFile.OpenReadAsync(string, CancellationToken)Added tests for the new features
Updated build pipeline and CI/CD workflows to include .NET 10 support