Skip to content

V10.1.6/service update - #34

Merged
gimlichael merged 8 commits into
mainfrom
v10.1.6/service-update
Jul 22, 2026
Merged

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

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: xunit @ 11.1.2

@greptile-apps

greptile-apps Bot commented Jul 18, 2026

Copy link
Copy Markdown

Greptile Summary

This is a routine v10.1.6 service update that bumps all Codebelt/Cuemon dependencies to 10.5.5, xunit packages to 11.1.2, and Microsoft.NET.Test.Sdk to 18.8.1, alongside targeted code-quality improvements across source and test files.

  • Build configuration: Directory.Build.props now uses IsSourceProject (path-based) instead of !IsTestProject to scope multi-targeting and packaging, and enables AnalysisMode>Recommended with EnforceCodeStyleInBuild>true for source projects; test projects correctly switch to AnalysisMode>none.
  • ExceptionConverter refactor: The monolithic token-parsing switch is split into ShouldPushBlueprints, HandleToken, HandlePropertyName, HandleTypeMember, and CreateMemberArgument — functionally equivalent to the removed code and removes the need for GlobalSuppressions.cs.
  • Modernization: All nested using-blocks converted to using var declarations across source and tests; XML doc T: prefixes removed; JDataResultExtensions adopts a direct char comparison for trailing-asterisk matching; DynamicContractResolver uses ArgumentNullException.ThrowIfNull on non-netstandard TFMs.

Confidence Score: 5/5

Safe to merge — all changes are dependency bumps or mechanically equivalent code modernizations with no behavioral differences.

The ExceptionConverter refactor splits a switch block into private helpers without changing the order of operations or observable output. The JData.cs using-var conversion is safe because ReadAll(JsonReader) forces the Lazy immediately, so the reader is fully consumed before disposal. The GlobalSuppressions deletions align with the removed legacy code. The raw string literals in the test were verified correct after reading the actual file.

No files require special attention.

Important Files Changed

Filename Overview
Directory.Build.props Scopes multi-targeting and signing to source projects via new IsSourceProject condition, enables Recommended analyzers with EnforceCodeStyleInBuild, and fixes test project property from AnalysisLevel to AnalysisMode
Directory.Packages.props Bumps all Codebelt/Cuemon packages from 10.5.4 to 10.5.5, xunit test packages 11.1.1 to 11.1.2, and Microsoft.NET.Test.Sdk 18.7.0 to 18.8.1; straightforward version update
src/Codebelt.Extensions.Newtonsoft.Json/Converters/ExceptionConverter.cs Refactors monolithic switch-based JSON token parsing into focused private helpers; logic is functionally equivalent to the old inline switch block
src/Codebelt.Extensions.Newtonsoft.Json/GlobalSuppressions.cs File deleted; the suppressions it carried are no longer needed after the ExceptionConverter refactor removed the legacy code they covered
src/Codebelt.Extensions.Newtonsoft.Json/JData.cs Converts nested using-blocks to using-var declarations; safe because ReadAll(JsonReader) forces Lazy evaluation immediately, so readers are disposed only after all data is consumed
src/Codebelt.Extensions.Newtonsoft.Json/JDataResultExtensions.cs Replaces EndsWith with a direct char comparison; micro-optimization, functionally identical
src/Codebelt.Extensions.Newtonsoft.Json/DynamicContractResolver.cs Guards the null check with #if NETSTANDARD2_0 to use ArgumentNullException.ThrowIfNull on .NET 6+; correct conditional compilation pattern
CHANGELOG.md Adds v10.1.6 entry and replaces the [Unreleased] reference link with the concrete [10.1.6] range link
test/Codebelt.Extensions.Newtonsoft.Json.Tests/Converters/ExceptionConverterTest.cs Strengthens round-trip tests with typed assertions on Message, ParamName, and InnerException; improves coverage of the refactored ExceptionConverter
test/Codebelt.Extensions.AspNetCore.Newtonsoft.Json.Tests/Formatters/ServiceCollectionExtensionsTest.cs Converts using-blocks to using-var in all test methods; raw string literal indentation verified correct

Reviews (2): Last reviewed commit: "⬆️ update package dependencies and enhan..." | Re-trigger Greptile

@codecov

codecov Bot commented Jul 18, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.56%. Comparing base (c2aced1) to head (c0b0f3b).

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #34      +/-   ##
==========================================
+ Coverage   99.24%   99.56%   +0.32%     
==========================================
  Files          25       25              
  Lines         929      925       -4     
  Branches      116      115       -1     
==========================================
- Hits          922      921       -1     
+ Misses          7        4       -3     

☔ View full report in Codecov by Harness.
📢 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.

aicia-bot and others added 7 commits July 23, 2026 01:25
Scope multi-targeting, packaging, and signing to src projects, and enable recommended analyzers with style enforcement so source builds match current Codebelt quality defaults.
Keep the centrally managed test SDK on the latest stable release used by the solution.
Use the 1.31 alpine tag so the documentation image stays current within the nginx minor line without a patch-level pin.
Break the JSON exception parser into focused helpers to cut cognitive complexity and drop legacy suppressions that only existed for the old monolithic path.
Prefer using declarations and ThrowIfNull on supported TFMs, and replace the trailing-asterisk EndsWith check with a direct char compare for analyzer-friendly code.
Drop redundant T: cref prefixes so API docs resolve with the simpler generic type form used elsewhere in the codebase.
@gimlichael
gimlichael merged commit f7c50ed into main Jul 22, 2026
24 checks passed
@gimlichael
gimlichael deleted the v10.1.6/service-update branch July 22, 2026 23:39
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