breaking: drop netstandard2.0, seal ValidationHelper, migrate to TUnit, modernize build#876
Merged
glennawatson merged 6 commits intomainfrom Feb 28, 2026
Merged
breaking: drop netstandard2.0, seal ValidationHelper, migrate to TUnit, modernize build#876glennawatson merged 6 commits intomainfrom
glennawatson merged 6 commits intomainfrom
Conversation
… build infrastructure - Remove netstandard2.0 target aligning with ReactiveUI upstream dependency - Migrate test framework from xUnit to TUnit with Microsoft Testing Platform - Adopt SLNX solution format and Central Package Management - Add net481 to .NET Framework targets - Update NuGet dependencies to latest (Microsoft.Testing.Extensions.CodeCoverage pinned at 18.4.1 due to code coverage regression) - Relocate samples and tests under src/ for unified build - Replace verbose null-check blocks with ArgumentExceptionHelper using CallerArgumentExpression - Use C# field keyword for auto-properties replacing manual backing fields - Seal internal classes and remove provably unreachable defensive code - Add Polyfill package for downlevel framework support - Achieve 99.2% line coverage, 98.1% branch coverage, 100% method coverage
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #876 +/- ##
===========================================
+ Coverage 71.65% 99.38% +27.73%
===========================================
Files 21 21
Lines 709 650 -59
Branches 151 107 -44
===========================================
+ Hits 508 646 +138
+ Misses 119 0 -119
+ Partials 82 4 -78 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
- Bump version to 7.0 for breaking netstandard2.0 removal - Align release workflow with Splat/ReactiveUI (workflow_dispatch, eSigner, OIDC NuGet publishing, auto GitHub release) - Remove build-samples workflow (samples now build via main SLNX) - Remove redundant configuration from ci-build workflow - Update README badges to link to CI workflow and add license/stars/good-first-issue - Add supported platforms table to README - Remove deprecated Xamarin.Android support package references from README
…n path - Seal ValidationHelper (no meaningful subclass scenarios exist) - Simplify ValidationHelper.Dispose now that virtual dispatch is unnecessary - Add test covering ExpressionExtensions.GetPropertyPath with static member expressions - Update API approval verified files
|
This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Breaking Changes
Supported Target Frameworks
Test Coverage
Remaining uncovered lines are in legitimately reachable but hard-to-trigger paths (view property setter exceptions, chained property expressions). Provably unreachable defensive code was removed rather than left as dead code.
Maintainer Notes
.slnfile (ReactiveUI.Validation.slnx). Samples now contained in the main slnx file and moved from/samples.Directory.Packages.props- all package versions are managed centrally..verified.txtfiles when the public API surface changes.Other Changes
src/for unified buildArgumentExceptionHelperusingCallerArgumentExpressionfieldkeyword for auto-propertiesSingleValidationText,ArrayValidationText,ReadOnlyDisposableCollection<T>)BasePropertyValidationPolyfillpackage for downlevel framework supportcodecov.ymlconfigurationCLAUDE.mdwith build, test, and architecture reference