Conversation
|
Important Review skippedToo many files! This PR contains 178 files, which is 28 over the limit of 150. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (178)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment Tip CodeRabbit can scan for known vulnerabilities in your dependencies using OSV Scanner.OSV Scanner will automatically detect and report security vulnerabilities in your project's dependencies. No additional configuration is required. |
| catch (Exception e) | ||
| { | ||
| if (message?.Equals("{0} are not in a valid state.", StringComparison.Ordinal) ?? false) { message = string.Format(CultureInfo.InvariantCulture, message, Patterns.InvokeOrDefault(() => Decorator.Enclose(typeof(TOptions)).ToFriendlyName(), "Options")); } | ||
| if (message?.Equals("{0} are not in a valid state.", StringComparison.Ordinal) ?? false) { message = string.Format(CultureInfo.InvariantCulture, message, Patterns.InvokeOrDefault(() => ToFriendlyTypeName(typeof(TOptions)), "Options")); } |
| [Fact] | ||
| public async Task AsyncOptions_ShouldThrow_OperationCanceledException() | ||
| { | ||
| var cts = new CancellationTokenSource(); |
| public async Task RunUntilSuccessfulOrTimeoutAsync_ShouldReturnUnsuccessfulWithSingleException() | ||
| { | ||
| // Arrange | ||
| var cts = new CancellationTokenSource(); |
| var result = sut.Add(typeof(double), converter); | ||
|
|
||
| Assert.Same(sut, result); | ||
| Assert.True(sut.ContainsKey(typeof(double))); |
| foreach (var character in characters) | ||
| { | ||
| if (argument.IndexOf(character.ToString(), comparison) >= 0) { return true; } | ||
| } |
| where TCatcher : MutableTuple<Exception> | ||
| { | ||
| TResult result = null; | ||
| TResult initialized = null; |
|
|
||
| protected override void OnDisposeUnmanagedResources() | ||
| { | ||
| Interlocked.Increment(ref UnmanagedDisposeCount); |
There was a problem hiding this comment.
Pull request overview
This PR introduces the new Cuemon.Kernel foundational assembly and bumps the ecosystem to v10.5.0, primarily by upgrading dependencies and preserving backward compatibility via type forwarding from Cuemon.Core to Cuemon.Kernel. It also updates documentation, docfx configuration, and release-note tooling/formatting.
Changes:
- Added
Cuemon.Kernel(new project) +Cuemon.Kernel.Tests, and updatedCuemon.Coreto reference Kernel and forward moved public types via[TypeForwardedTo]. - Upgraded shared package/dependency versions and refreshed package/assembly release notes + changelog entry for 10.5.0.
- Updated documentation/readmes (including NuGet package readmes) and build/doc tooling (docfx + release-notes MSBuild target).
Reviewed changes
Copilot reviewed 147 out of 178 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| testenvironments.json | Updates docker test runners, adding net9/net10 images. |
| test/Cuemon.Resilience.Tests/TransientFaultExceptionTest.cs | Normalizes file header/encoding (BOM removal). |
| test/Cuemon.Kernel.Tests/UnsuccessfulValueTest.cs | Adds assertions around Failure being null on unsuccessful results. |
| test/Cuemon.Kernel.Tests/TypeArgumentOutOfRangeExceptionTest.cs | Adds unit tests for TypeArgumentOutOfRangeException. |
| test/Cuemon.Kernel.Tests/TypeArgumentExceptionTest.cs | Adds unit tests for TypeArgumentException. |
| test/Cuemon.Kernel.Tests/Threading/AwaiterTest.cs | Adds unit tests for Awaiter.RunUntilSuccessfulOrTimeoutAsync. |
| test/Cuemon.Kernel.Tests/Threading/AsyncOptionsTest.cs | Adds unit tests for AsyncOptions. |
| test/Cuemon.Kernel.Tests/SuccessfulValueTest.cs | Adds assertions around Failure being null on successful results. |
| test/Cuemon.Kernel.Tests/FinalizeDisposableTest.cs | Adds tests for finalizer-based disposal behavior. |
| test/Cuemon.Kernel.Tests/DisposableTest.cs | Adds tests for disposal semantics and thread-safety. |
| test/Cuemon.Kernel.Tests/DisposableOptionsTest.cs | Adds tests for DisposableOptions. |
| test/Cuemon.Kernel.Tests/DecoratorTest.cs | Adds tests for Decorator APIs. |
| test/Cuemon.Kernel.Tests/Cuemon.Kernel.Tests.csproj | New test project for Kernel with RootNamespace set to Cuemon. |
| test/Cuemon.Kernel.Tests/Collections/Generic/ArgumentsTest.cs | Adds tests for moved/fixed Arguments helpers. |
| test/Cuemon.Kernel.Tests/Assets/VerticalDirection.cs | Adds test asset enum. |
| test/Cuemon.Kernel.Tests/Assets/ValidatableOptions.cs | Adds validatable options test double. |
| test/Cuemon.Kernel.Tests/Assets/PostConfigurableOptions.cs | Adds post-configurable options test double. |
| test/Cuemon.Kernel.Tests/Assets/FailPostConfigurableOptions.cs | Adds failing post-configurable options test double. |
| test/Cuemon.Kernel.Tests/Assets/EssentialOptions.cs | Adds non-validatable options test double. |
| test/Cuemon.Kernel.Tests/Assets/DisposableTestDoubles.cs | Adds disposable-related test doubles used by disposal tests. |
| test/Cuemon.Kernel.Tests/Assets/AsyncEncodingOptions.cs | Adds async options test double for encoding options. |
| test/Cuemon.Kernel.Tests/ArgumentReservedKeywordExceptionTest.cs | Adds tests for ArgumentReservedKeywordException. |
| test/Cuemon.Core.Tests/TypeForwardingTest.cs | Adds test verifying Core forwards Kernel’s public types. |
| test/Cuemon.Core.Tests/Resilience/TransientFaultExceptionTest.cs | Adds/updates tests around TransientFaultException behavior. |
| test/Cuemon.Core.Tests/ConditionTest.cs | Removes old Condition test (moved coverage to Kernel/tests). |
| src/Cuemon.Kernel/UriScheme.cs | Normalizes file header/encoding and keeps UriScheme in Kernel. |
| src/Cuemon.Kernel/UnsuccessfulValue.cs | Adds UnsuccessfulValue result types to Kernel. |
| src/Cuemon.Kernel/TypeArgumentOutOfRangeException.cs | Adds TypeArgumentOutOfRangeException to Kernel. |
| src/Cuemon.Kernel/TypeArgumentException.cs | Adds TypeArgumentException to Kernel. |
| src/Cuemon.Kernel/Threading/IAsyncOptions.cs | Normalizes file header/encoding for async options interface. |
| src/Cuemon.Kernel/Threading/Awaiter.cs | Adds retry-until-success-or-timeout async helper. |
| src/Cuemon.Kernel/Threading/AsyncRunOptions.cs | Adds options for timeout/delay retries. |
| src/Cuemon.Kernel/Threading/AsyncOptions.cs | Adds async options base with cancellation token/provider. |
| src/Cuemon.Kernel/Text/UriStringOptions.cs | Updates docs to refer to configurable parsers in Kernel. |
| src/Cuemon.Kernel/Text/ProtocolRelativeUriStringOptions.cs | Updates docs to refer to configurable parsers in Kernel. |
| src/Cuemon.Kernel/Text/PreambleSequence.cs | Adds enum describing preamble/BOM handling preference. |
| src/Cuemon.Kernel/Text/IParser.cs | Normalizes file header/encoding for parser contracts. |
| src/Cuemon.Kernel/Text/IEncodingOptions.cs | Adds encoding-options abstraction interface. |
| src/Cuemon.Kernel/Text/IConfigurableParser.cs | Normalizes file header/encoding for configurable parser contracts. |
| src/Cuemon.Kernel/Text/FallbackEncodingOptions.cs | Adds fallback encoding options with target encoding enforcement. |
| src/Cuemon.Kernel/Text/EnumStringOptions.cs | Updates docs and adds missing System import for Enum. |
| src/Cuemon.Kernel/Text/EncodingOptions.cs | Normalizes file header/encoding. |
| src/Cuemon.Kernel/SuccessfulValue.cs | Adds SuccessfulValue result types to Kernel. |
| src/Cuemon.Kernel/Runtime/CompilerServices/CallerArgumentExpressionAttribute.cs | Adds polyfill for older TFMs. |
| src/Cuemon.Kernel/IDecorator.cs | Adds decorator abstraction to Kernel. |
| src/Cuemon.Kernel/GuidFormats.cs | Adds GUID parsing format flags enum. |
| src/Cuemon.Kernel/FinalizeDisposable.cs | Adds finalizer-based disposable base type. |
| src/Cuemon.Kernel/Extensions/IO/StreamDecoratorExtensions.cs | Improves XML docs/remarks for stream decorator extensions. |
| src/Cuemon.Kernel/Endianness.cs | Adds endian enum to Kernel. |
| src/Cuemon.Kernel/EndianOptions.cs | Adds endian options type. |
| src/Cuemon.Kernel/DisposableOptions.cs | Adds disposable options type. |
| src/Cuemon.Kernel/Disposable.cs | Adds thread-safe disposable base pattern with Lock on net9+. |
| src/Cuemon.Kernel/Cuemon.Kernel.csproj | New Kernel project definition and package metadata. |
| src/Cuemon.Kernel/ConvertibleOptions.cs | Adds options for conversion infrastructure. |
| src/Cuemon.Kernel/Configuration/IValidatableParameterObject.cs | Adds validation contract for parameter objects. |
| src/Cuemon.Kernel/Configuration/IPostConfigurableParameterObject.cs | Adds post-configure contract for parameter objects. |
| src/Cuemon.Kernel/Configuration/IParameterObject.cs | Adds marker interface for parameter objects. |
| src/Cuemon.Kernel/ConditionalValue.cs | Adds base conditional result types (success/failure + optional result). |
| src/Cuemon.Kernel/Collections/Generic/Arguments.cs | Adds/fixes Arguments helpers in Kernel. |
| src/Cuemon.Kernel/CasingMethod.cs | Normalizes file header/encoding. |
| src/Cuemon.Kernel/ArgumentReservedKeywordException.cs | Adds reserved keyword argument exception. |
| src/Cuemon.Kernel/Alphanumeric.cs | Normalizes file header/encoding. |
| src/Cuemon.Core/Properties/AssemblyInfo.cs | Adds [TypeForwardedTo] list to preserve Core public API after move to Kernel. |
| src/Cuemon.Core/DelimitedString.cs | Improves XML docs for Split. |
| src/Cuemon.Core/Cuemon.Core.csproj | Updates package metadata + adds project reference to Kernel. |
| src/Cuemon.Core/Collections/Generic/Arguments.cs | Removes old Arguments implementation (moved to Kernel). |
| Directory.Packages.props | Updates shared dependency versions. |
| Directory.Build.targets | Simplifies release-notes injection using File.ReadAllText. |
| Cuemon.slnx | Adds Kernel and Kernel tests projects to solution. |
| CHANGELOG.md | Adds 10.5.0 entry describing Kernel introduction and related changes. |
| .nuget/Cuemon.Xml/README.md | Adds Kernel to related packages list. |
| .nuget/Cuemon.Threading/README.md | Adds Kernel to related packages list. |
| .nuget/Cuemon.Security.Cryptography/README.md | Adds Kernel to related packages list. |
| .nuget/Cuemon.Runtime.Caching/README.md | Adds Kernel to related packages list. |
| .nuget/Cuemon.Runtime.Caching/PackageReleaseNotes.txt | Adds 10.5.0 release notes block. |
| .nuget/Cuemon.Resilience/README.md | Adds Kernel to related packages list. |
| .nuget/Cuemon.Resilience/PackageReleaseNotes.txt | Adds 10.5.0 release notes block. |
| .nuget/Cuemon.Net/README.md | Adds Kernel to related packages list. |
| .nuget/Cuemon.Net/PackageReleaseNotes.txt | Adds 10.5.0 release notes block. |
| .nuget/Cuemon.Kernel/README.md | Adds new NuGet README for Kernel package. |
| .nuget/Cuemon.Kernel/PackageReleaseNotes.txt | Adds new Kernel package release notes. |
| .nuget/Cuemon.IO/README.md | Adds Kernel to related packages list. |
| .nuget/Cuemon.Extensions.Xml/README.md | Adds Kernel to related packages list. |
| .nuget/Cuemon.Extensions.Threading/README.md | Adds Kernel to related packages list. |
| .nuget/Cuemon.Extensions.Text/README.md | Adds Kernel to related packages list. |
| .nuget/Cuemon.Extensions.Text/PackageReleaseNotes.txt | Adds 10.5.0 release notes block. |
| .nuget/Cuemon.Extensions.Text.Json/README.md | Adds Kernel to related packages list. |
| .nuget/Cuemon.Extensions.Runtime.Caching/README.md | Adds Kernel to related packages list. |
| .nuget/Cuemon.Extensions.Runtime.Caching/PackageReleaseNotes.txt | Adds 10.5.0 release notes block. |
| .nuget/Cuemon.Extensions.Reflection/README.md | Adds Kernel to related packages list. |
| .nuget/Cuemon.Extensions.Reflection/PackageReleaseNotes.txt | Adds 10.5.0 release notes block. |
| .nuget/Cuemon.Extensions.Net/README.md | Adds Kernel to related packages list. |
| .nuget/Cuemon.Extensions.Net/PackageReleaseNotes.txt | Adds 10.5.0 release notes block. |
| .nuget/Cuemon.Extensions.IO/README.md | Adds Kernel to related packages list. |
| .nuget/Cuemon.Extensions.Hosting/README.md | Adds Kernel to related packages list. |
| .nuget/Cuemon.Extensions.Diagnostics/README.md | Adds Kernel to related packages list. |
| .nuget/Cuemon.Extensions.DependencyInjection/README.md | Adds Kernel to related packages list. |
| .nuget/Cuemon.Extensions.Data/README.md | Adds Kernel to related packages list. |
| .nuget/Cuemon.Extensions.Data/PackageReleaseNotes.txt | Adds 10.5.0 release notes block. |
| .nuget/Cuemon.Extensions.Data.Integrity/README.md | Adds Kernel to related packages list. |
| .nuget/Cuemon.Extensions.Data.Integrity/PackageReleaseNotes.txt | Adds 10.5.0 release notes block. |
| .nuget/Cuemon.Core/README.md | Updates Core package description and adds Kernel link. |
| .nuget/Cuemon.Core.App/README.md | Adds Kernel to related packages list. |
| .nuget/Cuemon.AspNetCore/README.md | Adds Kernel to related packages list. |
| .nuget/Cuemon.AspNetCore.Razor.TagHelpers/README.md | Adds Kernel to related packages list. |
| .nuget/Cuemon.AspNetCore.Razor.TagHelpers/PackageReleaseNotes.txt | Adds 10.5.0 release notes block. |
| .nuget/Cuemon.AspNetCore.Mvc/README.md | Adds Kernel to related packages list. |
| .nuget/Cuemon.AspNetCore.Mvc/PackageReleaseNotes.txt | Adds 10.5.0 release notes block. |
| .nuget/Cuemon.AspNetCore.Authentication/README.md | Adds Kernel to related packages list. |
| .nuget/Cuemon.AspNetCore.App/README.md | Adds Kernel to related packages list. |
| .nuget/Cuemon.AspNetCore.App/PackageReleaseNotes.txt | Adds 10.5.0 release notes block. |
| .github/prompts/nuget.prompt.md | Tightens per-file processing/whitespace handling rules. |
| .github/prompts/nuget-pouplate.prompt.md | Removes NBSP spacer-line requirements from transformation rules. |
| .docfx/docfx.json | Includes Kernel csproj in documentation build inputs. |
| Assert.Equal(sut.CancellationToken, CancellationToken.None); | ||
| } |
| [Fact] | ||
| public void ThrowIfContainsTypeOverloads_ShouldCoverObjectGenericAndTypeBranches() | ||
| { | ||
| Validator.ThrowIfContainsType(new MemoryStream(), new[] { typeof(string) }, "custom", "objectParam"); |
| Validator.ThrowIfContainsType(new MemoryStream(), new[] { typeof(string) }, "custom", "objectParam"); | ||
| Validator.ThrowIfContainsType<MemoryStream>("typeParamName", typeof(string)); | ||
| Validator.ThrowIfContainsType<MemoryStream>("typeParamName", "custom", typeof(string)); | ||
| Validator.ThrowIfNotContainsType(new MemoryStream(), new[] { typeof(Stream) }, "custom", "objectParam"); |
|
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #156 +/- ##
==========================================
+ Coverage 80.77% 82.30% +1.53%
==========================================
Files 602 602
Lines 19038 19157 +119
Branches 1967 2004 +37
==========================================
+ Hits 15377 15767 +390
+ Misses 3593 3328 -265
+ Partials 68 62 -6 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|



This pull request introduces a new release (version 10.5.0) for several Cuemon.AspNetCore packages, with the primary change being the upgrade of dependencies to their latest compatible versions for all supported target frameworks. Additionally, Cuemon.Kernel is now referenced in documentation and build configuration. There are also adjustments to internal prompt and changelog formatting rules.
Dependency upgrades and release notes:
Cuemon.AspNetCore.App,Cuemon.AspNetCore.Authentication,Cuemon.AspNetCore.Mvc, andCuemon.AspNetCore.Razor.TagHelperspackages to version 10.5.0, and added release notes indicating that dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs). [1] [2] [3]Documentation and build configuration:
Cuemon.Kernelreferences to documentation inREADME.mdfiles for all affected packages, highlighting its availability and linking to NuGet. [1] [2] [3] [4]Cuemon.Kernel/**.csprojin the docfx build configuration to ensure documentation coverage for the new package. (.docfx/docfx.json)Prompt and changelog formatting rules:
These changes collectively ensure that the packages are up-to-date, documentation is comprehensive, and internal tooling for changelog generation is more robust.