Bump the dotnet group with 20 updates - #283
Conversation
Bundle ReportBundle size has no change ✅ |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #283 +/- ##
=======================================
Coverage 50.09% 50.09%
=======================================
Files 998 998
Lines 58370 58374 +4
Branches 5858 5858
=======================================
+ Hits 29239 29241 +2
- Misses 28228 28230 +2
Partials 903 903
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. |
Bumps AWSSDK.Core from 4.0.100 to 4.0.100.8 Bumps ClosedXML from 0.105.0 to 0.105.1 Bumps dotnet-ef from 10.0.9 to 10.0.10 Bumps DotNetDiag.HealthChecks.UI from 10.0.7 to 10.0.11 Bumps DotNetDiag.HealthChecks.UI.Client from 10.0.7 to 10.0.11 Bumps DotNetDiag.HealthChecks.UI.InMemory.Storage from 10.0.7 to 10.0.11 Bumps Hangfire.AspNetCore from 1.8.23 to 1.8.24 Bumps Hangfire.Core from 1.8.23 to 1.8.24 Bumps Hangfire.SqlServer from 1.8.23 to 1.8.24 Bumps HtmlSanitizer from 9.0.892 to 9.0.967 Bumps jetbrains.resharper.globaltools from 2026.1.3 to 2026.2.0 Bumps Microsoft.NET.Test.Sdk from 18.7.0 to 18.8.1 Bumps Microsoft.Testing.Platform from 2.2.3 to 2.3.2 Bumps NLog.MailKit from 6.1.4 to 6.1.5 Bumps NLog.Web.AspNetCore from 6.1.3 to 6.1.4 Bumps NSubstitute from 5.3.0 to 6.0.0 Bumps QuestPDF from 2026.6.0 to 2026.7.1 Bumps SonarAnalyzer.CSharp from 10.27.0.140913 to 10.30.0.144632 Bumps SQLitePCLRaw.bundle_e_sqlite3 from 3.0.3 to 3.0.4 Bumps System.Linq.Dynamic.Core from 1.7.2 to 1.7.3 --- updated-dependencies: - dependency-name: AWSSDK.Core dependency-version: 4.0.100.8 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: ClosedXML dependency-version: 0.105.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: dotnet-ef dependency-version: 10.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: DotNetDiag.HealthChecks.UI dependency-version: 10.0.11 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: DotNetDiag.HealthChecks.UI.Client dependency-version: 10.0.11 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: DotNetDiag.HealthChecks.UI.InMemory.Storage dependency-version: 10.0.11 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Hangfire.AspNetCore dependency-version: 1.8.24 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Hangfire.Core dependency-version: 1.8.24 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Hangfire.SqlServer dependency-version: 1.8.24 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: HtmlSanitizer dependency-version: 9.0.967 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: jetbrains.resharper.globaltools dependency-version: 2026.2.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 18.8.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.Testing.Platform dependency-version: 2.3.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: NLog.MailKit dependency-version: 6.1.5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: NLog.Web.AspNetCore dependency-version: 6.1.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: NSubstitute dependency-version: 6.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: dotnet - dependency-name: QuestPDF dependency-version: 2026.7.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: SonarAnalyzer.CSharp dependency-version: 10.30.0.144632 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: SQLitePCLRaw.bundle_e_sqlite3 dependency-version: 3.0.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: System.Linq.Dynamic.Core dependency-version: 1.7.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] <support@github.com>
- 6.0.0 types Arg.Is<T> as Predicate<T?>, emitting CS8602/CS8604 across the suite; upstream nsubstitute/NSubstitute#973 and #976 are open
- bound regex execution to 1s so pathological input cannot pin a request thread (S6444) - fold Where predicates into First/FirstOrDefault (S2971)
29776e0 to
8985f49
Compare
- no usages anywhere; a runtime string-to-expression-tree parser is attack surface with no offsetting benefit here
- viperFetch resolves to undefined on 4xx/5xx, overwriting the initial
{} and throwing in templates that dereference it, e.g. {{group.name}}
- applied to all 15 views sharing the pattern, not only the one found
|
@coderabbitai full review |
✅ Action performedFull review finished. |
📝 WalkthroughWalkthroughThe PR updates .NET tools and packages, simplifies LINQ lookups, adds one-second regex timeouts, and applies nullish fallbacks to RAPS fetch responses. ChangesMaintenance updates
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 2📝 Generate docstrings 💡
🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
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 |
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@web/Areas/RAPS/Controllers/AdGroupRolesController.cs`:
- Around line 29-30: Add AsNoTracking() to the read-only EF Core queries in
GroupExists at web/Areas/RAPS/Controllers/AdGroupRolesController.cs:29-30, the
AaudUser lookup in web/Areas/RAPS/Services/RAPSCacheService.cs:19 after
confirming the cache helper does not require tracking, and the fallback user
lookup in web/Areas/RAPS/Services/VMACSExport.cs:217. Preserve the existing
query behavior while disabling change tracking for all three lookups.
In `@web/Areas/RAPS/Views/Groups/Members.cshtml`:
- Line 116: Update the group initialization around viperFetch and the related
group actions so failed fetches leave those actions disabled or hidden. Gate
syncGroup and the edit link on available group.groupId and group.groupRoleId,
preventing Groups/undefined/Sync and roleId=undefined while preserving the
heading fallback.
In `@web/Areas/RAPS/Views/Members/History.cshtml`:
- Around line 58-60: Update the history-dates assignment in mounted() to default
the viperFetch result to an empty array before calling map. Preserve the
existing date-mapping behavior when the request returns data, while ensuring
undefined results do not throw.
In `@web/Areas/RAPS/Views/Roles/ApplyTemplate.cshtml`:
- Line 145: Update the nullish fallback in
web/Areas/RAPS/Views/Roles/ApplyTemplate.cshtml at line 145 to provide
roleTemplateRoles as an empty array for the downstream reduce call; update the
fallback in web/Areas/RAPS/Views/Roles/Members.cshtml at line 165 to provide
instance as an empty string for the downstream indexOf call.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: c4a412b5-f374-447d-bc21-3990a7c10822
📒 Files selected for processing (27)
.config/dotnet-tools.jsontest/CTS/AssessmentControllerTest.cstest/CTS/SetupAssessments.cstest/Viper.test.csprojweb/Areas/Effort/Services/CourseClassificationService.csweb/Areas/RAPS/Controllers/AdGroupRolesController.csweb/Areas/RAPS/Services/RAPSCacheService.csweb/Areas/RAPS/Services/VMACSExport.csweb/Areas/RAPS/Views/Groups/Members.cshtmlweb/Areas/RAPS/Views/Groups/Roles.cshtmlweb/Areas/RAPS/Views/Members/History.cshtmlweb/Areas/RAPS/Views/Members/Permissions.cshtmlweb/Areas/RAPS/Views/Members/RSOP.cshtmlweb/Areas/RAPS/Views/Members/Roles.cshtmlweb/Areas/RAPS/Views/Permissions/AllMembers.cshtmlweb/Areas/RAPS/Views/Permissions/Members.cshtmlweb/Areas/RAPS/Views/Permissions/Roles.cshtmlweb/Areas/RAPS/Views/Permissions/RolesRO.cshtmlweb/Areas/RAPS/Views/Roles/ApplyTemplate.cshtmlweb/Areas/RAPS/Views/Roles/DelegateRoles.cshtmlweb/Areas/RAPS/Views/Roles/Members.cshtmlweb/Areas/RAPS/Views/Roles/Permissions.cshtmlweb/Areas/RAPS/Views/Roles/TemplateRoles.cshtmlweb/Areas/Students/Services/PhotoExportService.csweb/Areas/Students/Services/PhotoService.csweb/Viper.csprojweb/ViteProxyHelpers.cs
- ?? {} stopped templates throwing but left callers dereferencing
undefined properties: role.instance.indexOf, roleTemplateRoles.reduce
- guard Sync/Edit actions so a failed group fetch cannot post to
Groups/undefined/Sync or link to roleId=undefined
- default array-returning fetches to [] where .map/.filter follow
- AsNoTracking on two read-only lookups
|
@coderabbitai full review |
✅ Action performedFull review finished. |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@web/Areas/RAPS/Services/VMACSExport.cs`:
- Line 217: Update the fallback user lookup in the VMACS export flow to call
AsNoTracking() on _RAPSContext.VwAaudUser before FirstOrDefault, preserving the
existing LoginId filter and UserList creation behavior.
In `@web/Areas/RAPS/Views/Members/History.cshtml`:
- Line 53: Update getAuditLog around the auditLog assignment to handle a null or
cleared startDate before accessing startDate.value. Preserve the existing fetch
behavior when a date is selected, and use the API’s established no-filter
request behavior when no date is selected.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 30a28c2f-540a-45cd-8a44-e426a551419e
📒 Files selected for processing (28)
.config/dotnet-tools.jsontest/CTS/AssessmentControllerTest.cstest/CTS/SetupAssessments.cstest/Viper.test.csprojweb/Areas/Effort/Services/CourseClassificationService.csweb/Areas/RAPS/Controllers/AdGroupRolesController.csweb/Areas/RAPS/Services/RAPSCacheService.csweb/Areas/RAPS/Services/VMACSExport.csweb/Areas/RAPS/Views/Groups/List.cshtmlweb/Areas/RAPS/Views/Groups/Members.cshtmlweb/Areas/RAPS/Views/Groups/Roles.cshtmlweb/Areas/RAPS/Views/Members/History.cshtmlweb/Areas/RAPS/Views/Members/Permissions.cshtmlweb/Areas/RAPS/Views/Members/RSOP.cshtmlweb/Areas/RAPS/Views/Members/Roles.cshtmlweb/Areas/RAPS/Views/Permissions/AllMembers.cshtmlweb/Areas/RAPS/Views/Permissions/Members.cshtmlweb/Areas/RAPS/Views/Permissions/Roles.cshtmlweb/Areas/RAPS/Views/Permissions/RolesRO.cshtmlweb/Areas/RAPS/Views/Roles/ApplyTemplate.cshtmlweb/Areas/RAPS/Views/Roles/DelegateRoles.cshtmlweb/Areas/RAPS/Views/Roles/Members.cshtmlweb/Areas/RAPS/Views/Roles/Permissions.cshtmlweb/Areas/RAPS/Views/Roles/TemplateRoles.cshtmlweb/Areas/Students/Services/PhotoExportService.csweb/Areas/Students/Services/PhotoService.csweb/Viper.csprojweb/ViteProxyHelpers.cs
- clearing the date select leaves startDate null, so getAuditLog threw on .value before the request ran; omit the filter to show full history - AsNoTracking on the VMACS export fallback user lookup
|
@coderabbitai full review |
Action performedFull review triggered. |
Review summary
Supply-chain review of all 20 updates: publication-age gate, OSV advisories, changelog and diff verification, breaking changes. Four follow-up commits sit on top of the Dependabot commit, and the branch has been rebased onto
main.18 of 20 taken as-is. NSubstitute is held back, and System.Linq.Dynamic.Core is removed rather than bumped.
Held: NSubstitute stays at 5.3.0
b64d9a24pins NSubstitute at 5.3.0 rather than 6.0.0. 6.0.0 enables nullability on its public API, soArg.Is<T>takes aPredicate<T?>even for non-nullableT, emitting CS8602/CS8604 at every call site whose lambda dereferences the parameter (90+ in this suite). Upstream has open, maintainer-acknowledged issues for exactly this (nsubstitute/NSubstitute#973,#976,#982,#983) and no 6.0.1 three weeks post-release.MockQueryable.NSubstitutedeclares[5.3.0, ), so there is no resolution conflict in either direction.Revisit when 6.0.1 ships.
Analyzer bumps, measured rather than inferred
Both analyzers were run twice over identical code, varying only the analyzer version.
UnusedAutoPropertyAccessor.Globalno longer misfiring on DTO classes, the rule our own gate already excludes10.28 reclassified ~18 rules from Security Hotspot to Vulnerability, which looked like a build-break risk since
.globalconfigmapscategory-vulnerabilitytoerror. Checked against an isolated build: SonarAnalyzer's Roslyn category strings do not match that key, so those rules still emit as warnings. That config key governs Microsoft's CA analyzers, which this bump does not affect.8985f49bclears the two mechanical rules: regex execution bounded to 1s (S6444, 8 sites) andWherepredicates folded intoFirst/FirstOrDefault(S2971, 10 sites). S8949 (missingCancellationToken) and S8969 (redundant!, which has an open false-positive reportSonarSource/sonar-dotnet#9824against this exact version) are deliberately left alone.Every security-flavoured new finding was checked individually and is a false positive or already justified in context: S2077 fires on a correctly parameterised query, S4790 on an
HMACSHA1required by a third-party API, S5332 on an XML namespace identifier, S1313 on the F5's internal IP, S4502 on the error page.Notes
Microsoft.Data.Sqlite10.0.10 still floors at[2.1.11, ), so the comment inViper.test.csprojremains accurate. Its job is now preventing backwards resolution rather than GHSA-2m69-gcr7-jv3q, which 3.0.3 already cleared.ServiceURL-configured clients; this repo has none.--zero-tests-policyis nowallow-skipped, so an all-skipped run no longer fails with exit code 8. More lenient, worth knowing.System.Linq.Dynamic.Coreremoved (736a1587). Zero usages anywhere, and a runtime string-to-expression-tree parser is attack surface with no offsetting benefit. Confirmed absent from the restore graph after a clean rebuild, so nothing depended on it transitively.Smoke tested on TEST
Deployed via Jenkins #2289 and exercised on
secure-test: all 21 health checks Healthy (includingaws-ssm,campus-smtp, and ninedb-*), the Hangfire dashboard reporting Hangfire 1.8.24, the RAPS role list (177 roles), AD group roles resolving correctly and returning clean 404s for unknown IDs, and a QuestPDF export rendering a 2-page report, which validates the recompiled native Skia binary.The Vite proxy changes in
8985f49bonly execute in Development (Program.cs:456), so they were validated separately against a localnpm run dev: ~128 requests routed through the proxy, all 200/304, zero console errors.Also fixed
74ce8de7fixes a latent frontend bug found during that smoke test. It is not caused by this PR, only surfaced by it.viperFetchresolves toundefinedon 4xx/5xx, overwriting the{}that RAPS views initialize and then dereference in templates, so a bad entity ID threwTypeError: Cannot read properties of undefined. Fourteen further views shared the identical pattern; all 15 are fixed.Age gate: all 20 pass, 9 to 27 days old. OSV: no known advisories on any package, on either old or new versions.
Updated AWSSDK.Core from 4.0.100 to 4.0.100.8.
Release notes
Sourced from AWSSDK.Core's releases.
No release notes found for this version range.
Commits viewable in compare view.
Updated ClosedXML from 0.105.0 to 0.105.1.
Release notes
Sourced from ClosedXML's releases.
0.105.1
Full Changelog: ClosedXML/ClosedXML@0.105.0...0.105.1
Commits viewable in compare view.
Updated dotnet-ef from 10.0.9 to 10.0.10.
Release notes
Sourced from dotnet-ef's releases.
No release notes found for this version range.
Commits viewable in compare view.
Updated DotNetDiag.HealthChecks.UI from 10.0.7 to 10.0.11.
Release notes
Sourced from DotNetDiag.HealthChecks.UI's releases.
10.0.11
Full Changelog: DotNetDiag/HealthChecks@v10.0.10...v10.0.11
10.0.10
Full Changelog: DotNetDiag/HealthChecks@v10.0.9...v10.0.10
10.0.9
v10.0.9
This release expands the DotNetDiag HealthChecks package catalog with several new providers, refreshes dependency versions for the current .NET target-framework era, and fixes a few reliability issues in SurrealDB and UI storage-provider test coverage.
Highlights
DotNetDiag.HealthChecks.Gcp.CloudStorageDotNetDiag.HealthChecks.HarborDotNetDiag.HealthChecks.MinioDotNetDiag.HealthChecks.OpenSearchDotNetDiag.HealthChecks.SonnetDBnet10.0paths can use .NET 10-era dependencies.New Packages
Google Cloud Storage
Added
DotNetDiag.HealthChecks.Gcp.CloudStorage.The check can verify Google Cloud Storage reachability by listing buckets for a configured project or by fetching metadata for a configured bucket. It supports resolving
StorageClientfrom DI or providing it through a factory.Harbor
Added
DotNetDiag.HealthChecks.Harbor.The check calls Harbor's
/api/v2.0/healthendpoint and validates the overall Harbor health response. It also supports required component validation, custom health endpoint paths, request customization, and namedHttpClientconfiguration.MinIO
Added
DotNetDiag.HealthChecks.Minio.The check supports MinIO readiness, liveness, cluster, and cluster-read probes, plus bucket existence and service reachability checks through the MinIO S3-compatible API.
OpenSearch
Added
DotNetDiag.HealthChecks.OpenSearch.The check supports OpenSearch ping checks, optional cluster health API checks, secured cluster configuration, and reuse of an existing
IOpenSearchClient.SonnetDB
Added
DotNetDiag.HealthChecks.SonnetDB.The check validates the SonnetDB
/healthzendpoint, supports authenticated requests, captures readiness metadata, and can optionally require Copilot readiness.Fixes
SurrealDb.Netregistration patterns, including scoped/session-based registrations.... (truncated)
10.0.8
What's Changed
New Contributors
Full Changelog: DotNetDiag/HealthChecks@v10.0.7...v10.0.8
Commits viewable in compare view.
Updated DotNetDiag.HealthChecks.UI.Client from 10.0.7 to 10.0.11.
Release notes
Sourced from DotNetDiag.HealthChecks.UI.Client's releases.
10.0.11
Full Changelog: DotNetDiag/HealthChecks@v10.0.10...v10.0.11
10.0.10
Full Changelog: DotNetDiag/HealthChecks@v10.0.9...v10.0.10
10.0.9
v10.0.9
This release expands the DotNetDiag HealthChecks package catalog with several new providers, refreshes dependency versions for the current .NET target-framework era, and fixes a few reliability issues in SurrealDB and UI storage-provider test coverage.
Highlights
DotNetDiag.HealthChecks.Gcp.CloudStorageDotNetDiag.HealthChecks.HarborDotNetDiag.HealthChecks.MinioDotNetDiag.HealthChecks.OpenSearchDotNetDiag.HealthChecks.SonnetDBnet10.0paths can use .NET 10-era dependencies.New Packages
Google Cloud Storage
Added
DotNetDiag.HealthChecks.Gcp.CloudStorage.The check can verify Google Cloud Storage reachability by listing buckets for a configured project or by fetching metadata for a configured bucket. It supports resolving
StorageClientfrom DI or providing it through a factory.Harbor
Added
DotNetDiag.HealthChecks.Harbor.The check calls Harbor's
/api/v2.0/healthendpoint and validates the overall Harbor health response. It also supports required component validation, custom health endpoint paths, request customization, and namedHttpClientconfiguration.MinIO
Added
DotNetDiag.HealthChecks.Minio.The check supports MinIO readiness, liveness, cluster, and cluster-read probes, plus bucket existence and service reachability checks through the MinIO S3-compatible API.
OpenSearch
Added
DotNetDiag.HealthChecks.OpenSearch.The check supports OpenSearch ping checks, optional cluster health API checks, secured cluster configuration, and reuse of an existing
IOpenSearchClient.SonnetDB
Added
DotNetDiag.HealthChecks.SonnetDB.The check validates the SonnetDB
/healthzendpoint, supports authenticated requests, captures readiness metadata, and can optionally require Copilot readiness.Fixes
SurrealDb.Netregistration patterns, including scoped/session-based registrations.... (truncated)
10.0.8
What's Changed
New Contributors
Full Changelog: DotNetDiag/HealthChecks@v10.0.7...v10.0.8
Commits viewable in compare view.
Updated DotNetDiag.HealthChecks.UI.InMemory.Storage from 10.0.7 to 10.0.11.
Release notes
Sourced from DotNetDiag.HealthChecks.UI.InMemory.Storage's releases.
10.0.11
Full Changelog: DotNetDiag/HealthChecks@v10.0.10...v10.0.11
10.0.10
Full Changelog: DotNetDiag/HealthChecks@v10.0.9...v10.0.10
10.0.9
v10.0.9
This release expands the DotNetDiag HealthChecks package catalog with several new providers, refreshes dependency versions for the current .NET target-framework era, and fixes a few reliability issues in SurrealDB and UI storage-provider test coverage.
Highlights
DotNetDiag.HealthChecks.Gcp.CloudStorageDotNetDiag.HealthChecks.HarborDotNetDiag.HealthChecks.MinioDotNetDiag.HealthChecks.OpenSearchDotNetDiag.HealthChecks.SonnetDBnet10.0paths can use .NET 10-era dependencies.New Packages
Google Cloud Storage
Added
DotNetDiag.HealthChecks.Gcp.CloudStorage.The check can verify Google Cloud Storage reachability by listing buckets for a configured project or by fetching metadata for a configured bucket. It supports resolving
StorageClientfrom DI or providing it through a factory.Harbor
Added
DotNetDiag.HealthChecks.Harbor.The check calls Harbor's
/api/v2.0/healthendpoint and validates the overall Harbor health response. It also supports required component validation, custom health endpoint paths, request customization, and namedHttpClientconfiguration.MinIO
Added
DotNetDiag.HealthChecks.Minio.The check supports MinIO readiness, liveness, cluster, and cluster-read probes, plus bucket existence and service reachability checks through the MinIO S3-compatible API.
OpenSearch
Added
DotNetDiag.HealthChecks.OpenSearch.The check supports OpenSearch ping checks, optional cluster health API checks, secured cluster configuration, and reuse of an existing
IOpenSearchClient.SonnetDB
Added
DotNetDiag.HealthChecks.SonnetDB.The check validates the SonnetDB
/healthzendpoint, supports authenticated requests, captures readiness metadata, and can optionally require Copilot readiness.Fixes
SurrealDb.Netregistration patterns, including scoped/session-based registrations.... (truncated)
10.0.8
What's Changed
New Contributors
Full Changelog: DotNetDiag/HealthChecks@v10.0.7...v10.0.8
Commits viewable in compare view.
Updated Hangfire.AspNetCore from 1.8.23 to 1.8.24.
Release notes
Sourced from Hangfire.AspNetCore's releases.
1.8.24
Release Notes
Hangfire.Core
Commits viewable in compare view.
Updated Hangfire.Core from 1.8.23 to 1.8.24.
Release notes
Sourced from Hangfire.Core's releases.
1.8.24
Release Notes
Hangfire.Core
Commits viewable in compare view.
Updated Hangfire.SqlServer from 1.8.23 to 1.8.24.
Release notes
Sourced from Hangfire.SqlServer's releases.
1.8.24
Release Notes
Hangfire.Core
Commits viewable in compare view.
Updated HtmlSanitizer from 9.0.892 to 9.0.967.
Release notes
Sourced from HtmlSanitizer's releases.
No release notes found for this version range.
Commits viewable in compare view.
Updated jetbrains.resharper.globaltools from 2026.1.3 to 2026.2.0.
Updated Microsoft.NET.Test.Sdk from 18.7.0 to 18.8.1.
Release notes
Sourced from Microsoft.NET.Test.Sdk's releases.
18.8.1
What's Changed
Full Changelog: microsoft/vstest@v18.8.0...v18.8.1
18.8.0
What's Changed
Full Changelog: microsoft/vstest@v18.7.0...v18.8.0
Commits viewable in compare view.
Updated Microsoft.Testing.Platform from 2.2.3 to 2.3.2.
Release notes
Sourced from Microsoft.Testing.Platform's releases.
2.3.0-preview-20220810-02
See release notes here.
2.2.10
See release notes here.
2.2.10-preview-20220414-01
See release notes here.
2.2.9
Parallel output
MSTest 2.2.9 captures all Console output and attaches it to the correct test, even if you are running tests in parallel. This output is captured from your test code as well as from the tested code. And it requires no special setup.
Before
In 2.2.8, test output is scattered among tests, in our example, one unlucky test gets all the output of other tests just mixed together:
After
With 2.2.9, each output is correctly attached to the test that produced it:
Also notice that we are also capturing debug, trace and error. And we are not awaiting the FastChild method, and the output is still assigned correctly. Souce code.
Limitations
Due to the way that class and assembly initialize, and cleanup are invoked, their output will end up in the first test that run (or last for cleanup). This is unfortunately not easily fixable.
See release notes here.
2.2.8
See release notes here.
2.2.7
See release notes here.
2.2.6
See release notes here.
2.2.5
See release notes here.
2.2.4
See release notes here.
2.2.4-preview-20210331-02
See release notes here.
Commits viewable in compare view.
Updated NLog.MailKit from 6.1.4 to 6.1.5.
Release notes
Sourced from NLog.MailKit's releases.
6.1.5
Commits viewable in compare view.
Updated NLog.Web.AspNetCore from 6.1.3 to 6.1.4.
Release notes
Sourced from NLog.Web.AspNetCore's releases.
6.1.4
Commits viewable in compare view.
Updated NSubstitute from 5.3.0 to 6.0.0.
Release notes
Sourced from NSubstitute's releases.
6.0.0
ℹ️ No changes from Release Candidate 1.
NSubstitute v6.0.0
From RC1 notes:
ArgMatchers.Matchingpredicate matcher as an alternative toIs(Expression<Predicate<T>>. (.NET6 and above.)Arg.Isnow accepts arg matchers.Full change list
... (truncated)
6.0.0-rc.1
NSubstitute v6.0.0 Release Candidate 1
Due to the large number of changes in this release, we wanted to start with a release candidate to ensure we've correctly captured breaking changes.
ArgMatchers.Matchingpredicate matcher as an alternative toIs(Expression<Predicate<T>>. (.NET6 and above.)Arg.Isnow accepts arg matchers.Full change list
... (truncated)
Commits viewable in compare view.
Updated QuestPDF from 2026.6.0 to 2026.7.1.
Release notes
Sourced from QuestPDF's releases.
2026.7.1
Improved performance
PDF generation is now significantly faster. The Skia native dependency has been recompiled with speed-oriented optimizations (favoring performance over binary size) and with SIMD instructions enabled.
The impact depends on document content and platform. For example, generating image-heavy documents that require image rescaling can be several times faster on Windows x64 🎉
Note: this change slightly increases the size of the native dependency by around 20%.
Continuous performance monitoring
We have also built a solid foundation for measuring library performance going forward. A new GitHub Actions workflow benchmarks QuestPDF across all supported operating systems, processor architectures, and .NET releases.
This infrastructure helps us ensure that performance remains stable and consistent across all platforms, and allows us to detect regressions early — before they ever reach a release.
2026.7.0
2026.6.1
Commits viewable in compare view.
Updated SonarAnalyzer.CSharp from 10.27.0.140913 to 10.30.0.144632.
Release notes
Sourced from SonarAnalyzer.CSharp's releases.
10.30.0.144632
Release notes - .NET Analyzers - 10.30
Feature
NET-1536 Implement rule S8970: Null-forgiving operators should not be used when nullable warnings are disabled
NET-3436 Implement rule S8949: Use the overload that accepts a CancellationToken
NET-3810 Fix: Protobuf Importer logs debug on excluded files
NET-3877 Implement rule S8747: Migrations should not narrow column types without converting existing data
NET-4091 Implement rule S8969: Null-forgiving operators should not be redundant
NET-4120 Update RSPEC before 10.30 release
False Positive
NET-1541 Fix S3459 FP: support classes marked with [AutoConstructor] attribute
NET-1583 Fix S6967 FP: Raises when model has no validation attributes
NET-1840 Fix S3903 FP: top-level statements and partial Program in separate file
NET-4059 Improve precision of S8949 (CancellationTokenShouldBeUsed) - umbrella
NET-4191 Fix S3169 FP: Should not raise in Azure Cosmos
False Negative
NET-3819 Fix S1244 FN: Should report on Double.Equals
Bug
NET-4107 Fix S4026 Race Condition
10.29.0.143774
Release notes - .NET Analyzers - 10.29
Feature
NET-3997 Move S6444 out of hotspot
NET-4060 Update RSPEC before 10.29 release
False Positive
NET-1626 Fix S6444 FP: REGEX_DEFAULT_MATCH_TIMEOUT
False Negative
NET-3920 Fix S2971 FN: Should raise on EntityFramework IQueryables
NET-3921 Fix S1155 FN: Should raise on EntityFramework IQueryables
NET-3922 Fix S3981 FN: Should raise on EntityFramework IQueryables
NET-3924 Fix S3169 FN: Should raise on EntityFramework IQueryables
10.28.0.143324
Release notes - .NET Analyzers - 10.28
Feature
NET-1990 S100/S101: Configuration for custom acronyms
NET-2280 New Rule T0048: Avoid
is not { } valueNET-3802 Update RSPEC before 10.28 release
NET-3818 Change Protobuf Info message to Debug
NET-3820 Coverage warnings should surface as Analysis Warnings
NET-3827 Create RSPEC for S8717: Multiple "[Key]" attributes should not be used to define a composite key
NET-3843 Implement rule S8717: Multiple "[Key]" attributes should not be used to define a composite key
NET-3949 Modify rule S2696: add fix guidance, compliant example, and exceptions
NET-3950 Modify rule S1135: add compliant example and fix guidance
NET-3951 Modify rule S108: give the C# page its own code examples
NET-3952 Modify rule S1133: add rationale, fix guidance, code examples
NET-3953 Modify rule S3251: add compliant example, fix guidance, and exceptions
NET-3967 Move S1313 out of hotspot
NET-3969 Move S2077 out of hotspot
NET-3972 Move S2092 and S3330 out of hotspot
NET-3973 Move S2245 out of hotspot
NET-3975 Move S2257 out of hotspot
NET-3976 Move S4036 out of hotspot
NET-3978 Move S4502 out of hotspot
NET-3980 Move S4507 out of hotspot
NET-3982 Move S5122 out of hotspot
NET-3983 Move S5332 out of hotspot
NET-3993 Move S5443 out of hotspot
NET-3995 Move S5753 out of hotspot
NET-3996 Move S5766 out of hotspot
NET-3998 Move S6640 out of hotspot
NET-4000 Move S4790 out of hotspot
NET-4001 Move S5693 out of hotspot
NET-4008 Change S1313 message
NET-4009 Change S2257 message
NET-4010 Change S4036 message
NET-4011 Change S2077 message
False Positive
NET-3564 Fix FP S6966: Do not raise for methods for SqlDataReader.IsDBNull/GetFieldValue
NET-3808 Fix S4260 FP: Don't raise on extension properties
NET-3821 Fix S1244 FP: Should not raise on comparison to 0
NET-3825 Fix S2221 FP: Do not raise on async void
NET-3878 Fix S3358 FP: Suggesting to extract ternary from EF Core select
NET-3914 Fix T0044 FP: Should not raise on locator annotaitons
NET-3926 Fix S6608 FP: Should not raise inside expression tree
NET-3927 Fix S6603 FP: Should not raise inside expression tree
NET-3932 S2068: Do not raise on @paramName and $paramName
False Negative
NET-1673 Fix S4790 FN: default parameters
NET-2846 Fix S1117 FN: Extensions, Partial Events
... (truncated)
Commits viewable in compare view.
Updated SQLitePCLRaw.bundle_e_sqlite3 from 3.0.3 to 3.0.4.
Release notes
Sourced from SQLitePCLRaw.bundle_e_sqlite3's releases.
3.0.4
Update SQLitePCLRaw.bundle_e_sqlite3 to reference SourceGear.sqlite3 version 3.53.3.
Commits viewable in compare view.
Updated System.Linq.Dynamic.Core from 1.7.2 to 1.7.3.
Release notes
Sourced from System.Linq.Dynamic.Core's releases.
1.7.3
What's Changed
Full Changelog: zzzprojects/System.Linq.Dynamic.Core@v1.7.2...v1.7.3
Commits viewable in compare view.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>will remove the ignore condition of the specified dependency and ignore conditions