Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4d2a4383cd
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
🟢 Approval recommended
The changes are primarily dependency/tooling updates with a single minor CI script robustness nit noted in review comments.
Pull request overview
This PR refreshes NuGet dependencies and build/developer tooling across the Exceptionless .NET repo (tests, platform integrations, samples, CI, and devcontainer) while keeping target frameworks and production code behavior unchanged.
Changes:
- Updates test tooling to xUnit v4 / MTP-off + Microsoft.NET.Test.Sdk 18.9.0, and adjusts assembly-level parallelism configuration.
- Bumps key integration dependencies (e.g., NLog, log4net, MessagePack, Microsoft.Extensions packages, AWS Lambda/AWS SDK sample refs).
- Modernizes CI/workflow tooling (checkout/setup-dotnet majors, MinVer CLI), adds Dependabot coverage for additional ecosystems, and refreshes the devcontainer image/lock.
File summaries
| File | Description |
|---|---|
| test/Exceptionless.Tests/Properties/AssemblyInfo.cs | Updates assembly-level xUnit parallelism control for xUnit v4. |
| test/Exceptionless.Tests/Exceptionless.Tests.csproj | Bumps test SDK and switches to xUnit v4 MTP-off + VS adapter v4. |
| test/Exceptionless.TestHarness/Exceptionless.TestHarness.csproj | Updates xUnit assertions package version. |
| test/Exceptionless.MessagePack.Tests/Exceptionless.MessagePack.Tests.csproj | Bumps test SDK and switches to xUnit v4 MTP-off + VS adapter v4. |
| src/Platforms/Exceptionless.NLog/Exceptionless.NLog.csproj | Updates NLog dependency version. |
| src/Platforms/Exceptionless.MessagePack/Exceptionless.MessagePack.csproj | Updates MessagePack dependency version. |
| src/Platforms/Exceptionless.Log4net/Exceptionless.Log4net.csproj | Updates log4net dependency version. |
| src/Platforms/Exceptionless.Extensions.Logging/Exceptionless.Extensions.Logging.csproj | Updates Microsoft.Extensions.Logging versions per target framework. |
| src/Platforms/Exceptionless.Extensions.Hosting/Exceptionless.Extensions.Hosting.csproj | Updates Microsoft.Extensions.Hosting.Abstractions versions per target framework. |
| src/Exceptionless/Exceptionless.csproj | Updates core package references (Configuration.Abstractions, Reflection.Metadata). |
| samples/Exceptionless.SampleLambdaAspNetCore/Exceptionless.SampleLambdaAspNetCore.csproj | Updates AWS Setup + Lambda ASP.NET Core Server dependencies. |
| samples/Exceptionless.SampleLambda/Exceptionless.SampleLambda.csproj | Updates Lambda core + STJ serializer dependency versions. |
| samples/Exceptionless.SampleBlazorWebAssemblyApp/Exceptionless.SampleBlazorWebAssemblyApp.csproj | Updates Blazor WebAssembly package versions. |
| global.json | Updates pinned .NET SDK feature band version. |
| build/common.props | Updates SourceLink package version. |
| .github/workflows/build-windows.yml | Updates action majors, MinVer CLI, publish logic, and workflow permissions. |
| .github/workflows/build-osx.yml | Updates action majors, MinVer CLI, and checkout credential persistence behavior. |
| .github/workflows/build-linux.yml | Updates action majors, MinVer CLI, and checkout credential persistence behavior. |
| .github/dependabot.yml | Expands Dependabot coverage to Actions, Dev Containers, and dotnet-sdk. |
| .devcontainer/devcontainer.json | Updates devcontainer base image and adds dotnet feature configuration. |
| .devcontainer/devcontainer-lock.json | Adds devcontainer feature lock for reproducibility. |
Review details
- Files reviewed: 21/21 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Refresh client, sample, and build dependencies, and replace the vulnerable
gprpublishing tool with native NuGet publishing. Fix a settings-initialization race that could throw during concurrent logging by replacing two dependent cache writes with one atomic lookup and removing the unused cache. Public APIs and target frameworks are preserved.Validation: six Linux/macOS/Windows CI builds passed; September 21 review passed 312 tests (18 existing skips), behavior comparisons, and refreshed NuGet/OSV security audits.
Compatibility: dependency minimums increase, and log4net 3.4 changes some appender timeout defaults. Legacy Windows sample builds/runtime, desktop interaction, and hosted AWS invocation remain unverified locally. One reviewer approval is required before merge.
Verification and implementation details
Changes and rationale
xunit.v3.mtp-offpackage preserves VSTest and existingdotnet testcommands. The new parallelization attribute preserves serial execution.actions/checkout@v7andactions/setup-dotnet@v6, restrict workflow permissions, and disable persisted checkout credentials. Add Dependabot coverage for Actions, Dev Container Features, and the SDK. Action major tags are intentionally mutable.gprremoves its embedded vulnerable Newtonsoft.Json/NuGet dependencies.global.jsonremains the SDK version owner.GetOrAddpreserves the prefix comparer without adding locks or changing filtering rules. Regression coverage exercises concurrent cold starts and subsequent settings updates.Evidence
Reviewed head:
f9ddd3de39a7a8515d66f2df7fa7c39cb323fde6; base:5eb567a599c1a6fd9a704d79dda1418488a88526.packages.config.Core reproduction commands:
On Windows, build and test
Exceptionless.Net.Windows.slnxnatively. Cross-target restore/build on macOS does not prove Windows runtime behavior. NuGet/OSV checks are not a container OS vulnerability scan.Upstream compatibility references
log4net 3.4.0 and timeout changes, NLog 6.2, xUnit 4.0 migration, Test SDK 18.9, AWS Lambda, and AWS SDK.