Updates dependencies to latest versions#39
Conversation
Updates NuGet package dependencies to the latest available versions. This change ensures the project benefits from the latest features, performance improvements, and security patches provided by the updated dependencies. It includes updates to MSTest, Entity Framework Core, Quartz, and other related libraries. Also adds Microsoft.CodeCoverage package for unit tests projects.
WalkthroughOs arquivos de projeto (.csproj) de todos os módulos do InvoiceReminder foram atualizados. As mudanças consistem principalmente em atualizações de versões de pacotes NuGet, reorganização dos blocos de referências de projeto e pacote, e adição do pacote Microsoft.CodeCoverage em projetos de teste. Não houve alterações em código-fonte, APIs públicas ou estrutura dos projetos. Changes
Sequence Diagram(s)(Nenhum diagrama gerado, pois as mudanças são apenas em arquivos de configuração e não afetam o fluxo de controle ou lógica do sistema.) Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutos Possibly related PRs
Poem
Note ⚡️ Unit Test Generation is now available in beta!Learn more here, or try it out under "Finishing Touches" below. ✨ Finishing Touches🧪 Generate unit tests
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 2
🔭 Outside diff range comments (2)
InvoiceReminder.Application.UnitTests/InvoiceReminder.Application.UnitTests.csproj (1)
21-28: Isolar o pacoteMicrosoft.CodeCoveragepara evitar vazamento transitivoO pacote de cobertura não precisa estar disponível para projetos que referenciam este assembly de testes. Defina
PrivateAssetscomoallpara evitar que ele seja restaurado fora deste projeto, reduzindo o tempo de build e mantendo o grafo de dependências mais limpo.- <PackageReference Include="Microsoft.CodeCoverage" Version="17.14.1" /> + <PackageReference Include="Microsoft.CodeCoverage" Version="17.14.1"> + <PrivateAssets>all</PrivateAssets> + </PackageReference>InvoiceReminder.ExternalServices.UnitTests/InvoiceReminder.ExternalServices.UnitTests.csproj (1)
23-30: Repita a configuraçãoPrivateAssetspara o pacote de coberturaAssim como nos outros projetos de teste, recomenda-se marcar o pacote
Microsoft.CodeCoveragecomo privado.- <PackageReference Include="Microsoft.CodeCoverage" Version="17.14.1" /> + <PackageReference Include="Microsoft.CodeCoverage" Version="17.14.1"> + <PrivateAssets>all</PrivateAssets> + </PackageReference>
🧹 Nitpick comments (7)
InvoiceReminder.API/InvoiceReminder.API.csproj (1)
18-28: Considere centralizar versões emDirectory.Packages.propsOs mesmos números de versão aparecem em vários projetos. Centralizar em um arquivo
Directory.Packages.propsreduz duplicação e facilita upgrades futuros.InvoiceReminder.JobScheduler.UnitTests/InvoiceReminder.JobScheduler.UnitTests.csproj (1)
20-33: Mesma duplicação de pacotes de cobertura identificadaAssim como nos testes da API, este projeto adiciona
Microsoft.CodeCoveragee atualizaMicrosoft.Testing.Extensions.CodeCoverage. Recomendo alinhar a estratégia de cobertura para evitar conflitos e reduzir o tempo de restauração.InvoiceReminder.JobScheduler/InvoiceReminder.JobScheduler.csproj (1)
15-17: Considere adotar Central Package ManagementVárias versões idênticas de
Microsoft.Extensions.*eSonarAnalyzer.CSharpforam atualizadas em todos os projetos. Avalie mover as versões para umDirectory.Packages.props, reduzindo esforço de manutenção futura.InvoiceReminder.Authentication/InvoiceReminder.Authentication.csproj (1)
15-18: Centralize versões comuns de pacotesAssim como nos demais projetos, essas mesmas versões aparecem repetidamente. Um
Directory.Packages.propseliminaria duplicação.InvoiceReminder.Application/InvoiceReminder.Application.csproj (1)
25-29: Sugestão: usar Central Package ManagementMesma recomendação que nos outros projetos para minimizar esforço de atualização.
InvoiceReminder.Data/InvoiceReminder.Data.csproj (2)
18-34: EF Core 9.0.8 – gere baseline de migraçõesComo este projeto contém design/tools 9.0.8, adicione uma execução do comando abaixo no pipeline CI para prevenir drift de modelo:
dotnet ef migrations script --idempotent --output build/ef.sql
18-34: Considere Directory.Packages.props para versões comunsDezenas de referências
Microsoft.Extensions.*com a mesma versão aparecem em todo o solution. Centralizar reduzirá ruído em futuros PRs de upgrade.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (16)
InvoiceReminder.API.UnitTests/InvoiceReminder.API.UnitTests.csproj(3 hunks)InvoiceReminder.API/InvoiceReminder.API.csproj(1 hunks)InvoiceReminder.Application.UnitTests/InvoiceReminder.Application.UnitTests.csproj(3 hunks)InvoiceReminder.Application/InvoiceReminder.Application.csproj(1 hunks)InvoiceReminder.ArchitectureTests/InvoiceReminder.ArchitectureTests.csproj(2 hunks)InvoiceReminder.Authentication/InvoiceReminder.Authentication.csproj(1 hunks)InvoiceReminder.CrossCutting.IoC/InvoiceReminder.CrossCutting.IoC.csproj(1 hunks)InvoiceReminder.Data/InvoiceReminder.Data.csproj(1 hunks)InvoiceReminder.Domain/InvoiceReminder.Domain.csproj(1 hunks)InvoiceReminder.DomainEntities.UnitTests/InvoiceReminder.DomainEntities.UnitTests.csproj(2 hunks)InvoiceReminder.ExternalServices.UnitTests/InvoiceReminder.ExternalServices.UnitTests.csproj(3 hunks)InvoiceReminder.Infrastructure.UnitTests/InvoiceReminder.Infrastructure.UnitTests.csproj(3 hunks)InvoiceReminder.JobScheduler.UnitTests/InvoiceReminder.JobScheduler.UnitTests.csproj(3 hunks)InvoiceReminder.JobScheduler/InvoiceReminder.JobScheduler.csproj(1 hunks)InvoiceReminder.Services/InvoiceReminder.ExternalServices.csproj(1 hunks)InvoiceReminder.UnitTests.Assets/InvoiceReminder.UnitTests.Assets.csproj(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Analyze (csharp)
🔇 Additional comments (20)
InvoiceReminder.UnitTests.Assets/InvoiceReminder.UnitTests.Assets.csproj (1)
10-10: Atualização de patch de System.CodeDom parece seguraUpgrade de 9.0.7 → 9.0.8 mantém compatibilidade binária e cumpre o objetivo de manter dependências atualizadas.
Nenhum impacto funcional previsto. 👍InvoiceReminder.CrossCutting.IoC/InvoiceReminder.CrossCutting.IoC.csproj (2)
18-24: Atualização de pacotes para 9.0.8 parece segura
Mudança estritamente de patch; sem breaking changes conhecidos. Ótimo manter a solução alinhada às últimas correções.
18-24: Verificação de consistência de versões concluída
Não foram encontradas referências à versão 9.0.7 em outros arquivos .csproj, garantindo alinhamento de versões.InvoiceReminder.Application.UnitTests/InvoiceReminder.Application.UnitTests.csproj (1)
31-34: Verifique a divergência de patch entre extensões de cobertura
Microsoft.Testing.Extensions.CodeCoverageestá em 17.14.2, enquantoMicrosoft.CodeCoverageficou em 17.14.1. Normalmente as equipes liberam esses pacotes em pares; misturar versões pode gerar warnings ou comportamentos inesperados nodotnet test /collect:"XPlat Code Coverage".Confirme se existe uma razão para manter versões diferentes ou alinhe ambas para 17.14.2.
InvoiceReminder.ExternalServices.UnitTests/InvoiceReminder.ExternalServices.UnitTests.csproj (1)
33-36: Divergência de versão entre pacotes de coberturaMesma observação do outro projeto:
Microsoft.Testing.Extensions.CodeCoverageestá em 17.14.2, enquantoMicrosoft.CodeCoverageem 17.14.1. Avalie alinhar.InvoiceReminder.DomainEntities.UnitTests/InvoiceReminder.DomainEntities.UnitTests.csproj (1)
29-33: Alinhamento de versões de coberturaNovamente, small mismatch 17.14.2 vs 17.14.1. Confirme compatibilidade.
InvoiceReminder.ArchitectureTests/InvoiceReminder.ArchitectureTests.csproj (1)
29-32: Consistência de patch das extensões de coberturaMesma inconsistência de patch (17.14.2 vs 17.14.1). Recomendo uniformizar.
InvoiceReminder.API/InvoiceReminder.API.csproj (2)
10-15: Boa reorganização dosProjectReferenceMover as referências para o início melhora a legibilidade e mantém consistência com os demais projetos.
18-28: Atualização para EF Core 9.0.8 requer alinhamento de providerAo atualizar os pacotes
Microsoft.EntityFrameworkCore*para 9.0.8 (versão preview), certifique-se de que todos os provedores específicos de banco (ex.:Npgsql.EntityFrameworkCore.PostgreSQLouMicrosoft.EntityFrameworkCore.SqlServer) também estejam na mesma versão 9.0.8. Misturar versões gera falhas em tempo de execução.Solicito verificar os outros
.csprojda solução.InvoiceReminder.Services/InvoiceReminder.ExternalServices.csproj (1)
20-20: PacoteMicrosoft.AspNetCore.Http.Abstractionsainda na versão 2.3.0 em projetonet9.0. Verificar compatibilidadeA versão 2.x desse pacote foi concebida para .NET Core 2.x; não recebe mais correções e contém APIs obsoletas. Manter essa dependência pode introduzir warnings de compatibilidade (“downgrade”) durante o
dotnet restoree, em casos extremos, conflitos de binding em runtime.Avalie atualizar para as APIs atuais (
Microsoft.AspNetCore.Http/Microsoft.AspNetCore.App> 8) ou, se a dependência não for necessária, removê-la completamente.InvoiceReminder.API.UnitTests/InvoiceReminder.API.UnitTests.csproj (1)
24-36: Sobreposição entreMicrosoft.CodeCoverageeMicrosoft.Testing.Extensions.CodeCoverageO projeto referencia simultaneamente
Microsoft.CodeCoverage(17.14.1) e atualizaMicrosoft.Testing.Extensions.CodeCoverage(17.14.2). Estes pacotes fornecem instrumentação de cobertura semelhantes; mantê-los juntos costuma resultar em assemblies duplicados (Microsoft.VisualStudio.CodeCoverage.*) ou mensagens de “duplicate instrumentation”.Confirme se ambos são realmente necessários; em muitos cenários apenas o
Extensions.CodeCoveragejá traz o runtime de cobertura.InvoiceReminder.Infrastructure.UnitTests/InvoiceReminder.Infrastructure.UnitTests.csproj (1)
22-37: Consistência de versões dos pacotes EF CoreTodas as referências foram atualizadas para 9.0.8 – 👍. Apenas garanta que os projetos de produção (ex.: InvoiceReminder.Data, API, etc.) também estejam em 9.0.8 para evitar problemas de assembly mismatch durante execução dos testes.
InvoiceReminder.Domain/InvoiceReminder.Domain.csproj (1)
11-18: Atualização de dependências aprovadaOs bumps para 9.0.8 e SonarAnalyzer 10.15 alinham o projeto às demais camadas; não há alertas adicionais.
InvoiceReminder.JobScheduler/InvoiceReminder.JobScheduler.csproj (2)
10-12: Verifique o caminho do ProjectReference para o ExternalServicesO arquivo referenciado
..\InvoiceReminder.Services\InvoiceReminder.ExternalServices.csprojfica em uma pasta chamadaInvoiceReminder.Services, mas o nome do projeto éInvoiceReminder.ExternalServices. Confirme que o caminho relativo está correto e que não houve duplicidade ou referência quebrada após a reorganização dos<ItemGroup>.
15-17: Atualizações de pacotes OK, mas valide compatibilidade do Quartz 3.15.0O salto de 3.14.0 → 3.15.0 do Quartz costuma ser seguro, porém há ajustes de API menores (p.ex. suporte a time zone provider). Rode a suíte de integração do JobScheduler para garantir que jobs são agendados/recuperados corretamente.
InvoiceReminder.Authentication/InvoiceReminder.Authentication.csproj (2)
11-12: Boa prática: referências de projeto movidas para o topoReorganização melhora a legibilidade e segue convenção usada no restante da solução.
15-18: Patch upgrade do EF Core 9.0.8 – execute migrações em stagingApesar de ser apenas patch, versões x.0.y do EF Core já introduziram alterações de runtime no passado. Gere e aplique migrações em um ambiente de staging antes de promover para produção.
InvoiceReminder.Application/InvoiceReminder.Application.csproj (2)
17-21: Referências duplicadas removidas?As referências de projeto foram movidas para cima. Confirme que os
<ProjectReference>equivalentes foram removidos do bloco original para evitar restauração duplicada.
25-29: Quartz 3.15.0 e Microsoft.Extensions 9.0.8 – revise testes de background jobsCombinação de
QuartzcomMicrosoft.Extensions.Loggingjá teve breaking change de DI em versões anteriores. Execute testes de serviço/worker para garantir que injeção deIJobFactorycontinua funcional.InvoiceReminder.Data/InvoiceReminder.Data.csproj (1)
10-12: Referência ao domínio movida para cima – 👍Melhora a clareza da dependência entre projetos.
| <PackageReference Include="Microsoft.CodeCoverage" Version="17.14.1" /> | ||
| <PackageReference Include="NetArchTest.Rules" Version="1.3.2" /> | ||
| <PackageReference Include="Shouldly" Version="4.3.0" /> | ||
| </ItemGroup> |
There was a problem hiding this comment.
🛠️ Refactor suggestion
Adicionar PrivateAssets ao pacote de cobertura
- <PackageReference Include="Microsoft.CodeCoverage" Version="17.14.1" />
+ <PackageReference Include="Microsoft.CodeCoverage" Version="17.14.1">
+ <PrivateAssets>all</PrivateAssets>
+ </PackageReference>📝 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.
| <PackageReference Include="Microsoft.CodeCoverage" Version="17.14.1" /> | |
| <PackageReference Include="NetArchTest.Rules" Version="1.3.2" /> | |
| <PackageReference Include="Shouldly" Version="4.3.0" /> | |
| </ItemGroup> | |
| <PackageReference Include="Microsoft.CodeCoverage" Version="17.14.1"> | |
| <PrivateAssets>all</PrivateAssets> | |
| </PackageReference> | |
| <PackageReference Include="NetArchTest.Rules" Version="1.3.2" /> | |
| <PackageReference Include="Shouldly" Version="4.3.0" /> | |
| </ItemGroup> |
🤖 Prompt for AI Agents
In InvoiceReminder.ArchitectureTests/InvoiceReminder.ArchitectureTests.csproj
around lines 23 to 26, the Microsoft.CodeCoverage package reference is missing
the PrivateAssets attribute. Add PrivateAssets="all" to the
Microsoft.CodeCoverage PackageReference to prevent it from being exposed to
projects that consume this project.
| <PackageReference Include="Microsoft.CodeCoverage" Version="17.14.1" /> | ||
| <PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="9.0.8" /> | ||
| <PackageReference Include="NSubstitute" Version="5.3.0" /> | ||
| <PackageReference Include="Shouldly" Version="4.3.0" /> | ||
| </ItemGroup> |
There was a problem hiding this comment.
🛠️ Refactor suggestion
Marcar Microsoft.CodeCoverage como ativo apenas localmente
Evite propagar o pacote de cobertura para projetos que referenciam tests assets:
- <PackageReference Include="Microsoft.CodeCoverage" Version="17.14.1" />
+ <PackageReference Include="Microsoft.CodeCoverage" Version="17.14.1">
+ <PrivateAssets>all</PrivateAssets>
+ </PackageReference>🤖 Prompt for AI Agents
In
InvoiceReminder.DomainEntities.UnitTests/InvoiceReminder.DomainEntities.UnitTests.csproj
around lines 22 to 26, the Microsoft.CodeCoverage package should be marked as
PrivateAssets="all" to prevent it from propagating to projects that reference
the test assets. Modify the PackageReference for Microsoft.CodeCoverage to
include PrivateAssets="all" so it is only active locally within this test
project.
Updates NuGet package dependencies to the latest available versions.
This change ensures the project benefits from the latest features,
performance improvements, and security patches provided by the
updated dependencies. It includes updates to MSTest, Entity Framework Core,
Quartz, and other related libraries. Also adds Microsoft.CodeCoverage
package for unit tests projects.
✨
Description by Callstackai
This PR updates various NuGet package dependencies to their latest versions, ensuring the project benefits from the latest features, performance improvements, and security patches. It also adds the Microsoft.CodeCoverage package for unit tests projects.
Diagrams of code changes
sequenceDiagram participant API as InvoiceReminder.API participant Auth as InvoiceReminder.Authentication participant App as InvoiceReminder.Application participant Data as InvoiceReminder.Data participant Domain as InvoiceReminder.Domain participant Jobs as InvoiceReminder.JobScheduler participant Services as InvoiceReminder.ExternalServices API->>App: References API->>Auth: References API->>Services: References Auth->>App: References App->>Data: References App->>Domain: References App->>Jobs: References Data->>Domain: References Jobs->>Domain: References Jobs->>Services: References Services->>Data: ReferencesFiles Changed
This PR includes files in programming languages that we currently do not support. We have not reviewed files with the extensions
.csproj. See list of supported languages.Summary by CodeRabbit