Skip to content

Conversation

@idg10
Copy link
Collaborator

@idg10 idg10 commented Nov 11, 2025

Resolves #2248

Fix discrepancies in various [Obsolete...] attributes.

Add release notes

Add readme to System.Linq.Async

In some cases, the new System.Linq.AsyncEnumerable simply doesn't supply equivalents to the projection-based overloads we've always offered. And in some of these cases we were directing people to recreate the functionality with Select, when in fact we continue to offer equivalent functionality in System.Interactive.Async

Also reinstated some operations that got left out.

#2248
@idg10 idg10 added this to the Ix 7.0 milestone Nov 11, 2025
@idg10 idg10 self-assigned this Nov 11, 2025
Since the v7 release is entirely about accommodating the move to System.Linq.AsyncEnumerable, we don't really want to change anything else, so all the other packages will keep the same TFMs in this version
@idg10 idg10 marked this pull request as ready for review November 11, 2025 09:53
@idg10 idg10 requested a review from Copilot November 11, 2025 11:10
Copilot finished reviewing on behalf of idg10 November 11, 2025 11:11
Copy link

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 prepares Ix.NET for the v7 release, which deprecates System.Linq.Async in favor of .NET's new System.Linq.AsyncEnumerable. The key changes update target frameworks, improve obsolescence messaging, and add documentation to guide users through the transition.

  • Target framework changed from net8.0 to net6.0 across multiple projects
  • Obsolete attribute messages updated to provide clearer migration guidance
  • README added to System.Linq.Async package warning users about deprecation
  • Release notes document added explaining the transition and rationale

Reviewed Changes

Copilot reviewed 21 out of 21 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
System.Interactive.csproj Changed target framework from net8.0 to net6.0
System.Interactive.Providers.csproj Changed target framework from net8.0 to net6.0
System.Interactive.Async.csproj Added net6.0 to target frameworks list
System.Interactive.Async.Providers.csproj Changed target framework from net8.0 to net6.0
System.Interactive/System.Interactive.csproj (refs) Changed target framework from net8.0 to net6.0
System.Interactive.Providers/System.Interactive.Providers.csproj (refs) Changed target framework from net8.0 to net6.0
All.cs Fixed typo in obsolete message: "All" → "AllAsync"
Sum.Generated.tt, Sum.Generated.cs Updated obsolete messages to reference System.Interactive.Async with clearer guidance
Average.Generated.tt, Average.Generated.cs Updated obsolete messages to reference System.Interactive.Async with clearer guidance
OrderedAsyncEnumerable.cs, OrderBy.cs Adjusted preprocessor directives for conditional compilation
ApiApprovalTests.*.verified.cs Updated API verification files to reflect net6.0 target framework changes
NuGet.Readme.md Added deprecation notice for System.Linq.Async package
System.Linq.Async.csproj Added package readme file reference
Ix.v7.md Added comprehensive release notes explaining the v7 changes

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@idg10 idg10 merged commit a35a174 into main Nov 11, 2025
11 checks passed
@idg10 idg10 deleted the feature/ix7-release-prep branch November 11, 2025 11:26
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.

Ensure Ix-only AverageAsync etc correctly resolved

4 participants