Skip to content

V10.0.7/service update#25

Merged
gimlichael merged 4 commits into
mainfrom
v10.0.7/service-update
May 23, 2026
Merged

V10.0.7/service update#25
gimlichael merged 4 commits into
mainfrom
v10.0.7/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 v10.0.7
  • CHANGELOG.md entry added for v10.0.7

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: yamldotnet @ 10.1.3

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented May 23, 2026

Greptile Summary

This is a v10.0.7 service-update PR that bumps Codebelt and test-infrastructure package versions, upgrades NGINX in the doc build image, advances the NuGet-push reusable workflow from @v2 to @v3, and adds test coverage for the internal surrogate types.

  • Dependency bumps (Directory.Packages.props): five packages updated — Codebelt.Extensions.Xunit → 11.0.10, Codebelt.Extensions.YamlDotNet → 10.1.3, Microsoft.NET.Test.Sdk → 18.5.1, coverlet.collector/msbuild → 10.0.1.
  • Infrastructure updates: NGINX base image → 1.31.0-alpine; CI NuGet-push workflow ref → @v3.
  • New tests: three new reflection-based test classes (CultureInfoSurrogateTest, DateTimeFormatInfoSurrogateTest, NumberFormatInfoSurrogateTest) plus four additional test methods in CultureInfoExtensionsTest covering null-input, missing-surrogate, and read-only-culture scenarios.

Confidence Score: 5/5

Safe to merge — all changes are package/infrastructure version bumps and additive test coverage with no modifications to production logic.

The production code is untouched; every change is either a dependency version increment, a tooling reference update, or a new test. The new reflection-based tests will pass as long as the internal types they target exist with their current names and signatures, which is expected since the production assembly is not modified in this PR.

The three new reflection-based test files (CultureInfoSurrogateTest, DateTimeFormatInfoSurrogateTest, NumberFormatInfoSurrogateTest) are worth a quick look to confirm the null-guard pattern is acceptable for the team's test standards.

Important Files Changed

Filename Overview
.docfx/Dockerfile.docfx NGINX base image bumped from 1.30.0-alpine to 1.31.0-alpine — routine version update
.github/workflows/ci-pipeline.yml NuGet push reusable workflow reference bumped from @v2 to @V3 — single-line version pin update
Directory.Packages.props Five package version bumps: Codebelt.Extensions.Xunit, Codebelt.Extensions.YamlDotNet, Microsoft.NET.Test.Sdk, coverlet.collector, coverlet.msbuild — all minor/patch increments
.nuget/Codebelt.Extensions.Globalization/PackageReleaseNotes.txt v10.0.7 release notes prepended with dependency-upgrade changelog entry
CHANGELOG.md v10.0.7 entry added with correct date (2026-05-23) and description
test/Codebelt.Extensions.Globalization.Tests/CultureInfoExtensionsTest.cs Four new test methods added covering null-input, missing-surrogate, and read-only culture clone scenarios for UseNationalLanguageSupport
test/Codebelt.Extensions.Globalization.Tests/CultureInfoSurrogateTest.cs New test file for internal CultureInfoSurrogate via reflection; GetConstructor/GetProperty results are dereferenced without null checks, producing obscure NullReferenceException if type members change
test/Codebelt.Extensions.Globalization.Tests/DateTimeFormatInfoSurrogateTest.cs New test file for internal DateTimeFormatInfoSurrogate via reflection; same null-safety concern as CultureInfoSurrogateTest across all GetProperty calls
test/Codebelt.Extensions.Globalization.Tests/NumberFormatInfoSurrogateTest.cs New test file for internal NumberFormatInfoSurrogate via reflection; same null-safety concern as CultureInfoSurrogateTest across all GetProperty calls

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[v10.0.7 Service Update] --> B[Infrastructure]
    A --> C[Package Versions]
    A --> D[Test Coverage]

    B --> B1[NGINX 1.30.0 → 1.31.0-alpine]
    B --> B2[NuGet push workflow @v2 → @v3]

    C --> C1[Codebelt.Extensions.Xunit 11.0.9 → 11.0.10]
    C --> C2[Codebelt.Extensions.YamlDotNet 10.1.2 → 10.1.3]
    C --> C3[Microsoft.NET.Test.Sdk 18.4.0 → 18.5.1]
    C --> C4[coverlet.collector/msbuild 10.0.0 → 10.0.1]

    D --> D1[CultureInfoExtensionsTest\n4 new test methods]
    D --> D2[CultureInfoSurrogateTest\nnew file via reflection]
    D --> D3[DateTimeFormatInfoSurrogateTest\nnew file via reflection]
    D --> D4[NumberFormatInfoSurrogateTest\nnew file via reflection]
Loading
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
test/Codebelt.Extensions.Globalization.Tests/CultureInfoSurrogateTest.cs:24-36
**Unguarded reflection results can hide refactoring regressions**

`GetConstructor()` on line 24 and `GetProperty()` on lines 32–33 each return `null` when the member is not found. Dereferencing them directly (lines 30, 35–36) throws `NullReferenceException` instead of a meaningful xUnit assertion failure, making it harder to diagnose if `CultureInfoSurrogate` is later renamed or its constructor signature changes. The same pattern appears in `DateTimeFormatInfoSurrogateTest` and `NumberFormatInfoSurrogateTest`. Adding `Assert.NotNull(ctor)` (and similar guards for each property lookup) before use would surface a clear failure message.

Reviews (3): Last reviewed commit: "✅ add tests for surrogate classes and ex..." | Re-trigger Greptile

Comment thread Directory.Packages.props
@codecov
Copy link
Copy Markdown

codecov Bot commented May 23, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (3ee92f4) to head (1a32822).
⚠️ Report is 21 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##             main       #25       +/-   ##
============================================
+ Coverage   69.02%   100.00%   +30.97%     
============================================
  Files           4         4               
  Lines         184       184               
  Branches        3         4        +1     
============================================
+ Hits          127       184       +57     
+ Misses         57         0       -57     

☔ 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.

@sonarqubecloud
Copy link
Copy Markdown

@gimlichael gimlichael merged commit d1acc14 into main May 23, 2026
23 checks passed
@gimlichael gimlichael deleted the v10.0.7/service-update branch May 23, 2026 16:15
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