Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V4.0.0/init-dotnet9 #24

Merged
merged 9 commits into from
Sep 6, 2024
Merged

V4.0.0/init-dotnet9 #24

merged 9 commits into from
Sep 6, 2024

Conversation

gimlichael
Copy link
Member

@gimlichael gimlichael commented Sep 6, 2024

PR Classification

Code cleanup and feature update to support .NET 9.0 and remove .NET 6.0.

PR Summary

This PR updates the project to support .NET 9.0, removes .NET 6.0 support, and includes various code cleanups and dependency updates.

  • Updated pipelines.yml to include .NET 9.0 and remove .NET 6.0,
  • Updated PackageReleaseNotes.txt and CHANGELOG.md for version 4.0.0, highlighting .NET 9 readiness,
  • Updated Directory.Build.props and multiple .csproj files to change target frameworks and update dependencies,
  • Fixed method calls and documentation comments in CloudEvent.cs and AzureQueue.cs,
  • Removed redundant parameter names in Validator method calls across multiple files.

Summary by CodeRabbit

  • New Features

    • Updated support for .NET 9 alongside .NET 8 across multiple packages.
    • Introduced preview versions of various dependencies to leverage new features.
  • Chores

    • Updated project files to reflect new package versions and target frameworks.

Copy link

coderabbitai bot commented Sep 6, 2024

Walkthrough

The changes consist of updates across multiple files, primarily focusing on version increments for various packages to support .NET 9.0 and .NET 8.0, while removing support for .NET 6.0. Additionally, modifications to GitHub Actions workflows reflect the updated framework versions and the inclusion of preview SDK installations. The Directory.Build.props file has been updated to enhance compatibility and improve testing capabilities.

Changes

File(s) Change Summary
.github/workflows/pipelines.yml Updated .NET framework versions from [net8.0, net6.0] to [net9.0, net8.0], added includePreview: true.
Directory.Build.props Updated target frameworks to include net9.0; updated package versions for MinVer and Microsoft.NET.Test.Sdk.
src/.../Savvyio.Core.csproj Updated package references to Cuemon packages to version 9.0.0-preview.4.
src/.../Savvyio.Extensions.DependencyInjection.csproj Updated package reference for Cuemon.Extensions.DependencyInjection to version 9.0.0-preview.4.
src/.../Savvyio.Extensions.EFCore.Domain.EventSourcing.csproj Added new package reference for Microsoft.EntityFrameworkCore.Relational for .NET 9.
src/.../Savvyio.Extensions.EFCore.csproj Added new package reference for Microsoft.EntityFrameworkCore for .NET 9.
test/.../Savvyio.Assets.EfCore.Tests.csproj Added new item group for .NET 9 with references to Microsoft.EntityFrameworkCore packages.
test/.../Savvyio.Commands.Tests.csproj Updated package references for Cuemon.Extensions.IO and Cuemon.Extensions.Text.Json to 9.0.0-preview.4.
test/.../Savvyio.EventDriven.Tests.csproj Updated package reference for Cuemon.Extensions.IO to version 9.0.0-preview.4.
test/.../Savvyio.Extensions.DependencyInjection.EFCore.Tests.csproj Added new item group for .NET 9 with reference to Microsoft.EntityFrameworkCore.InMemory.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant Application
    participant Validator

    User->>Application: Submit request
    Application->>Validator: Validate input
    Validator-->>Application: Validation result
    Application-->>User: Response
Loading

🐰 In the meadow, changes bloom,
New versions rise, dispelling gloom.
.NET 9 hops in with glee,
While old friends bid farewell, you see.
With every tweak, the code takes flight,
A joyful dance in the digital light! 🌼


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

Outside diff range, codebase verification and nitpick comments (5)
src/Savvyio.Extensions.EFCore/Savvyio.Extensions.EFCore.csproj (1)

8-10: Approved addition of .NET 9 support with caution.

The addition of Microsoft.EntityFrameworkCore version 9.0.0-preview.7.24405.3 for .NET 9 targets is approved. However, be cautious with the use of preview versions in production environments as they may introduce instability.

src/Savvyio.Extensions.QueueStorage/Savvyio.Extensions.QueueStorage.csproj (1)

12-12: Approved version update with caution.

Updating Cuemon.Extensions.IO to version 9.0.0-preview.4 is approved as part of the modernization effort. However, ensure thorough testing due to the potential instability of preview versions.

.nuget/Savvyio.Extensions.DependencyInjection.Domain/PackageReleaseNotes.txt (1)

1-2: Update Required in Documentation

The README.md file still references .NET 6, which should be updated to reflect the current framework support of .NET 9 and .NET 8 as per the package release notes. Please ensure all documentation is consistent with the latest changes.

  • File to update: README.md
Analysis chain

Version and Availability Update Approved

The update to version 4.0.0 and the shift in framework support from .NET 6 to .NET 9 are consistent with the PR objectives. Ensure that all related documentation and dependency declarations are updated to reflect these changes.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify consistency of version and availability across all related documentation and dependency declarations.

# Test: Search for old version and framework mentions. Expect: No occurrences of version 3.0.0 or .NET 6.
rg --type txt -e 'Version: 3.0.0' -e '.NET 6'

Length of output: 196


Script:

#!/bin/bash
# Description: Verify consistency of version and availability across all files in the repository.

# Test: Search for old version and framework mentions. Expect: No occurrences of version 3.0.0 or .NET 6.
rg -e 'Version: 3.0.0' -e '.NET 6'

Length of output: 223

.nuget/Savvyio.Messaging/PackageReleaseNotes.txt (1)

1-2: Inconsistency in Documentation: Update README.md

The README.md file still references .NET 6, which is inconsistent with the updated support for .NET 9 and .NET 8 as mentioned in the PackageReleaseNotes.txt. Please update the README.md to reflect the current framework support.

  • File: README.md
  • Line: Mentions .NET 6
Analysis chain

Version and Availability Update Approved

The update to version 4.0.0 and the shift in framework support from .NET 6 to .NET 9 are consistent with the PR objectives. Ensure that all related documentation and dependency declarations are updated to reflect these changes.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify consistency of version and availability across all related documentation and dependency declarations.

# Test: Search for old version and framework mentions. Expect: No occurrences of version 3.0.0 or .NET 6.
rg --type txt -e 'Version: 3.0.0' -e '.NET 6'

Length of output: 196


Script:

#!/bin/bash
# Description: Verify consistency of version and availability across all files in the repository.

# Test: Search for old version and framework mentions. Expect: No occurrences of version 3.0.0 or .NET 6.
rg -e 'Version: 3.0.0' -e '.NET 6'

Length of output: 223

test/Savvyio.Assets.Tests/Savvyio.Assets.Tests.csproj (1)

Issue Found: Unresolved References to Removed Package

The package Cuemon.Security.Cryptography has been removed from the project file, but references to it still exist in the codebase. This could lead to build errors or runtime issues. Please verify whether these cryptographic functionalities have been replaced by another package or if the references should be removed.

  • test/Savvyio.Domain.Tests/DomainEventDispatcherExtensionsTest.cs
  • src/Savvyio.Messaging/Cryptography/MessageExtensions.cs
  • src/Savvyio.Messaging/Cryptography/SignedMessageOptions.cs
  • src/Savvyio.EventDriven.Messaging/CloudEvents/Cryptography/CloudEventExtensions.cs
  • test/Savvyio.Assets.Tests/Domain/Credentials.cs
Analysis chain

Line range hint 1-1: Verify Impact of Removed Package Reference

The removal of Cuemon.Security.Cryptography could impact cryptographic functionalities. Verify that this functionality is either no longer needed or has been adequately replaced by an alternative solution.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify if cryptographic functionalities have been replaced or are no longer needed.

# Test: Search for references to `Cuemon.Security.Cryptography`. Expect: No occurrences if functionality is replaced or removed.
rg --type cs -e 'Cuemon.Security.Cryptography'

Length of output: 537

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 915ca90 and 2f8fa02.

Files selected for processing (98)
  • .github/workflows/pipelines.yml (5 hunks)
  • .nuget/Savvyio.App/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.App/README.md (1 hunks)
  • .nuget/Savvyio.Commands.Messaging/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.Commands.Messaging/README.md (1 hunks)
  • .nuget/Savvyio.Commands/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.Commands/README.md (1 hunks)
  • .nuget/Savvyio.Core/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.Core/README.md (1 hunks)
  • .nuget/Savvyio.Domain.EventSourcing/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.Domain.EventSourcing/README.md (1 hunks)
  • .nuget/Savvyio.Domain/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.Domain/README.md (1 hunks)
  • .nuget/Savvyio.EventDriven.Messaging/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.EventDriven.Messaging/README.md (1 hunks)
  • .nuget/Savvyio.EventDriven/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.EventDriven/README.md (1 hunks)
  • .nuget/Savvyio.Extensions.Dapper/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.Extensions.Dapper/README.md (1 hunks)
  • .nuget/Savvyio.Extensions.DapperExtensions/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.Extensions.DapperExtensions/README.md (1 hunks)
  • .nuget/Savvyio.Extensions.DependencyInjection.Dapper/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.Extensions.DependencyInjection.Dapper/README.md (1 hunks)
  • .nuget/Savvyio.Extensions.DependencyInjection.DapperExtensions/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.Extensions.DependencyInjection.DapperExtensions/README.md (1 hunks)
  • .nuget/Savvyio.Extensions.DependencyInjection.Domain/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.Extensions.DependencyInjection.Domain/README.md (1 hunks)
  • .nuget/Savvyio.Extensions.DependencyInjection.EFCore.Domain.EventSourcing/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.Extensions.DependencyInjection.EFCore.Domain.EventSourcing/README.md (1 hunks)
  • .nuget/Savvyio.Extensions.DependencyInjection.EFCore.Domain/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.Extensions.DependencyInjection.EFCore.Domain/README.md (1 hunks)
  • .nuget/Savvyio.Extensions.DependencyInjection.EFCore/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.Extensions.DependencyInjection.EFCore/README.md (1 hunks)
  • .nuget/Savvyio.Extensions.DependencyInjection.QueueStorage/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.Extensions.DependencyInjection.QueueStorage/README.md (1 hunks)
  • .nuget/Savvyio.Extensions.DependencyInjection.SimpleQueueService/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.Extensions.DependencyInjection.SimpleQueueService/README.md (1 hunks)
  • .nuget/Savvyio.Extensions.DependencyInjection/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.Extensions.DependencyInjection/README.md (1 hunks)
  • .nuget/Savvyio.Extensions.Dispatchers/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.Extensions.Dispatchers/README.md (1 hunks)
  • .nuget/Savvyio.Extensions.EFCore.Domain.EventSourcing/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.Extensions.EFCore.Domain.EventSourcing/README.md (1 hunks)
  • .nuget/Savvyio.Extensions.EFCore.Domain/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.Extensions.EFCore.Domain/README.md (1 hunks)
  • .nuget/Savvyio.Extensions.EFCore/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.Extensions.EFCore/README.md (1 hunks)
  • .nuget/Savvyio.Extensions.Newtonsoft.Json/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.Extensions.Newtonsoft.Json/README.md (1 hunks)
  • .nuget/Savvyio.Extensions.QueueStorage/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.Extensions.QueueStorage/README.md (1 hunks)
  • .nuget/Savvyio.Extensions.SimpleQueueService/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.Extensions.SimpleQueueService/README.md (1 hunks)
  • .nuget/Savvyio.Extensions.Text.Json/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.Extensions.Text.Json/README.md (1 hunks)
  • .nuget/Savvyio.Messaging/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.Messaging/README.md (1 hunks)
  • .nuget/Savvyio.Queries/PackageReleaseNotes.txt (1 hunks)
  • .nuget/Savvyio.Queries/README.md (1 hunks)
  • CHANGELOG.md (1 hunks)
  • Directory.Build.props (4 hunks)
  • README.md (1 hunks)
  • src/Savvyio.Core/Savvyio.Core.csproj (1 hunks)
  • src/Savvyio.EventDriven.Messaging/CloudEvents/CloudEvent.cs (1 hunks)
  • src/Savvyio.Extensions.DependencyInjection/Savvyio.Extensions.DependencyInjection.csproj (1 hunks)
  • src/Savvyio.Extensions.EFCore.Domain.EventSourcing/Savvyio.Extensions.EFCore.Domain.EventSourcing.csproj (1 hunks)
  • src/Savvyio.Extensions.EFCore.Domain/Savvyio.Extensions.EFCore.Domain.csproj (1 hunks)
  • src/Savvyio.Extensions.EFCore/EfCoreQueryOptions.cs (1 hunks)
  • src/Savvyio.Extensions.EFCore/Savvyio.Extensions.EFCore.csproj (1 hunks)
  • src/Savvyio.Extensions.Newtonsoft.Json/Savvyio.Extensions.Newtonsoft.Json.csproj (1 hunks)
  • src/Savvyio.Extensions.QueueStorage/AzureQueue.cs (1 hunks)
  • src/Savvyio.Extensions.QueueStorage/Savvyio.Extensions.QueueStorage.csproj (1 hunks)
  • src/Savvyio.Extensions.SimpleQueueService/Savvyio.Extensions.SimpleQueueService.csproj (1 hunks)
  • src/Savvyio.Extensions.Text.Json/Savvyio.Extensions.Text.Json.csproj (1 hunks)
  • test/Savvyio.Assets.EfCore.Tests/Savvyio.Assets.EfCore.Tests.csproj (1 hunks)
  • test/Savvyio.Assets.Tests/Domain/Account.cs (1 hunks)
  • test/Savvyio.Assets.Tests/Domain/Credentials.cs (1 hunks)
  • test/Savvyio.Assets.Tests/Domain/EmailAddress.cs (1 hunks)
  • test/Savvyio.Assets.Tests/Domain/EventSourcing/TracedAccount.cs (2 hunks)
  • test/Savvyio.Assets.Tests/Domain/FullName.cs (1 hunks)
  • test/Savvyio.Assets.Tests/Domain/Name.cs (1 hunks)
  • test/Savvyio.Assets.Tests/Domain/PlatformProvider.cs (2 hunks)
  • test/Savvyio.Assets.Tests/Domain/ThirdLevelDomainName.cs (2 hunks)
  • test/Savvyio.Assets.Tests/Domain/UserAccount.cs (1 hunks)
  • test/Savvyio.Assets.Tests/Domain/UserAccountFailedLogonAttempt.cs (1 hunks)
  • test/Savvyio.Assets.Tests/Domain/UserAccountPassword.cs (1 hunks)
  • test/Savvyio.Assets.Tests/Savvyio.Assets.Tests.csproj (1 hunks)
  • test/Savvyio.Commands.Tests/Savvyio.Commands.Tests.csproj (1 hunks)
  • test/Savvyio.Core.Tests/Messaging/MessageOptionsTest.cs (2 hunks)
  • test/Savvyio.Domain.EventSourcing.Tests/TracedAggregateRootTest.cs (2 hunks)
  • test/Savvyio.EventDriven.Tests/Savvyio.EventDriven.Tests.csproj (1 hunks)
  • test/Savvyio.Extensions.DependencyInjection.EFCore.Tests/Savvyio.Extensions.DependencyInjection.EFCore.Tests.csproj (1 hunks)
  • test/Savvyio.Extensions.Newtonsoft.Json.Tests/Savvyio.Extensions.Newtonsoft.Json.Tests.csproj (1 hunks)
  • test/Savvyio.Extensions.QueueStorage.Tests/AzureQueueOptionsTest.cs (3 hunks)
  • test/Savvyio.Extensions.SimpleQueueService.Tests/AmazonMessageOptionsTest.cs (3 hunks)
  • test/Savvyio.Extensions.SimpleQueueService.Tests/AmazonResourceNameOptionsTest.cs (3 hunks)
  • test/Savvyio.Extensions.Text.Json.Tests/Savvyio.Extensions.Text.Json.Tests.csproj (1 hunks)
  • test/Savvyio.FunctionalTests/DistributedMediatorTest.cs (6 hunks)
Files skipped from review due to trivial changes (37)
  • .nuget/Savvyio.App/README.md
  • .nuget/Savvyio.Commands.Messaging/README.md
  • .nuget/Savvyio.Commands/README.md
  • .nuget/Savvyio.Core/README.md
  • .nuget/Savvyio.Domain.EventSourcing/README.md
  • .nuget/Savvyio.Domain/README.md
  • .nuget/Savvyio.EventDriven.Messaging/README.md
  • .nuget/Savvyio.EventDriven/README.md
  • .nuget/Savvyio.Extensions.Dapper/README.md
  • .nuget/Savvyio.Extensions.DapperExtensions/README.md
  • .nuget/Savvyio.Extensions.DependencyInjection.Dapper/README.md
  • .nuget/Savvyio.Extensions.DependencyInjection.DapperExtensions/README.md
  • .nuget/Savvyio.Extensions.DependencyInjection.Domain/README.md
  • .nuget/Savvyio.Extensions.DependencyInjection.EFCore.Domain.EventSourcing/README.md
  • .nuget/Savvyio.Extensions.DependencyInjection.EFCore.Domain/README.md
  • .nuget/Savvyio.Extensions.DependencyInjection.EFCore/README.md
  • .nuget/Savvyio.Extensions.DependencyInjection.QueueStorage/README.md
  • .nuget/Savvyio.Extensions.DependencyInjection.SimpleQueueService/README.md
  • .nuget/Savvyio.Extensions.DependencyInjection/README.md
  • .nuget/Savvyio.Extensions.Dispatchers/README.md
  • .nuget/Savvyio.Extensions.EFCore.Domain.EventSourcing/README.md
  • .nuget/Savvyio.Extensions.EFCore.Domain/README.md
  • .nuget/Savvyio.Extensions.EFCore/README.md
  • .nuget/Savvyio.Extensions.Newtonsoft.Json/README.md
  • .nuget/Savvyio.Extensions.QueueStorage/README.md
  • .nuget/Savvyio.Extensions.SimpleQueueService/README.md
  • .nuget/Savvyio.Extensions.Text.Json/README.md
  • .nuget/Savvyio.Messaging/README.md
  • .nuget/Savvyio.Queries/README.md
  • CHANGELOG.md
  • README.md
  • src/Savvyio.Extensions.EFCore/EfCoreQueryOptions.cs
  • src/Savvyio.Extensions.QueueStorage/AzureQueue.cs
  • test/Savvyio.Assets.Tests/Domain/Credentials.cs
  • test/Savvyio.Assets.Tests/Domain/EventSourcing/TracedAccount.cs
  • test/Savvyio.Extensions.SimpleQueueService.Tests/AmazonMessageOptionsTest.cs
  • test/Savvyio.Extensions.SimpleQueueService.Tests/AmazonResourceNameOptionsTest.cs
Additional comments not posted (112)
test/Savvyio.Assets.Tests/Domain/Name.cs (1)

15-15: Consider the impact of removing parameter names from error messages.

The change to Validator.ThrowIfNullOrWhitespace(value); simplifies the code but may reduce the clarity of error messages, which could impact debugging and error handling. Consider whether the benefits of this simplification outweigh the potential drawbacks in terms of error message clarity.

test/Savvyio.Assets.Tests/Domain/EmailAddress.cs (1)

15-16: Consider the impact of removing parameter names from error messages.

The changes to Validator.ThrowIfNullOrWhitespace(value); and Validator.ThrowIfNotEmailAddress(value); simplify the code but may reduce the clarity of error messages, which could impact debugging and error handling. Consider whether the benefits of this simplification outweigh the potential drawbacks in terms of error message clarity.

test/Savvyio.Assets.Tests/Domain/FullName.cs (1)

19-19: Consider the impact of removing parameter names from error messages.

The change to Validator.ThrowIfNullOrWhitespace(value); simplifies the code but may reduce the clarity of error messages, which could impact debugging and error handling. Consider whether the benefits of this simplification outweigh the potential drawbacks in terms of error message clarity.

test/Savvyio.EventDriven.Tests/Savvyio.EventDriven.Tests.csproj (1)

8-8: Approve package version update but verify compatibility.

The update to Cuemon.Extensions.IO version 9.0.0-preview.4 is noted. It's crucial to ensure this version is compatible with .NET 9.0 and other project dependencies.

src/Savvyio.Extensions.Newtonsoft.Json/Savvyio.Extensions.Newtonsoft.Json.csproj (1)

9-9: Approve package version update but verify stability and compatibility.

The update to Cuemon.Extensions.Newtonsoft.Json version 9.0.0-preview.4 is noted. Please ensure this version does not introduce breaking changes and is compatible with the rest of the project.

src/Savvyio.Extensions.Text.Json/Savvyio.Extensions.Text.Json.csproj (1)

9-9: Approve package version update but verify stability and compatibility.

The update to Cuemon.Extensions.Text.Json version 9.0.0-preview.4 is noted. Please ensure this version does not introduce breaking changes and is compatible with the rest of the project.

test/Savvyio.Commands.Tests/Savvyio.Commands.Tests.csproj (2)

9-9: Update approved but verify compatibility.

The update to Cuemon.Extensions.Text.Json version 9.0.0-preview.4 is approved. However, ensure compatibility with .NET 9.0 and check for any breaking changes.

Run the following script to verify compatibility:


8-8: Update approved but verify compatibility.

The update to Cuemon.Extensions.IO version 9.0.0-preview.4 is approved. However, ensure compatibility with .NET 9.0 and check for any breaking changes.

Run the following script to verify compatibility:

.nuget/Savvyio.Commands.Messaging/PackageReleaseNotes.txt (2)

1-1: Version update approved.

The update to version 4.0.0 is clearly documented and appropriate for the significant changes made.


2-2: Framework support update approved but verify dependency compatibility.

The update to support .NET 9 and .NET 8, while removing .NET 6, is approved. However, ensure that all dependencies and the codebase are compatible with these frameworks.

Run the following script to verify dependency compatibility:

test/Savvyio.Assets.Tests/Domain/ThirdLevelDomainName.cs (2)

15-15: Simplification approved but verify functionality.

The removal of the explicit parameter name in Validator.ThrowIfNullOrWhitespace simplifies the code. However, ensure that the method still functions correctly.

Run the following script to verify the functionality:

Verification successful

Verification successful: No issues found with method simplification.

The Validator.ThrowIfNullOrWhitespace method is used consistently across the codebase without explicit parameter names, and there are no indications of functionality issues. The simplification appears to be correct and does not impact the method's functionality.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the functionality of Validator.ThrowIfNullOrWhitespace without the explicit parameter name.

# Test: Search for method usage and ensure it functions correctly.
rg --type cs -A 5 $'Validator.ThrowIfNullOrWhitespace' src/

Length of output: 11237


16-16: Method replacement approved but verify constraint enforcement.

The replacement of Validator.ThrowIf.HasDifference with Validator.ThrowIfDifferent simplifies the validation logic. However, ensure that the new method enforces the same constraints as the old method.

Run the following script to verify the constraint enforcement:

test/Savvyio.Extensions.Text.Json.Tests/Savvyio.Extensions.Text.Json.Tests.csproj (1)

8-8: Approved: Update to Cuemon.Extensions.IO version 9.0.0-preview.4.

The update aligns with the project's transition to .NET 9.0. However, since this is a preview version of the package, it's crucial to verify its stability and compatibility with the project.

test/Savvyio.Extensions.Newtonsoft.Json.Tests/Savvyio.Extensions.Newtonsoft.Json.Tests.csproj (1)

8-8: Approved: Update to Cuemon.Extensions.IO version 9.0.0-preview.4.

This update is consistent across project files and supports the transition to .NET 9.0. Ensure to verify the stability and compatibility of the new package version with the project.

src/Savvyio.Extensions.EFCore.Domain/Savvyio.Extensions.EFCore.Domain.csproj (1)

9-9: Approved: Update to Cuemon.Extensions.IO version 9.0.0-preview.4.

The update is consistent across project files and supports the transition to .NET 9.0. Given the critical nature of the domain layer, ensure to thoroughly verify the stability and compatibility of the new package version with the project.

test/Savvyio.Assets.Tests/Domain/UserAccount.cs (1)

11-11: Simplified Validation Logic: Verify Error Reporting

The change to call Validator.ThrowIfNullOrWhitespace with only the userName parameter simplifies the code but may impact the clarity of error messages since the parameter name is no longer explicitly passed. Ensure that the validation method handles this gracefully and consider adding a unit test to verify the behavior.

src/Savvyio.Extensions.SimpleQueueService/Savvyio.Extensions.SimpleQueueService.csproj (1)

9-11: Updated Package Versions: Verify Compatibility

The updates to AWSSDK.SimpleNotificationService, AWSSDK.SQS, and Cuemon.Extensions.IO to newer versions, including a preview release, should be carefully reviewed for compatibility with the project's existing functionality. Particularly, the preview version of Cuemon.Extensions.IO might introduce new features or breaking changes. Verify that these updates do not affect the project adversely and consider testing thoroughly.

src/Savvyio.Core/Savvyio.Core.csproj (1)

10-13: Updated Package Versions to Preview Releases: Verify Compatibility

The updates to Cuemon.Security.Cryptography, Cuemon.Extensions.Core, Cuemon.Extensions.Collections.Generic, and Cuemon.Extensions.Reflection to preview versions should be carefully reviewed for compatibility with the project's existing functionality. Preview versions often include new features or potential breaking changes. Verify that these updates do not affect the project adversely and consider testing thoroughly.

src/Savvyio.Extensions.EFCore/Savvyio.Extensions.EFCore.csproj (1)

11-11: Suggest removal of .NET 6 reference.

The <ItemGroup> targeting .NET 6 should be removed to align with the PR objectives of dropping support for .NET 6.

-  <ItemGroup Condition="$(TargetFramework.StartsWith('net6'))">
-    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.33" />
-  </ItemGroup>

Likely invalid or redundant comment.

.nuget/Savvyio.Extensions.DapperExtensions/PackageReleaseNotes.txt (1)

1-6: Approved updates in release notes.

The updates to the version number and supported frameworks in the release notes are well-documented and align with the PR's objectives. The transition from .NET 6 to .NET 9 is clearly marked, aiding in user awareness of the changes.

test/Savvyio.Assets.EfCore.Tests/Savvyio.Assets.EfCore.Tests.csproj (3)

7-10: Approved addition of .NET 9 support.

The addition of the new ItemGroup for .NET 9 with specific package references is correctly implemented and aligns with the PR objectives to support newer .NET versions.


7-10: Consider removing .NET 6 support.

The PR aims to remove support for .NET 6, but the ItemGroup for .NET 6 is still present. Consider removing or disabling this group to align with the PR objectives.

-  <ItemGroup Condition="$(TargetFramework.StartsWith('net6'))">
-    <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="6.0.33" />
-    <PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="6.0.33" />
-  </ItemGroup>

Likely invalid or redundant comment.


7-10: Reminder to update preview versions to stable releases.

The packages for .NET 9 are currently set to a preview version. Ensure to update these to stable versions once they are available to avoid potential issues in production.

.nuget/Savvyio.Extensions.DependencyInjection.DapperExtensions/PackageReleaseNotes.txt (2)

1-6: Approved updates to version and framework availability.

The version increment to 4.0.0 and the update in framework availability to include .NET 9 and exclude .NET 6 are correctly documented and align with the PR objectives.


1-6: Strategic move to support newer .NET versions.

The removal of .NET 6 support and the focus on .NET 9 and .NET 8 reflect a strategic move to streamline support and enhance functionality in line with current technology standards.

src/Savvyio.Extensions.EFCore.Domain.EventSourcing/Savvyio.Extensions.EFCore.Domain.EventSourcing.csproj (3)

8-10: Approved addition of .NET 9 support.

The addition of the new ItemGroup for .NET 9 with a specific package reference is correctly implemented and aligns with the PR objectives to support newer .NET versions.


8-10: Consider removing .NET 6 support.

The PR aims to remove support for .NET 6, but the ItemGroup for .NET 6 is still present. Consider removing or disabling this group to align with the PR objectives.

-  <ItemGroup Condition="$(TargetFramework.StartsWith('net6'))">
-    <PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="6.0.33" />
-  </ItemGroup>

Likely invalid or redundant comment.


8-10: Reminder to update preview versions to stable releases.

The package for .NET 9 is currently set to a preview version. Ensure to update this to a stable version once it is available to avoid potential issues in production.

Verification successful

Reminder to update preview versions to stable releases. The Microsoft.EntityFrameworkCore.Relational package for .NET 9 is currently set to a preview version (9.0.0-preview.7.24405.3). Ensure to update this to a stable version once it is available to avoid potential issues in production.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for stable versions of the package.

# Test: Search for stable versions of the package. Expect: Stable versions available.
rg --type xml -A 5 $'Version="9.0.0"'

Length of output: 187


Script:

#!/bin/bash
# Description: Search for any version of the Microsoft.EntityFrameworkCore.Relational package in the codebase.

# Test: Search for any version of the package. Expect: Find any version references.
rg --type xml -A 5 'Microsoft.EntityFrameworkCore.Relational'

Length of output: 210


Script:

#!/bin/bash
# Description: List all XML files and search for the Microsoft.EntityFrameworkCore.Relational package.

# List all XML files in the repository.
fd --extension xml > xml_files.txt

# Search for any version of the package in the listed XML files.
xargs rg -A 5 'Microsoft.EntityFrameworkCore.Relational' < xml_files.txt

Length of output: 4196

test/Savvyio.Extensions.DependencyInjection.EFCore.Tests/Savvyio.Extensions.DependencyInjection.EFCore.Tests.csproj (1)

16-18: Approved: Addition of .NET 9 support.

The addition of the ItemGroup for .NET 9 with the specific version of Microsoft.EntityFrameworkCore.InMemory aligns with the PR's objectives to support newer .NET versions. Ensure that the project's documentation and other configurations are updated to reflect this change.

.nuget/Savvyio.Extensions.DependencyInjection.QueueStorage/PackageReleaseNotes.txt (1)

1-7: Approved: Updated release notes for version 4.0.0.

The updates to the release notes accurately reflect the transition to version 4.0.0 and the shift in framework support from .NET 6 to .NET 8 and .NET 9. This change is well-documented and aligns with the PR's objectives.

.nuget/Savvyio.Domain.EventSourcing/PackageReleaseNotes.txt (1)

1-7: Approved: Updated release notes for version 4.0.0.

The updates to the release notes accurately reflect the transition to version 4.0.0 and the shift in framework support from .NET 6 to .NET 8 and .NET 9. This change is well-documented and aligns with the PR's objectives.

.nuget/Savvyio.Extensions.QueueStorage/PackageReleaseNotes.txt (2)

1-1: Version Update Approved

The update from version 3.0.0 to 4.0.0 is correctly documented, reflecting the major changes made in this release.


2-6: Framework Availability and Dependency Updates Approved

The shift to support only .NET 9 and .NET 8, along with updated dependencies, is well-documented and aligns with the strategic move to embrace newer .NET versions.

.nuget/Savvyio.Extensions.DependencyInjection.Dapper/PackageReleaseNotes.txt (2)

1-1: Version Update Approved

The update from version 3.0.0 to 4.0.0 is correctly documented, reflecting the major changes made in this release.


2-6: Framework Availability and Dependency Updates Approved

The shift to support only .NET 9 and .NET 8, along with updated dependencies, is well-documented and aligns with the strategic move to embrace newer .NET versions.

.nuget/Savvyio.Extensions.EFCore.Domain/PackageReleaseNotes.txt (2)

1-1: Version Update Approved

The update from version 3.0.0 to 4.0.0 is correctly documented, reflecting the major changes made in this release.


2-6: Framework Availability and Dependency Updates Approved

The shift to support only .NET 9 and .NET 8, along with updated dependencies, is well-documented and aligns with the strategic move to embrace newer .NET versions.

.nuget/Savvyio.Extensions.Dapper/PackageReleaseNotes.txt (4)

1-1: Version updated to 4.0.0

The version number has been correctly updated to reflect the major release. This change aligns with the PR objectives to support .NET 9.0 and remove .NET 6.0 support.


2-2: Updated framework availability

The availability has been updated to only include .NET 9 and .NET 8, correctly reflecting the removal of support for .NET 6. This change is significant as it affects users relying on the older framework version.


5-5: Removed support for .NET 6 (LTS)

This line correctly documents the removal of support for .NET 6 (LTS), which is a significant change in the package's compatibility. It's important to ensure that this is clearly communicated to the users.


6-6: Dependencies updated

The dependencies have been updated to align with the new target frameworks. This is a necessary change to ensure compatibility and leverage the latest features available in the newer .NET versions.

.nuget/Savvyio.Extensions.Dispatchers/PackageReleaseNotes.txt (4)

1-1: Version updated to 4.0.0

The version number has been correctly updated to reflect the major release. This change aligns with the PR objectives to support .NET 9.0 and remove .NET 6.0 support.


2-2: Updated framework availability

The availability has been updated to only include .NET 9 and .NET 8, correctly reflecting the removal of support for .NET 6. This change is significant as it affects users relying on the older framework version.


5-5: Removed support for .NET 6 (LTS)

This line correctly documents the removal of support for .NET 6 (LTS), which is a significant change in the package's compatibility. It's important to ensure that this is clearly communicated to the users.


6-6: Dependencies updated

The dependencies have been updated to align with the new target frameworks. This is a necessary change to ensure compatibility and leverage the latest features available in the newer .NET versions.

.nuget/Savvyio.Extensions.DependencyInjection.EFCore.Domain.EventSourcing/PackageReleaseNotes.txt (4)

1-1: Version updated to 4.0.0

The version number has been correctly updated to reflect the major release. This change aligns with the PR objectives to support .NET 9.0 and remove .NET 6.0 support.


2-2: Updated framework availability

The availability has been updated to only include .NET 9 and .NET 8, correctly reflecting the removal of support for .NET 6. This change is significant as it affects users relying on the older framework version.


5-5: Removed support for .NET 6 (LTS)

This line correctly documents the removal of support for .NET 6 (LTS), which is a significant change in the package's compatibility. It's important to ensure that this is clearly communicated to the users.


6-6: Dependencies updated

The dependencies have been updated to align with the new target frameworks. This is a necessary change to ensure compatibility and leverage the latest features available in the newer .NET versions.

.nuget/Savvyio.Queries/PackageReleaseNotes.txt (2)

1-2: Version and Framework Availability Updated Correctly

The updates to the version number and supported frameworks are accurate and align with the PR's objectives to transition to .NET 9.0 and remove .NET 6.0 support.


4-6: ALM Changes Reflect Strategic Shift

The removal of .NET 6 support and the update to the latest dependencies are well-documented and reflect a strategic shift towards supporting newer .NET versions. These changes are crucial for maintaining the package's relevance and compatibility.

.nuget/Savvyio.Extensions.DependencyInjection.EFCore.Domain/PackageReleaseNotes.txt (2)

1-2: Version and Framework Availability Updated Correctly

The updates to the version number and supported frameworks are accurate and align with the PR's objectives to transition to .NET 9.0 and remove .NET 6.0 support.


4-6: ALM Changes Reflect Strategic Shift

The removal of .NET 6 support and the update to the latest dependencies are well-documented and reflect a strategic shift towards supporting newer .NET versions. These changes are crucial for maintaining the package's relevance and compatibility.

test/Savvyio.Core.Tests/Messaging/MessageOptionsTest.cs (1)

Line range hint 35-50: Simplified Validation Logic Correctly Implemented

The changes to the validation method calls simplify the code and align with the PR's objectives. The exception handling remains robust, ensuring that the expected exception messages are still validated correctly.

Run the following script to verify the appropriateness of the exception messages:

Verification successful

Simplified Validation Logic Correctly Implemented

The changes to the validation method calls in the MessageOptionsTest class simplify the code and maintain robust exception handling. The exception messages and types are correctly validated, confirming the appropriateness of the changes.

  • The exception messages in MessageOptionsTest are correctly formatted and match the expected output.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the exception messages in the `MessageOptionsTest` class.

# Test: Search for the exception messages. Expect: Only occurrences of the updated messages.
rg --type cs -A 5 $'Validator.ThrowIfInvalidOptions'

Length of output: 12559

test/Savvyio.Assets.Tests/Domain/PlatformProvider.cs (5)

16-17: Simplified validation logic approved.

The changes to remove the nameof parameter in validation calls simplify the code. However, consider the potential impact on the clarity of error messages, which might affect debugging or error handling.


40-40: Simplified validation logic approved.

The changes to remove the nameof parameter in validation calls simplify the code. However, consider the potential impact on the clarity of error messages, which might affect debugging or error handling.


48-48: Simplified validation logic approved.

The changes to remove the nameof parameter in validation calls simplify the code. However, consider the potential impact on the clarity of error messages, which might affect debugging or error handling.


56-56: Simplified validation logic approved.

The changes to remove the nameof parameter in validation calls simplify the code. However, consider the potential impact on the clarity of error messages, which might affect debugging or error handling.


64-64: Simplified validation logic approved.

The changes to remove the nameof parameter in validation calls simplify the code. However, consider the potential impact on the clarity of error messages, which might affect debugging or error handling.

.nuget/Savvyio.Extensions.Newtonsoft.Json/PackageReleaseNotes.txt (2)

1-1: Version update approved.

The update from version 3.0.0 to 4.0.0 correctly reflects the major changes made in this release.


2-2: Framework availability update approved.

The change from supporting .NET 8 and .NET 6 to .NET 9 and .NET 8 aligns with the strategic move to support newer .NET versions.

.nuget/Savvyio.Extensions.DependencyInjection.EFCore/PackageReleaseNotes.txt (4)

1-1: Version update approved.

The update from version 3.0.0 to 4.0.0 correctly reflects the major changes made in this release.


2-2: Framework availability update approved.

The change from supporting .NET 8 and .NET 6 to .NET 9 and .NET 8 aligns with the strategic move to support newer .NET versions.


5-5: Removal of .NET 6 support approved.

The explicit removal of support for .NET 6 is consistent with the PR's goal of focusing on newer, supported versions.


6-6: Dependency updates approved.

Updating dependencies to the latest versions ensures compatibility with the new framework versions and enhances security and performance.

.nuget/Savvyio.Extensions.DependencyInjection.SimpleQueueService/PackageReleaseNotes.txt (2)

1-1: Version update approved.

The update from version 3.0.0 to 4.0.0 correctly reflects the major changes made in this release.


2-2: Framework availability update approved.

The change from supporting .NET 8 and .NET 6 to .NET 9 and .NET 8 aligns with the strategic move to support newer .NET versions.

.nuget/Savvyio.Extensions.EFCore/PackageReleaseNotes.txt (4)

1-1: Version Update Approved

The update from version 3.0.0 to 4.0.0 is correctly documented, reflecting a major release.


2-2: Availability Update Approved

The update to include .NET 9 and .NET 8 while removing .NET 6 is correctly documented and aligns with the project's new direction.


5-5: Removal of Support for .NET 6 Approved

The explicit removal of support for .NET 6 (LTS) is well-documented, which is crucial for users relying on long-term support versions.


6-6: Dependency Updates Approved

The changes to dependencies to align with the latest and greatest with respect to the new target frameworks are well-documented.

.nuget/Savvyio.Extensions.EFCore.Domain.EventSourcing/PackageReleaseNotes.txt (4)

1-1: Version Update Approved

The update from version 3.0.0 to 4.0.0 is correctly documented, reflecting a major release.


2-2: Availability Update Approved

The update to include .NET 9 and .NET 8 while removing .NET 6 is correctly documented and aligns with the project's new direction.


5-5: Removal of Support for .NET 6 Approved

The explicit removal of support for .NET 6 (LTS) is well-documented, which is crucial for users relying on long-term support versions.


6-6: Dependency Updates Approved

The changes to dependencies to align with the latest and greatest with respect to the new target frameworks are well-documented.

.nuget/Savvyio.Commands/PackageReleaseNotes.txt (4)

1-1: Version Update Approved

The update from version 3.0.0 to 4.0.0 is correctly documented, reflecting a major release.


2-2: Availability Update Approved

The update to include .NET 9 and .NET 8 while removing .NET 6 is correctly documented and aligns with the project's new direction.


5-5: Removal of Support for .NET 6 Approved

The explicit removal of support for .NET 6 (LTS) is well-documented, which is crucial for users relying on long-term support versions.


6-6: Dependency Updates Approved

The changes to dependencies to align with the latest and greatest with respect to the new target frameworks are well-documented.

Directory.Build.props (4)

44-44: Approved: Update to MinVer Package Version

The update of the MinVer package from version 5.0.0 to 6.0.0 is noted. It's recommended to check the release notes of MinVer for any breaking changes or important new features that could affect the project.


Line range hint 63-79: Approved: Updates to Package Versions in Test Projects

The updates to Microsoft.NET.Test.Sdk and Cuemon.Extensions.Xunit.App packages are noted. It's important to verify the compatibility and functionality of these updated packages within the test environments to ensure they integrate smoothly and offer the expected enhancements.

Run the following script to verify the integration of updated packages in test projects:


50-50: Approved: Consistent Update to Target Frameworks for Test Projects

Updating the target frameworks for test projects to include .NET 9.0 and retain .NET 8.0 ensures consistency with the non-test projects. Verify that all test configurations and environments are updated accordingly.

Run the following script to verify the test configurations:


15-15: Approved: Update to Target Frameworks

The update to include .NET 9.0 and retain .NET 8.0 while dropping .NET 6.0 aligns with the PR objectives. Ensure to verify the project's build and deployment processes to accommodate these changes.

Run the following script to verify the project's build configuration:

.nuget/Savvyio.App/PackageReleaseNotes.txt (2)

1-1: Approved: Version Update to 4.0.0

The update to version 4.0.0 indicates a major release. Ensure that the release notes comprehensively document the major changes or features introduced in this version.


2-2: Approved: Update to Framework Availability

The update to include .NET 9 and retain .NET 8 while removing .NET 6 aligns with the PR objectives. Verify that the package remains compatible with projects targeting these frameworks.

Run the following script to verify the package's compatibility with projects targeting .NET 9 and .NET 8:

.nuget/Savvyio.Domain/PackageReleaseNotes.txt (2)

1-1: Approved: Version Update to 4.0.0

The update to version 4.0.0 indicates a major release. Ensure that the release notes comprehensively document the major changes or features introduced in this version.


2-5: Approved: Update to Framework Availability and Removal of .NET 6 Support

The update to include .NET 9 and retain .NET 8 while removing .NET 6 aligns with the PR objectives. Additionally, the explicit removal of .NET 6 support should be clearly communicated to users to manage expectations and migration plans.

Run the following script to verify the package's compatibility with projects targeting .NET 9 and .NET 8:

test/Savvyio.Extensions.QueueStorage.Tests/AzureQueueOptionsTest.cs (3)

63-63: Consider the impact of removing variable names on error messages.

Removing the variable name from the Validator.ThrowIfInvalidOptions method call simplifies the code but may reduce the clarity of error messages. Verify that the updated method still provides sufficient context for understanding and debugging errors.


82-82: Consistency in error handling and message clarity.

As with the previous change, ensure that the removal of the variable name does not compromise the clarity of error messages in this context as well. Consistency in how errors are reported and handled is crucial for maintainability.


96-96: Maintain error message clarity across all changes.

This change also removes the variable name from the Validator.ThrowIfInvalidOptions method call. Ensure that this does not negatively impact the clarity and usefulness of error messages, maintaining consistency across all test cases.

.nuget/Savvyio.EventDriven/PackageReleaseNotes.txt (4)

1-1: Version update approved.

The update to version 4.0.0 is correctly reflected in the release notes.


2-2: Availability update approved.

The update to include .NET 9 and .NET 8 while removing .NET 6 is correctly reflected and aligns with the PR's objectives.


5-5: Removal of .NET 6 support noted.

The removal of support for .NET 6 (LTS) is a significant change and is correctly documented in the release notes.


6-6: Dependency updates approved.

The changes to update dependencies to the latest versions are correctly documented and necessary for compatibility with the new .NET versions.

.nuget/Savvyio.EventDriven.Messaging/PackageReleaseNotes.txt (4)

1-1: Version update approved.

The update to version 4.0.0 is correctly reflected in the release notes.


2-2: Availability update approved.

The update to include .NET 9 and .NET 8 while removing .NET 6 is correctly reflected and aligns with the PR's objectives.


5-5: Removal of .NET 6 support noted.

The removal of support for .NET 6 (LTS) is a significant change and is correctly documented in the release notes.


6-6: Dependency updates approved.

The changes to update dependencies to the latest versions are correctly documented and necessary for compatibility with the new .NET versions.

.nuget/Savvyio.Extensions.SimpleQueueService/PackageReleaseNotes.txt (1)

1-6: Review of Version 4.0.0 Updates

The update to version 4.0.0 and the shift in framework support from .NET 6 to .NET 9 are significant and align with the strategic goals of the PR. The removal of .NET 6 support is clearly documented, which is crucial for users needing to understand compatibility changes. The dependency updates are also well-noted, ensuring alignment with the latest frameworks.

.github/workflows/pipelines.yml (2)

44-44: Framework Version Update in Build Matrix

Updating the framework versions in the build matrix to include .NET 9.0 and remove .NET 6.0 aligns with the project's transition to newer .NET versions. This ensures that the CI/CD pipeline remains relevant and effective in testing against supported frameworks.


53-54: Inclusion of Preview SDKs in Workflow

The addition of includePreview: true across multiple SDK installation steps is a proactive measure to ensure compatibility with upcoming .NET features. This is important for future-proofing the project and testing against the latest developments in the .NET ecosystem.

Also applies to: 110-111, 148-149, 200-201

.nuget/Savvyio.Extensions.DependencyInjection/PackageReleaseNotes.txt (1)

1-6: Review of Version 4.0.0 Updates

The update to version 4.0.0 and the shift in framework support from .NET 6 to .NET 9 are significant and align with the strategic goals of the PR. The removal of .NET 6 support is clearly documented, which is crucial for users needing to understand compatibility changes. The dependency updates are also well-noted, ensuring alignment with the latest frameworks.

test/Savvyio.FunctionalTests/DistributedMediatorTest.cs (3)

53-53: Approved: Updated test setup using WebHostTestFactory.

The changes correctly update the test setup to use WebHostTestFactory, aligning with the PR's objectives. Ensure that configuration strings such as AWS access keys are securely managed or are placeholders.

Please confirm that sensitive data like AWS credentials are not hardcoded or exposed in configuration files.


82-82: Approved: Scoped service resolution and updated service registration.

The changes enhance the service lifetime management by introducing a scoped service resolution pattern and update the service registration to include various data sources and repositories. Ensure that configuration strings such as AWS access keys are securely managed or are placeholders.

Please confirm that sensitive data like AWS credentials are not hardcoded or exposed in configuration files.

Also applies to: 97-97, 126-126


153-153: Approved: Updated event subscription test setup.

The changes correctly update the test setup for subscribing to events, aligning with the PR's objectives. Ensure that configuration strings such as AWS access keys are securely managed or are placeholders.

Please confirm that sensitive data like AWS credentials are not hardcoded or exposed in configuration files.

src/Savvyio.EventDriven.Messaging/CloudEvents/CloudEvent.cs (1)

79-79: Approved: Method name correction in EnsureReservedKeywordCompliance.

The change from Validator.ThrowIf.ContainsReservedKeyword to Validator.ThrowIfContainsReservedKeyword corrects the method name, improving readability and maintainability without altering functionality.

test/Savvyio.Domain.EventSourcing.Tests/TracedAggregateRootTest.cs (1)

158-158: Approved: Conditional assertions for different .NET versions.

The use of conditional compilation to adapt the assertions based on the NET8_0 directive ensures that the test is robust across different .NET versions. This approach enhances the test's adaptability and correctness in verifying the expected model structure.

Also applies to: 193-193

.nuget/Savvyio.Core/PackageReleaseNotes.txt (4)

1-1: Version Update Approved

The update of the version number to 4.0.0 correctly reflects the major changes made in this release, including the shift to support newer .NET frameworks.


2-2: Framework Availability Update Approved

The update in framework availability from .NET 8 and .NET 6 to .NET 9 and .NET 8 aligns with the strategic move to support newer .NET versions while phasing out older ones.


5-5: Removal of .NET 6 Support Approved

The explicit removal of support for .NET 6 (LTS) is a significant change that affects backward compatibility. It is appropriately documented under the ALM section.


6-6: Dependency Updates Approved

The update of dependencies to align with the latest versions for the supported frameworks (.NET 9 and .NET 8) ensures that the package remains up-to-date and secure.

.nuget/Savvyio.Extensions.Text.Json/PackageReleaseNotes.txt (1)

1-6: Version and framework support changes are well-documented.

The update to version 4.0.0 and the shift in framework support to .NET 9 and .NET 8, while removing .NET 6, are significant changes. These are well-documented in the release notes, ensuring that users are aware of the new compatibility requirements and the discontinuation of support for older frameworks. It's crucial to maintain clear communication about such changes to prevent any potential disruptions for users.

Comment on lines +10 to +11
Validator.ThrowIfNull(accountId);
Validator.ThrowIfNullOrWhitespace(userHostAddress);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider reintroducing nameof for clearer exception messages.

The removal of nameof in the validation calls simplifies the code but reduces the clarity of exception messages, which could hinder debugging efforts. It's generally a good practice to include parameter names in exceptions to aid in identifying the source of errors quickly.

Consider modifying the validation calls as follows to enhance error reporting:

-Validator.ThrowIfNull(accountId);
-Validator.ThrowIfNullOrWhitespace(userHostAddress);
+Validator.ThrowIfNull(accountId, nameof(accountId));
+Validator.ThrowIfNullOrWhitespace(userHostAddress, nameof(userHostAddress));
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Validator.ThrowIfNull(accountId);
Validator.ThrowIfNullOrWhitespace(userHostAddress);
Validator.ThrowIfNull(accountId, nameof(accountId));
Validator.ThrowIfNullOrWhitespace(userHostAddress, nameof(userHostAddress));

@@ -10,7 +10,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Cuemon.Extensions.DependencyInjection" Version="8.3.2" />
<PackageReference Include="Cuemon.Extensions.DependencyInjection" Version="9.0.0-preview.4" />
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verify compatibility and stability of the new package version.

The update to Cuemon.Extensions.DependencyInjection version 9.0.0-preview.4 introduces potential new features and improvements. However, it's crucial to verify the compatibility and stability of this preview version within the project to ensure it does not introduce any breaking changes or instability.

Consider testing this version thoroughly in a staging environment before deploying it in a production setting.

Comment on lines +10 to +11
Validator.ThrowIfNull(accountId);
Validator.ThrowIfNull(password);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider reintroducing nameof for clearer exception messages.

The removal of nameof in the validation calls simplifies the code but reduces the clarity of exception messages, which could hinder debugging efforts. It's generally a good practice to include parameter names in exceptions to aid in identifying the source of errors quickly.

Consider modifying the validation calls as follows to enhance error reporting:

-Validator.ThrowIfNull(accountId);
-Validator.ThrowIfNull(password);
+Validator.ThrowIfNull(accountId, nameof(accountId));
+Validator.ThrowIfNull(password, nameof(password));
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Validator.ThrowIfNull(accountId);
Validator.ThrowIfNull(password);
Validator.ThrowIfNull(accountId, nameof(accountId));
Validator.ThrowIfNull(password, nameof(password));

Comment on lines +5 to +6
- REMOVED Support for TFM .NET 6 (LTS)
- CHANGED Dependencies to latest and greatest with respect to TFMs
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Documentation of Framework Support and Dependency Changes Approved

The removal of support for .NET 6 and the update to dependencies are well-documented. Consider adding more details about which specific dependencies were updated and how they align with the new framework versions to provide clearer guidance for users.

Comment on lines +5 to +6
- REMOVED Support for TFM .NET 6 (LTS)
- CHANGED Dependencies to latest and greatest with respect to TFMs
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Documentation of Framework Support and Dependency Changes Approved

The removal of support for .NET 6 and the update to dependencies are well-documented. Consider adding more details about which specific dependencies were updated and how they align with the new framework versions to provide clearer guidance for users.

Comment on lines +68 to 70
Validator.ThrowIfNullOrWhitespace(userHostAddress);
var failedLogonAttempt = new UserAccountFailedLogonAttempt(Id, userHostAddress);
AddEvent(new UserAccountFailedLogonAttemptCreated(failedLogonAttempt));
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider the impact on error message clarity.

The removal of the parameter name from the Validator.ThrowIfNullOrWhitespace method call simplifies the code but may reduce the clarity of error messages. Consider re-adding the parameter name to enhance error diagnostics, especially in a production environment where precise error messages can significantly aid in debugging.

- Validator.ThrowIfNullOrWhitespace(userHostAddress);
+ Validator.ThrowIfNullOrWhitespace(userHostAddress, nameof(userHostAddress));
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Validator.ThrowIfNullOrWhitespace(userHostAddress);
var failedLogonAttempt = new UserAccountFailedLogonAttempt(Id, userHostAddress);
AddEvent(new UserAccountFailedLogonAttemptCreated(failedLogonAttempt));
Validator.ThrowIfNullOrWhitespace(userHostAddress, nameof(userHostAddress));
var failedLogonAttempt = new UserAccountFailedLogonAttempt(Id, userHostAddress);
AddEvent(new UserAccountFailedLogonAttemptCreated(failedLogonAttempt));

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 2f8fa02 and c0ddf35.

Files selected for processing (2)
  • .github/workflows/pipelines.yml (6 hunks)
  • Directory.Build.props (4 hunks)
Files skipped from review as they are similar to previous changes (2)
  • .github/workflows/pipelines.yml
  • Directory.Build.props

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between c0ddf35 and 03a30e6.

Files selected for processing (1)
  • Directory.Build.props (4 hunks)
Files skipped from review as they are similar to previous changes (1)
  • Directory.Build.props

Copy link

codecov bot commented Sep 6, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 89.00%. Comparing base (915ca90) to head (03a30e6).
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #24   +/-   ##
=======================================
  Coverage   89.00%   89.00%           
=======================================
  Files         156      156           
  Lines        3200     3200           
  Branches      325      325           
=======================================
  Hits         2848     2848           
  Misses        350      350           
  Partials        2        2           

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

Copy link

sonarcloud bot commented Sep 6, 2024

@gimlichael gimlichael merged commit cec50d3 into main Sep 6, 2024
123 checks passed
@gimlichael gimlichael deleted the v4.0.0/dotnet9 branch September 6, 2024 21:58
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.

1 participant