Skip to content

V11.0.10/service update#61

Merged
gimlichael merged 16 commits into
mainfrom
v11.0.10/service-update
May 21, 2026
Merged

V11.0.10/service update#61
gimlichael merged 16 commits into
mainfrom
v11.0.10/service-update

Conversation

@codebelt-aicia
Copy link
Copy Markdown
Contributor

This is a service update that focuses on package dependencies.

Automated changes:

  • Codebelt/Cuemon package versions bumped to latest compatible
  • PackageReleaseNotes.txt updated for v11.0.10
  • CHANGELOG.md entry added for v11.0.10

Note: Third-party packages (Microsoft.Extensions.*, BenchmarkDotNet, etc.) are not auto-updated.
Use Dependabot or manual updates for those.

Generated by codebelt-aicia
Triggered by: cuemon @ 10.5.2

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented May 20, 2026

Greptile Summary

This PR updates Cuemon/Codebelt package dependencies to 10.5.2 and bumps several third-party packages, while simultaneously refactoring all 121 changed files from block-scoped to file-scoped C# namespaces and adding new xUnit test coverage for ASP.NET Core hosting fixtures.

  • Dependency bumps: Cuemon.Core/Extensions 10.5.1→10.5.2, Microsoft.Extensions.*/AspNetCore.TestHost for both net9 (9.0.15→9.0.16) and net10/netstandard2 (10.0.6→10.0.8), coverlet 10.0.0→10.0.1, Microsoft.NET.Test.Sdk 18.4.0→18.5.1, NGINX 1.30.0→1.31.0-alpine.
  • Namespace refactor: All source, test, and tooling files converted from block-scoped to file-scoped namespaces; AGENTS.md and copilot-instructions.md rules updated to mandate this style going forward.
  • New tests: Five new test classes added for BlockingManagedWebHostFixture, SelfManagedWebHostFixture, SelfManagedWebMinimalHostFixture, HostBuilderApplicationExtensions, and FakeHttpResponseFeature; all correctly use file-scoped namespaces.

Confidence Score: 5/5

Safe to merge — all changes are mechanical namespace reformatting, dependency version bumps, and additive test coverage with no logic alterations.

The namespace refactor is purely cosmetic with no behavioral change; dependency bumps are minor patch increments; the five new test files are strictly additive and follow the newly mandated file-scoped namespace style.

.github/copilot-instructions.md has a minor indentation inconsistency in the Section 6 code example after the namespace conversion.

Important Files Changed

Filename Overview
Directory.Packages.props Package version bumps: Cuemon.Core/Extensions 10.5.1→10.5.2, Microsoft.Extensions.*/AspNetCore.TestHost for net9 (9.0.15→9.0.16) and net10/netstandard2 (10.0.6→10.0.8), coverlet 10.0.0→10.0.1, Microsoft.NET.Test.Sdk 18.4.0→18.5.1; file now missing trailing newline (already flagged in a previous thread).
.github/copilot-instructions.md Updated all code examples to file-scoped namespace style; the method body in the Section 6 full example retains 8-space indentation from the old block-scoped form while the constructor above it correctly uses 4-space indentation — inconsistent indentation in the documentation example.
AGENTS.md Namespace style rule updated from 'prefer file-scoped for new files' to 'always file-scoped, never block-scoped' — aligns with the codebase refactor in this PR.
CHANGELOG.md 11.0.10 entry added; reference-style version links added at the bottom for all 11.x versions, enabling clickable version headers.
src/Codebelt.Extensions.Xunit.Hosting.AspNetCore/Http/Features/FakeHttpResponseFeature.cs Converted from block-scoped to file-scoped namespace; no logic changes — implementation identical to previous version.
test/Codebelt.Extensions.Xunit.Hosting.AspNetCore.Tests/Http/Features/FakeHttpResponseFeatureTest.cs New test file; correctly uses file-scoped namespace; covers first-call invocation, subsequent-call suppression, and null-callback safety of FakeHttpResponseFeature.OnStarting.
test/Codebelt.Extensions.Xunit.Hosting.AspNetCore.Tests/BlockingManagedWebHostFixtureTest.cs New test file; uses file-scoped namespace correctly; validates that WebHostTestFactory.Create succeeds with BlockingManagedWebHostFixture.
test/Codebelt.Extensions.Xunit.Hosting.AspNetCore.Tests/SelfManagedWebMinimalHostFixtureTest.cs New test file; uses file-scoped namespace correctly; verifies Host and Application are non-null when SelfManagedWebMinimalHostFixture is used.
src/Codebelt.Extensions.Xunit.Hosting/HostFixture.cs Converted from block-scoped to file-scoped namespace; no logic changes.
.docfx/Dockerfile.docfx NGINX base image bumped from 1.30.0-alpine to 1.31.0-alpine.
tooling/benchmark-runner/Program.cs Converted to file-scoped namespace; Program class made static (appropriate since it only contains static members); BOM character removed.
Prompt To Fix All With AI
Fix the following 1 code review issue. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 1
.github/copilot-instructions.md:103-131
**Inconsistent indentation in the Section 6 code example after namespace conversion**

The constructor block was correctly dedented to 4 spaces, but the `[Fact]` attribute and the full method body immediately below it still use 8-space indentation from the old block-scoped form. A developer copying this example would produce a file where the constructor and method members sit at different indent levels, directly contradicting the file-scoped namespace style the instructions mandate.

Reviews (4): Last reviewed commit: "🔧 fix constructor parameter type in Hos..." | Re-trigger Greptile

Comment thread Directory.Packages.props Outdated
Standardized line endings and whitespace formatting across Directory.Packages.props and all PackageReleaseNotes.txt files for consistency.
Updated the release date for version 11.0.10 to reflect current date.
Updated example code in the README to use ManagedHostFixture and correct service provider access pattern. Also fixed reference link to a real test example.
Updated the NGINX version used in the documentation build Dockerfile to the latest stable Alpine-based version.
Updated GitHub links in package READMEs to point to the codebeltnet organization namespace instead of the personal gimlichael account.
@codecov
Copy link
Copy Markdown

codecov Bot commented May 21, 2026

Codecov Report

❌ Patch coverage is 96.13402% with 30 lines in your changes missing coverage. Please review.
✅ Project coverage is 95.68%. Comparing base (f97f193) to head (ed19a25).

Files with missing lines Patch % Lines
...Hosting.AspNetCore/Http/FakeHttpContextAccessor.cs 90.32% 3 Missing ⚠️
...c/Codebelt.Extensions.Xunit.Hosting/HostFixture.cs 94.91% 2 Missing and 1 partial ⚠️
...debelt.Extensions.Xunit.Hosting/XunitTestLogger.cs 91.42% 3 Missing ⚠️
src/Codebelt.Extensions.Xunit/Test.cs 95.08% 3 Missing ⚠️
....Hosting.AspNetCore/Internal/MinimalWebHostTest.cs 95.23% 0 Missing and 2 partials ⚠️
...s.Xunit.Hosting.AspNetCore/Internal/WebHostTest.cs 95.55% 0 Missing and 2 partials ⚠️
...belt.Extensions.Xunit.Hosting/Internal/HostTest.cs 93.75% 0 Missing and 2 partials ⚠️
...tensions.Xunit.Hosting/Internal/MinimalHostTest.cs 93.10% 0 Missing and 2 partials ⚠️
...ebelt.Extensions.Xunit.Hosting/LoggerExtensions.cs 93.54% 2 Missing ⚠️
...Extensions.Xunit.Hosting/SelfManagedHostFixture.cs 0.00% 2 Missing ⚠️
... and 4 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #61      +/-   ##
==========================================
+ Coverage   94.58%   95.68%   +1.09%     
==========================================
  Files          46       46              
  Lines         942      950       +8     
  Branches      124      115       -9     
==========================================
+ Hits          891      909      +18     
+ Misses         42       32      -10     
  Partials        9        9              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

aicia-bot added 7 commits May 21, 2026 22:16
Added comprehensive unit tests for BlockingManagedWebHostFixture, SelfManagedWebHostFixture, SelfManagedWebMinimalHostFixture, HostBuilderApplicationExtensions, and FakeHttpResponseFeature to ensure correct hosting behavior and configuration.
Converted all source files in Codebelt.Extensions.Xunit from block-scoped
to file-scoped namespace declarations (namespace Foo;). Pure structural
change — no behavior or API modifications.
Converted all source files in Codebelt.Extensions.Xunit.Hosting from
block-scoped to file-scoped namespace declarations (namespace Foo;). Pure
structural change — no behavior or API modifications.
Converted all source files in Codebelt.Extensions.Xunit.Hosting.AspNetCore
from block-scoped to file-scoped namespace declarations (namespace Foo;).
Includes files under Http/ and Http/Features/ subdirectories and both
Internal/ types. Pure structural change — no behavior or API modifications.
Converted benchmark-runner Program.cs and both benchmark classes
(DelimitedStringBenchmark, TestBenchmark) from block-scoped to file-scoped
namespace declarations. Pure structural change — no behavior modifications.
Updated copilot-instructions.md and AGENTS.md to reflect that the entire
codebase has been refactored to file-scoped namespaces. All code examples
updated to file-scoped syntax; AGENTS.md wording changed from 'Prefer' to
'Always use' and notes that block-scoped namespaces must never be used.
Documented codebase modernization patch release: file-scoped namespace
refactoring across all three assemblies, new ASP.NET Core hosting fixture
test coverage (BlockingManagedWebHostFixture, SelfManagedWebHostFixture,
SelfManagedWebMinimalHostFixture, FakeHttpResponseFeature), NGINX base
image upgrade, and GitHub repo reference corrections.
}
var context = new DefaultHttpContext();
var fc = new FeatureCollection();
fc.Set<IServiceProvidersFeature>(new RequestServicesFeature(context, factory));
Comment on lines +54 to +57
catch (Exception ex)
{
throw new InvalidOperationException("There is an error in the Stream being written.", ex);
}
Convert all test files from block-scoped to file-scoped namespaces for consistency with modern .NET coding standards and to match production code conventions. This improves readability and aligns with the project's stated namespace guidelines in AGENTS.md and copilot-instructions.md.
},
app =>
{
var policy = app.ApplicationServices.GetRequiredService<IAuthorizationPolicyProvider>();
[Fact]
public void ShouldLogToXunitTestLogging()
{
var context = _provider.GetRequiredService<IHttpContextAccessor>().HttpContext;
},
app =>
{
var policy = app.ApplicationServices.GetRequiredService<IAuthorizationPolicyProvider>();
[Fact]
public void ShouldLogToXunitTestLogging()
{
var context = _provider.GetRequiredService<IHttpContextAccessor>().HttpContext;
},
app =>
{
var policy = app.ApplicationServices.GetRequiredService<IAuthorizationPolicyProvider>();
var lifetime = hostFixture.Host.Services.GetRequiredService<IHostApplicationLifetime>();
lifetime.ApplicationStarted.Register(() => _isHostRunning = true);
}
_scope = hostFixture.Host.Services.CreateScope();
internal IntPtr _handle = IntPtr.Zero;
internal IntPtr _libHandle = IntPtr.Zero;
internal IntPtr _handle = IntPtr.Zero;
internal IntPtr _libHandle = IntPtr.Zero;
{
internal IntPtr _handle = IntPtr.Zero;
internal IntPtr _libHandle = IntPtr.Zero;
internal IntPtr _handle = IntPtr.Zero;
@sonarqubecloud
Copy link
Copy Markdown

@gimlichael gimlichael merged commit 8208483 into main May 21, 2026
25 checks passed
@gimlichael gimlichael deleted the v11.0.10/service-update branch May 21, 2026 22:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants