From 61dbca30394fcd5011b38a785fc9e6ec36a0edae Mon Sep 17 00:00:00 2001 From: Nano Taboada <87288+nanotaboada@users.noreply.github.com> Date: Mon, 9 Feb 2026 01:12:57 -0300 Subject: [PATCH 1/4] feat: upgrade to .NET 10 LTS (#368) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update target framework to net10.0 in all projects - Create global.json to pin .NET 10 SDK version (10.0.100) - Upgrade NuGet packages: - Microsoft.AspNetCore.OpenApi 8.0.23 → 10.0.0 - Microsoft.EntityFrameworkCore.Sqlite 9.0.12 → 10.0.0 - Microsoft.EntityFrameworkCore.Design 9.0.12 → 10.0.0 - Microsoft.VisualStudio.Web.CodeGeneration.Design 9.0.0 → 10.0.0 - Remove redundant Microsoft.Extensions.Configuration.Json package - Update Dockerfile to use .NET 10 SDK and runtime images - Update CI/CD pipelines: - azure-pipelines.yml: .NET 8.x → 10.x - dotnet-ci.yml: .NET 8.0.x → 10.0.x - dotnet-cd.yml: .NET 8.0.x → 10.0.x - Update documentation (README.md, AGENTS.md, copilot-instructions.md) - Regenerate package lock files with .NET 10 compatible dependencies - Update CHANGELOG.md for v1.1.0-bernabeu release --- .github/copilot-instructions.md | 4 +- .github/workflows/dotnet-cd.yml | 2 +- .github/workflows/dotnet-ci.yml | 2 +- AGENTS.md | 2 +- CHANGELOG.md | 26 +- Dockerfile | 8 +- README.md | 10 +- azure-pipelines.yml | 12 +- global.json | 6 + .../Dotnet.Samples.AspNetCore.WebApi.csproj | 11 +- .../packages.lock.json | 961 +++++++----------- ...net.Samples.AspNetCore.WebApi.Tests.csproj | 2 +- .../packages.lock.json | 297 ++---- 13 files changed, 528 insertions(+), 815 deletions(-) create mode 100644 global.json diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index fb19cc1..d13990e 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -6,8 +6,8 @@ ## Quick Context -ASP.NET Core 8 REST API with layered architecture -**Stack**: .NET 8 LTS, EF Core 9, SQLite, Docker, xUnit +ASP.NET Core 10 REST API with layered architecture +**Stack**: .NET 10 LTS, EF Core 10, SQLite, Docker, xUnit **Pattern**: Repository + Service + AutoMapper + FluentValidation **Focus**: Learning PoC emphasizing clarity and best practices diff --git a/.github/workflows/dotnet-cd.yml b/.github/workflows/dotnet-cd.yml index 08f72c9..8d66889 100644 --- a/.github/workflows/dotnet-cd.yml +++ b/.github/workflows/dotnet-cd.yml @@ -9,7 +9,7 @@ on: - 'v*.*.*-*' env: - DOTNET_VERSION: 8.0.x + DOTNET_VERSION: 10.0.x PACKAGE_NAME: nanotaboada/dotnet-samples-aspnetcore-webapi jobs: diff --git a/.github/workflows/dotnet-ci.yml b/.github/workflows/dotnet-ci.yml index c5747de..6b2db7b 100644 --- a/.github/workflows/dotnet-ci.yml +++ b/.github/workflows/dotnet-ci.yml @@ -10,7 +10,7 @@ on: branches: [ "master" ] env: - DOTNET_VERSION: 8.0.x + DOTNET_VERSION: 10.0.x jobs: build: diff --git a/AGENTS.md b/AGENTS.md index bd6f3ce..63437e9 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -29,7 +29,7 @@ curl https://localhost:9000/health ## .NET Version -This project targets **.NET 8 (LTS)**. +This project targets **.NET 10 (LTS)**. ## Development Workflow diff --git a/CHANGELOG.md b/CHANGELOG.md index 2a7c3b5..0701f09 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,15 +44,8 @@ This project uses famous football stadiums (A-Z) that hosted FIFA World Cup matc ### Added -- Token efficiency strategy for Copilot/AI agents with optimized instruction loading and improved token counting script (#364) - ### Changed -- Bump Swashbuckle.AspNetCore from 10.1.0 to 10.1.2 -- Bump docker/login-action from 3.6.0 to 3.7.0 -- Bump softprops/action-gh-release from 2.2.0 to 2.5.0 -- Bump actions/checkout from 6.0.1 to 6.0.2 - ### Deprecated ### Removed @@ -63,6 +56,25 @@ This project uses famous football stadiums (A-Z) that hosted FIFA World Cup matc --- +## [1.1.0 - bernabeu] - 2026-02-09 + +### Changed + +- Upgrade to .NET 10 LTS from .NET 8 (#368) +- Update Microsoft.AspNetCore.OpenApi to 10.0.0 +- Update Microsoft.EntityFrameworkCore.Sqlite to 10.0.0 +- Update Microsoft.EntityFrameworkCore.Design to 10.0.0 +- Update Microsoft.VisualStudio.Web.CodeGeneration.Design to 10.0.0 +- Update Docker images to .NET 10 SDK and runtime +- Update CI/CD pipelines to use .NET 10 SDK +- Token efficiency strategy for Copilot/AI agents with optimized instruction loading and improved token counting script (#364) +- Bump Swashbuckle.AspNetCore from 10.1.0 to 10.1.2 +- Bump docker/login-action from 3.6.0 to 3.7.0 +- Bump softprops/action-gh-release from 2.2.0 to 2.5.0 +- Bump actions/checkout from 6.0.1 to 6.0.2 + +--- + ## [1.0.0 - azteca] - 2026-01-22 Initial release. See [README.md](README.md) for complete feature list and documentation. diff --git a/Dockerfile b/Dockerfile index e337392..32348be 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ # Stage 1: Builder # This stage builds the application and its dependencies. # ------------------------------------------------------------------------------ -FROM mcr.microsoft.com/dotnet/sdk:8.0 AS builder +FROM mcr.microsoft.com/dotnet/sdk:10.0 AS builder WORKDIR /src @@ -22,7 +22,7 @@ RUN dotnet publish -c Release -o /app/publish # Stage 2: Runtime # This stage creates the final, minimal image to run the application. # ------------------------------------------------------------------------------ -FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime +FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS runtime WORKDIR /app @@ -31,8 +31,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends curl && \ rm -rf /var/lib/apt/lists/* # Metadata labels for the image. These are useful for registries and inspection. -LABEL org.opencontainers.image.title="🧪 Web API made with .NET 8 (LTS) and ASP.NET Core" -LABEL org.opencontainers.image.description="Proof of Concept for a Web API made with .NET 8 (LTS) and ASP.NET Core" +LABEL org.opencontainers.image.title="🧪 Web API made with .NET 10 (LTS) and ASP.NET Core" +LABEL org.opencontainers.image.description="Proof of Concept for a Web API made with .NET 10 (LTS) and ASP.NET Core" LABEL org.opencontainers.image.licenses="MIT" LABEL org.opencontainers.image.source="https://github.com/nanotaboada/Dotnet.Samples.AspNetCore.WebApi" diff --git a/README.md b/README.md index f6481bb..57c4317 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ [![CodeFactor](https://www.codefactor.io/repository/github/nanotaboada/Dotnet.Samples.AspNetCore.WebApi/badge)](https://www.codefactor.io/repository/github/nanotaboada/Dotnet.Samples.AspNetCore.WebApi) [![License: MIT](https://img.shields.io/badge/License-MIT-white.svg)](https://opensource.org/licenses/MIT) -Proof of Concept for a RESTful API built with .NET 8 (LTS) and ASP.NET Core. Manage football player data with SQLite, Entity Framework Core, Swagger documentation, and in-memory caching. +Proof of Concept for a RESTful API built with .NET 10 (LTS) and ASP.NET Core. Manage football player data with SQLite, Entity Framework Core, Swagger documentation, and in-memory caching. ## Table of Contents @@ -43,13 +43,13 @@ Proof of Concept for a RESTful API built with .NET 8 (LTS) and ASP.NET Core. Man | Category | Technology | |----------|------------| -| **Framework** | [.NET 8](https://github.com/dotnet/core) (LTS) | -| **Web Framework** | [ASP.NET Core 8.0](https://github.com/dotnet/aspnetcore) | +| **Framework** | [.NET 10](https://github.com/dotnet/core) (LTS) | +| **Web Framework** | [ASP.NET Core 10.0](https://github.com/dotnet/aspnetcore) | | **API Documentation** | [Swashbuckle](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) (OpenAPI 3.0) | | **Validation** | [FluentValidation 12](https://github.com/FluentValidation/FluentValidation) | | **Mapping** | [AutoMapper 14](https://github.com/AutoMapper/AutoMapper) | | **Database** | [SQLite 3](https://github.com/sqlite/sqlite) | -| **ORM** | [Entity Framework Core 9.0](https://github.com/dotnet/efcore) | +| **ORM** | [Entity Framework Core 10.0](https://github.com/dotnet/efcore) | | **Logging** | [Serilog 9](https://github.com/serilog/serilog) | | **Testing** | [xUnit](https://github.com/xunit/xunit), [Moq](https://github.com/devlooped/moq), [FluentAssertions](https://github.com/fluentassertions/fluentassertions) | | **Containerization** | [Docker](https://github.com/docker) & [Docker Compose](https://github.com/docker/compose) | @@ -204,7 +204,7 @@ For complete endpoint documentation with request/response schemas, explore the [ Before you begin, ensure you have the following installed: -- .NET 8 SDK (LTS) or higher +- .NET 10 SDK (LTS) or higher - Docker Desktop (optional, for containerized deployment) - dotnet-ef CLI tool (for database migrations) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 7e760eb..d8143f7 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -1,5 +1,5 @@ -# ASP.NET Core 8.0 -# Build and test ASP.NET Core projects targeting .NET 8 on Linux. +# ASP.NET Core 10.0 +# Build and test ASP.NET Core projects targeting .NET 10 on Linux. # https://learn.microsoft.com/en-us/azure/devops/pipelines/ecosystems/dotnet-core # Pipeline triggers: @@ -26,7 +26,7 @@ variables: # Pipeline steps (equivalent to GitHub Actions 'steps:') steps: - # Checkout repository (equivalent to actions/checkout@v6) + # Checkout repository (equivalent to actions/checkout) # Azure Pipelines does this implicitly, but making it explicit for clarity - checkout: self displayName: "Checkout repository" @@ -41,12 +41,12 @@ steps: nuget | "$(Agent.OS)" path: $(NUGET_PACKAGES) - # Install .NET 8 SDK (equivalent to actions/setup-dotnet@v5) + # Install .NET 10 SDK (equivalent to actions/setup-dotnet) # performMultiLevelLookup: allows finding other SDK versions if needed - task: UseDotNet@2 - displayName: "Set up .NET 8" + displayName: "Set up .NET 10" inputs: - version: "8.x" + version: "10.x" performMultiLevelLookup: true # Restore NuGet packages (equivalent to 'dotnet restore') diff --git a/global.json b/global.json new file mode 100644 index 0000000..512142d --- /dev/null +++ b/global.json @@ -0,0 +1,6 @@ +{ + "sdk": { + "version": "10.0.100", + "rollForward": "latestFeature" + } +} diff --git a/src/Dotnet.Samples.AspNetCore.WebApi/Dotnet.Samples.AspNetCore.WebApi.csproj b/src/Dotnet.Samples.AspNetCore.WebApi/Dotnet.Samples.AspNetCore.WebApi.csproj index 2461933..a6a7135 100644 --- a/src/Dotnet.Samples.AspNetCore.WebApi/Dotnet.Samples.AspNetCore.WebApi.csproj +++ b/src/Dotnet.Samples.AspNetCore.WebApi/Dotnet.Samples.AspNetCore.WebApi.csproj @@ -1,21 +1,20 @@ - net8.0 + net10.0 enable enable true - - + + - - - + + diff --git a/src/Dotnet.Samples.AspNetCore.WebApi/packages.lock.json b/src/Dotnet.Samples.AspNetCore.WebApi/packages.lock.json index 3481694..dc020e3 100644 --- a/src/Dotnet.Samples.AspNetCore.WebApi/packages.lock.json +++ b/src/Dotnet.Samples.AspNetCore.WebApi/packages.lock.json @@ -1,15 +1,12 @@ { "version": 1, "dependencies": { - "net8.0": { + "net10.0": { "AutoMapper": { "type": "Direct", "requested": "[14.0.0, 15.0.0)", "resolved": "14.0.0", - "contentHash": "OC+1neAPM4oCCqQj3g2GJ2shziNNhOkxmNB9cVS8jtx4JbgmRzLcUOxB9Tsz6cVPHugdkHgCaCrTjjSI0Z5sCQ==", - "dependencies": { - "Microsoft.Extensions.Options": "8.0.0" - } + "contentHash": "OC+1neAPM4oCCqQj3g2GJ2shziNNhOkxmNB9cVS8jtx4JbgmRzLcUOxB9Tsz6cVPHugdkHgCaCrTjjSI0Z5sCQ==" }, "FluentValidation": { "type": "Direct", @@ -23,95 +20,78 @@ "resolved": "12.1.1", "contentHash": "D0VXh4dtjjX2aQizuaa0g6R8X3U1JaVqJPfGCvLwZX9t/O2h7tkpbitbadQMfwcgSPdDbI2vDxuwRMv/Uf9dHA==", "dependencies": { - "FluentValidation": "12.1.1", - "Microsoft.Extensions.DependencyInjection.Abstractions": "2.1.0" + "FluentValidation": "12.1.1" } }, "Microsoft.AspNetCore.OpenApi": { "type": "Direct", - "requested": "[8.0.23, )", - "resolved": "8.0.23", - "contentHash": "Iaix/+h95NaGXml1J+thXClaLhCYh+XHFEC1N/vqlMrITJQ51Bjh6ReKsW/JRIrMfq5KL3kW/rvZlXIu1w9iLg==", + "requested": "[10.0.0, )", + "resolved": "10.0.0", + "contentHash": "0aqIF1t+sA2T62LIeMtXGSiaV7keGQaJnvwwmu+htQdjCaKYARfXAeqp4nHH9y2etpilyZ/tnQzZg4Ilmo/c4Q==", "dependencies": { - "Microsoft.OpenApi": "1.4.3" + "Microsoft.OpenApi": "2.0.0" } }, "Microsoft.EntityFrameworkCore.Design": { "type": "Direct", - "requested": "[9.0.12, )", - "resolved": "9.0.12", - "contentHash": "7Lge+YprsKyrLs+teI1R8ra0mneKEbkKEwFJoJlHfsylDfXtPLNSzOGBt2dRikxxFDDO1SA1t1zC2ZZV0NSd+w==", + "requested": "[10.0.0, )", + "resolved": "10.0.0", + "contentHash": "R7BeFniEpBrHw8kKVtWiMG4PRAwJ4K1RZoQWB32Ak8ws3uvYH98DVp9Y2UBUgbwY5lR9wPlrxp7P3GGDQ7LUSQ==", "dependencies": { "Humanizer.Core": "2.14.1", - "Microsoft.Build.Framework": "17.8.43", - "Microsoft.Build.Locator": "1.7.8", - "Microsoft.CodeAnalysis.CSharp": "4.8.0", - "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.8.0", - "Microsoft.CodeAnalysis.Workspaces.MSBuild": "4.8.0", - "Microsoft.EntityFrameworkCore.Relational": "9.0.12", - "Microsoft.Extensions.Caching.Memory": "9.0.12", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.12", - "Microsoft.Extensions.DependencyModel": "9.0.12", - "Microsoft.Extensions.Logging": "9.0.12", + "Microsoft.Build.Framework": "17.14.28", + "Microsoft.Build.Tasks.Core": "17.14.28", + "Microsoft.Build.Utilities.Core": "17.14.28", + "Microsoft.CodeAnalysis.CSharp": "4.14.0", + "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.14.0", + "Microsoft.CodeAnalysis.Workspaces.MSBuild": "4.14.0", + "Microsoft.EntityFrameworkCore.Relational": "10.0.0", + "Microsoft.Extensions.DependencyModel": "10.0.0", "Mono.TextTemplating": "3.0.0", - "System.Text.Json": "9.0.12" + "Newtonsoft.Json": "13.0.3" } }, "Microsoft.EntityFrameworkCore.Sqlite": { "type": "Direct", - "requested": "[9.0.12, )", - "resolved": "9.0.12", - "contentHash": "MGaYQFnR7MvjAb8i/piHLaVT3mBeLpVKd3gk8CZr+5+xqT9+fal+4/dCpvwy9p9xbdYHvy0XTflpkkBYbjTTMA==", - "dependencies": { - "Microsoft.EntityFrameworkCore.Sqlite.Core": "9.0.12", - "Microsoft.Extensions.Caching.Memory": "9.0.12", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.12", - "Microsoft.Extensions.DependencyModel": "9.0.12", - "Microsoft.Extensions.Logging": "9.0.12", - "SQLitePCLRaw.bundle_e_sqlite3": "2.1.10", - "SQLitePCLRaw.core": "2.1.10", - "System.Text.Json": "9.0.12" - } - }, - "Microsoft.Extensions.Configuration.Json": { - "type": "Direct", - "requested": "[10.0.2, )", - "resolved": "10.0.2", - "contentHash": "ovjOVr+rNxOT249iezwihlPNMaIJdBC6PMGeMnzhkm5EoKJWFjp3mmvtndfHY6A88X4wulXlidMhmjX8v6V/aw==", + "requested": "[10.0.0, )", + "resolved": "10.0.0", + "contentHash": "nukHe+yBlhitLUUtkanay7zTbHwtcIh/U5PfmwzZJJTCqui9h2Mt+Gifc9ZjJR7QIuE0zgNQQJaI8+eFxkBaEQ==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.2", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.2", - "Microsoft.Extensions.Configuration.FileExtensions": "10.0.2", - "Microsoft.Extensions.FileProviders.Abstractions": "10.0.2", - "System.Text.Json": "10.0.2" + "Microsoft.EntityFrameworkCore.Sqlite.Core": "10.0.0", + "Microsoft.Extensions.DependencyModel": "10.0.0", + "SQLitePCLRaw.bundle_e_sqlite3": "2.1.11", + "SQLitePCLRaw.core": "2.1.11" } }, "Microsoft.VisualStudio.Web.CodeGeneration.Design": { "type": "Direct", - "requested": "[9.0.0, )", - "resolved": "9.0.0", - "contentHash": "nO5MUL3iC0WjtAVea5d4v6kVcoL9ae/PnkC6NeEJhWazHKdKj7xfv6D2QvBx8uCIj8FUu9QpvvdN6m/xMp//EQ==", + "requested": "[10.0.0, )", + "resolved": "10.0.0", + "contentHash": "o/mBDSymoew2WfG1oOUtcy2k57YknJAudH4JRey0qcAj4fTm4+SkUBDhruWppGuwf0yeZuwzfkpDD2L6qbbjjw==", "dependencies": { "Humanizer": "2.14.1", "Microsoft.AspNetCore.Razor.Language": "6.0.24", - "Microsoft.Build": "17.10.4", - "Microsoft.CodeAnalysis.CSharp": "4.8.0", - "Microsoft.CodeAnalysis.CSharp.Features": "4.8.0", - "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.8.0", - "Microsoft.CodeAnalysis.Common": "4.8.0", - "Microsoft.CodeAnalysis.Features": "4.8.0", + "Microsoft.Build": "17.11.48", + "Microsoft.Build.Tasks.Core": "17.14.28", + "Microsoft.Build.Utilities.Core": "17.14.28", + "Microsoft.CodeAnalysis.CSharp": "4.14.0", + "Microsoft.CodeAnalysis.CSharp.Features": "4.14.0", + "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.14.0", + "Microsoft.CodeAnalysis.Common": "4.14.0", + "Microsoft.CodeAnalysis.Features": "4.14.0", "Microsoft.CodeAnalysis.Razor": "6.0.24", - "Microsoft.CodeAnalysis.Workspaces.Common": "4.8.0", - "Microsoft.DotNet.Scaffolding.Shared": "9.0.0", - "Microsoft.Extensions.DependencyInjection": "9.0.0-rc.2.24473.5", - "Microsoft.Extensions.DependencyModel": "9.0.0-rc.2.24473.5", - "Microsoft.VisualStudio.Web.CodeGenerators.Mvc": "9.0.0", + "Microsoft.CodeAnalysis.Workspaces.Common": "4.14.0", + "Microsoft.CodeAnalysis.Workspaces.MSBuild": "4.14.0", + "Microsoft.DotNet.Scaffolding.Shared": "10.0.0", + "Microsoft.EntityFrameworkCore": "10.0.0", + "Microsoft.EntityFrameworkCore.Design": "10.0.0", + "Microsoft.Extensions.DependencyModel": "10.0.0", + "Microsoft.VisualStudio.Web.CodeGenerators.Mvc": "10.0.0", "Mono.TextTemplating": "3.0.0", "Newtonsoft.Json": "13.0.3", - "NuGet.Packaging": "6.11.0", - "NuGet.ProjectModel": "6.11.0", - "System.Formats.Asn1": "9.0.0-rc.2.24473.5", - "System.Security.Cryptography.ProtectedData": "8.0.0" + "NuGet.Packaging": "6.12.1", + "NuGet.ProjectModel": "6.12.1", + "System.Security.Cryptography.ProtectedData": "9.0.6" } }, "Serilog.AspNetCore": { @@ -135,7 +115,6 @@ "resolved": "10.0.0", "contentHash": "LNq+ibS1sbhTqPV1FIE69/9AJJbfaOhnaqkzcjFy95o+4U+STsta9mi97f1smgXsWYKICDeGUf8xUGzd/52/uA==", "dependencies": { - "Microsoft.Extensions.Configuration.Binder": "10.0.0", "Microsoft.Extensions.DependencyModel": "10.0.0", "Serilog": "4.3.0" } @@ -164,7 +143,7 @@ "resolved": "10.1.2", "contentHash": "txDJi7w/didFl/kIlTaA+FfzaJvZaXXZMejfxhJRK/CZdG8PrJcW1xquUuyLN0zNTpU5K0mm0U19B0/P5xiNOA==", "dependencies": { - "Microsoft.Extensions.ApiDescription.Server": "8.0.0", + "Microsoft.Extensions.ApiDescription.Server": "10.0.0", "Swashbuckle.AspNetCore.Swagger": "10.1.2", "Swashbuckle.AspNetCore.SwaggerGen": "10.1.2", "Swashbuckle.AspNetCore.SwaggerUI": "10.1.2" @@ -619,87 +598,110 @@ "resolved": "6.0.24", "contentHash": "kBL6ljTREp/3fk8EKN27mrPy3WTqWUjiqCkKFlCKHUKRO3/9rAasKizX3vPWy4ZTcNsIPmVWUHwjDFmiW4MyNA==" }, - "Microsoft.Bcl.AsyncInterfaces": { - "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "3aeMZ1N0lJoSyzqiP03hqemtb1BijhsJADdobn/4nsMJ8V1H+CrpuduUe4hlRdx+ikBQju1VGjMD1GJ3Sk05Eg==" - }, "Microsoft.Build": { "type": "Transitive", - "resolved": "17.10.4", - "contentHash": "ZmGA8vhVXFzC4oo48ybQKlEybVKd0Ntfdr+Enqrn5ES1R6e/krIK9hLk0W33xuT0/G6QYd3YdhJZh+Xle717Ag==", + "resolved": "17.11.48", + "contentHash": "g8Kn575mNAKcuFotV3C7xvF+IbxuHennl67LH2shL2au1U6UqwReTDygCHyU04+koc2Yn7fHIbVQaC08HqEWow==", "dependencies": { - "Microsoft.Build.Framework": "17.10.4", - "Microsoft.NET.StringTools": "17.10.4", - "System.Collections.Immutable": "8.0.0", + "Microsoft.Build.Framework": "17.11.48", + "Microsoft.NET.StringTools": "17.11.48", "System.Configuration.ConfigurationManager": "8.0.0", - "System.Reflection.Metadata": "8.0.0", - "System.Reflection.MetadataLoadContext": "8.0.0", - "System.Security.Principal.Windows": "5.0.0", - "System.Threading.Tasks.Dataflow": "8.0.0" + "System.Reflection.MetadataLoadContext": "8.0.0" } }, "Microsoft.Build.Framework": { "type": "Transitive", - "resolved": "17.10.4", - "contentHash": "4qXCwNOXBR1dyCzuks9SwTwFJQO/xmf2wcMislotDWJu7MN/r3xDNoU8Ae5QmKIHPaLG1xmfDkYS7qBVzxmeKw==" + "resolved": "17.14.28", + "contentHash": "wRcyTzGV0LRAtFdrddtioh59Ky4/zbvyraP0cQkDzRSRkhgAQb0K88D/JNC6VHLIXanRi3mtV1jU0uQkBwmiVg==" + }, + "Microsoft.Build.Tasks.Core": { + "type": "Transitive", + "resolved": "17.14.28", + "contentHash": "jk3O0tXp9QWPXhLJ7Pl8wm/eGtGgA1++vwHGWEmnwMU6eP//ghtcCUpQh9CQMwEKGDnH0aJf285V1s8yiSlKfQ==", + "dependencies": { + "Microsoft.Build.Framework": "17.14.28", + "Microsoft.Build.Utilities.Core": "17.14.28", + "Microsoft.NET.StringTools": "17.14.28", + "System.CodeDom": "9.0.0", + "System.Configuration.ConfigurationManager": "9.0.0", + "System.Formats.Nrbf": "9.0.0", + "System.Resources.Extensions": "9.0.0", + "System.Security.Cryptography.Pkcs": "9.0.0", + "System.Security.Cryptography.ProtectedData": "9.0.0" + } }, - "Microsoft.Build.Locator": { + "Microsoft.Build.Utilities.Core": { "type": "Transitive", - "resolved": "1.7.8", - "contentHash": "sPy10x527Ph16S2u0yGME4S6ohBKJ69WfjeGG/bvELYeZVmJdKjxgnlL8cJJJLGV/cZIRqSfB12UDB8ICakOog==" + "resolved": "17.14.28", + "contentHash": "rhSdPo8QfLXXWM+rY0x0z1G4KK4ZhMoIbHROyDj8MUBFab9nvHR0NaMnjzOgXldhmD2zi2ir8d6xCatNzlhF5g==", + "dependencies": { + "Microsoft.Build.Framework": "17.14.28", + "Microsoft.NET.StringTools": "17.14.28", + "System.Configuration.ConfigurationManager": "9.0.0", + "System.Security.Cryptography.ProtectedData": "9.0.0" + } }, "Microsoft.CodeAnalysis.Analyzers": { "type": "Transitive", - "resolved": "3.3.4", - "contentHash": "AxkxcPR+rheX0SmvpLVIGLhOUXAKG56a64kV9VQZ4y9gR9ZmPXnqZvHJnmwLSwzrEP6junUF11vuc+aqo5r68g==" + "resolved": "3.11.0", + "contentHash": "v/EW3UE8/lbEYHoC2Qq7AR/DnmvpgdtAMndfQNmpuIMx/Mto8L5JnuCfdBYtgvalQOtfNCnxFejxuRrryvUTsg==" }, "Microsoft.CodeAnalysis.AnalyzerUtilities": { "type": "Transitive", - "resolved": "3.3.0", - "contentHash": "gyQ70pJ4T7hu/s0+QnEaXtYfeG/JrttGnxHJlrhpxsQjRIUGuRhVwNBtkHHYOrUAZ/l47L98/NiJX6QmTwAyrg==" + "resolved": "4.14.0", + "contentHash": "Tyfyuz6l+Ifmg7oiv86jpUg1CjqDMUGNJm1psnMkN1CCeXREPP/A9XafSGDRGoJ+gnI9a3Lk/1efvRspMdZOiQ==", + "dependencies": { + "Microsoft.CodeAnalysis.Analyzers": "3.11.0", + "Microsoft.CodeAnalysis.Common": "3.11.0" + } }, "Microsoft.CodeAnalysis.Common": { "type": "Transitive", - "resolved": "4.8.0", - "contentHash": "/jR+e/9aT+BApoQJABlVCKnnggGQbvGh7BKq2/wI1LamxC+LbzhcLj4Vj7gXCofl1n4E521YfF9w0WcASGg/KA==", + "resolved": "4.14.0", + "contentHash": "PC3tuwZYnC+idaPuoC/AZpEdwrtX7qFpmnrfQkgobGIWiYmGi5MCRtl5mx6QrfMGQpK78X2lfIEoZDLg/qnuHg==", "dependencies": { - "Microsoft.CodeAnalysis.Analyzers": "3.3.4", - "System.Collections.Immutable": "7.0.0", - "System.Reflection.Metadata": "7.0.0", - "System.Runtime.CompilerServices.Unsafe": "6.0.0" + "Microsoft.CodeAnalysis.Analyzers": "3.11.0" } }, "Microsoft.CodeAnalysis.CSharp": { "type": "Transitive", - "resolved": "4.8.0", - "contentHash": "+3+qfdb/aaGD8PZRCrsdobbzGs1m9u119SkkJt8e/mk3xLJz/udLtS2T6nY27OTXxBBw10HzAbC8Z9w08VyP/g==", + "resolved": "4.14.0", + "contentHash": "568a6wcTivauIhbeWcCwfWwIn7UV7MeHEBvFB2uzGIpM2OhJ4eM/FZ8KS0yhPoNxnSpjGzz7x7CIjTxhslojQA==", "dependencies": { - "Microsoft.CodeAnalysis.Common": "[4.8.0]" + "Microsoft.CodeAnalysis.Analyzers": "3.11.0", + "Microsoft.CodeAnalysis.Common": "[4.14.0]" } }, "Microsoft.CodeAnalysis.CSharp.Features": { "type": "Transitive", - "resolved": "4.8.0", - "contentHash": "Gpas3l8PE1xz1VDIJNMkYuoFPXtuALxybP04caXh9avC2a0elsoBdukndkJXVZgdKPwraf0a98s7tjqnEk5QIQ==", + "resolved": "4.14.0", + "contentHash": "JYOIwYcc7xkvG2ElgyVm1lRsgJlPNnP7k45xmfGfI+5T5eajEYUQU75kq8xB4bqjjX7ux8AZr330OvrVv5ZvrA==", "dependencies": { "Humanizer.Core": "2.14.1", - "Microsoft.CodeAnalysis.CSharp": "[4.8.0]", - "Microsoft.CodeAnalysis.CSharp.Workspaces": "[4.8.0]", - "Microsoft.CodeAnalysis.Common": "[4.8.0]", - "Microsoft.CodeAnalysis.Features": "[4.8.0]", - "Microsoft.CodeAnalysis.Workspaces.Common": "[4.8.0]" + "Microsoft.CodeAnalysis.Analyzers": "3.11.0", + "Microsoft.CodeAnalysis.CSharp": "[4.14.0]", + "Microsoft.CodeAnalysis.CSharp.Workspaces": "[4.14.0]", + "Microsoft.CodeAnalysis.Common": "[4.14.0]", + "Microsoft.CodeAnalysis.Elfie": "1.0.0", + "Microsoft.CodeAnalysis.Features": "[4.14.0]", + "Microsoft.CodeAnalysis.Workspaces.Common": "[4.14.0]", + "Microsoft.DiaSymReader": "2.0.0", + "System.Composition": "9.0.0", + "System.Configuration.ConfigurationManager": "9.0.0", + "System.Security.Cryptography.ProtectedData": "9.0.0" } }, "Microsoft.CodeAnalysis.CSharp.Workspaces": { "type": "Transitive", - "resolved": "4.8.0", - "contentHash": "3amm4tq4Lo8/BGvg9p3BJh3S9nKq2wqCXfS7138i69TUpo/bD+XvD0hNurpEBtcNZhi1FyutiomKJqVF39ugYA==", + "resolved": "4.14.0", + "contentHash": "QkgCEM4qJo6gdtblXtNgHqtykS61fxW+820hx5JN6n9DD4mQtqNB+6fPeJ3GQWg6jkkGz6oG9yZq7H3Gf0zwYw==", "dependencies": { "Humanizer.Core": "2.14.1", - "Microsoft.CodeAnalysis.CSharp": "[4.8.0]", - "Microsoft.CodeAnalysis.Common": "[4.8.0]", - "Microsoft.CodeAnalysis.Workspaces.Common": "[4.8.0]" + "Microsoft.CodeAnalysis.Analyzers": "3.11.0", + "Microsoft.CodeAnalysis.CSharp": "[4.14.0]", + "Microsoft.CodeAnalysis.Common": "[4.14.0]", + "Microsoft.CodeAnalysis.Workspaces.Common": "[4.14.0]", + "System.Composition": "9.0.0" } }, "Microsoft.CodeAnalysis.Elfie": { @@ -713,16 +715,20 @@ }, "Microsoft.CodeAnalysis.Features": { "type": "Transitive", - "resolved": "4.8.0", - "contentHash": "sCVzMtSETGE16KeScwwlVfxaKRbUMSf/cgRPRPMJuou37SLT7XkIBzJu4e7mlFTzpJbfalV5tOcKpUtLO3eJAg==", + "resolved": "4.14.0", + "contentHash": "UHQfGmj7/9HjD8hKndFKtyg4SYocz8+6ZFtEjx9xT8+C3wuRcEMobGanJvmp6L8quuB0nNVZR0QEsK5IkSXnlQ==", "dependencies": { - "Microsoft.CodeAnalysis.AnalyzerUtilities": "3.3.0", - "Microsoft.CodeAnalysis.Common": "[4.8.0]", + "Humanizer.Core": "2.14.1", + "Microsoft.CodeAnalysis.AnalyzerUtilities": "[4.14.0]", + "Microsoft.CodeAnalysis.Analyzers": "3.11.0", + "Microsoft.CodeAnalysis.Common": "[4.14.0]", "Microsoft.CodeAnalysis.Elfie": "1.0.0", - "Microsoft.CodeAnalysis.Scripting.Common": "[4.8.0]", - "Microsoft.CodeAnalysis.Workspaces.Common": "[4.8.0]", + "Microsoft.CodeAnalysis.Scripting.Common": "[4.14.0]", + "Microsoft.CodeAnalysis.Workspaces.Common": "[4.14.0]", "Microsoft.DiaSymReader": "2.0.0", - "System.Text.Json": "7.0.3" + "System.Composition": "9.0.0", + "System.Configuration.ConfigurationManager": "9.0.0", + "System.Security.Cryptography.ProtectedData": "9.0.0" } }, "Microsoft.CodeAnalysis.Razor": { @@ -737,42 +743,53 @@ }, "Microsoft.CodeAnalysis.Scripting.Common": { "type": "Transitive", - "resolved": "4.8.0", - "contentHash": "ysiNNbAASVhV9wEd5oY2x99EwaVYtB13XZRjHsgWT/R1mQkxZF8jWsf7JWaZxD1+jNoz1QCQ6nbe+vr+6QvlFA==", + "resolved": "4.14.0", + "contentHash": "YRFoYZQU4VPlB+Xwwtj8gIHXxMyuhGXyj207IWHcsSNaJtW83My0FGv6jtN9gC/HkxgjdMYJORPjBwUx3+FVjQ==", "dependencies": { - "Microsoft.CodeAnalysis.Common": "[4.8.0]" + "Microsoft.CodeAnalysis.Analyzers": "3.11.0", + "Microsoft.CodeAnalysis.Common": "[4.14.0]" } }, "Microsoft.CodeAnalysis.Workspaces.Common": { "type": "Transitive", - "resolved": "4.8.0", - "contentHash": "LXyV+MJKsKRu3FGJA3OmSk40OUIa/dQCFLOnm5X8MNcujx7hzGu8o+zjXlb/cy5xUdZK2UKYb9YaQ2E8m9QehQ==", + "resolved": "4.14.0", + "contentHash": "wNVK9JrqjqDC/WgBUFV6henDfrW87NPfo98nzah/+M/G1D6sBOPtXwqce3UQNn+6AjTnmkHYN1WV9XmTlPemTw==", "dependencies": { "Humanizer.Core": "2.14.1", - "Microsoft.Bcl.AsyncInterfaces": "7.0.0", - "Microsoft.CodeAnalysis.Common": "[4.8.0]", - "System.Composition": "7.0.0", - "System.IO.Pipelines": "7.0.0", - "System.Threading.Channels": "7.0.0" + "Microsoft.CodeAnalysis.Analyzers": "3.11.0", + "Microsoft.CodeAnalysis.Common": "[4.14.0]", + "System.Composition": "9.0.0" } }, "Microsoft.CodeAnalysis.Workspaces.MSBuild": { "type": "Transitive", - "resolved": "4.8.0", - "contentHash": "IEYreI82QZKklp54yPHxZNG9EKSK6nHEkeuf+0Asie9llgS1gp0V1hw7ODG+QyoB7MuAnNQHmeV1Per/ECpv6A==", + "resolved": "4.14.0", + "contentHash": "YU7Sguzm1Cuhi2U6S0DRKcVpqAdBd2QmatpyE0KqYMJogJ9E27KHOWGUzAOjsyjAM7sNaUk+a8VPz24knDseFw==", "dependencies": { - "Microsoft.Build.Framework": "16.10.0", - "Microsoft.CodeAnalysis.Common": "[4.8.0]", - "Microsoft.CodeAnalysis.Workspaces.Common": "[4.8.0]", - "System.Text.Json": "7.0.3" + "Humanizer.Core": "2.14.1", + "Microsoft.Build": "17.7.2", + "Microsoft.Build.Framework": "17.7.2", + "Microsoft.Build.Tasks.Core": "17.7.2", + "Microsoft.Build.Utilities.Core": "17.7.2", + "Microsoft.CodeAnalysis.Analyzers": "3.11.0", + "Microsoft.CodeAnalysis.Workspaces.Common": "[4.14.0]", + "Newtonsoft.Json": "13.0.3", + "System.CodeDom": "7.0.0", + "System.Composition": "9.0.0", + "System.Configuration.ConfigurationManager": "9.0.0", + "System.Resources.Extensions": "9.0.0", + "System.Security.Cryptography.Pkcs": "7.0.2", + "System.Security.Cryptography.ProtectedData": "9.0.0", + "System.Security.Permissions": "9.0.0", + "System.Windows.Extensions": "9.0.0" } }, "Microsoft.Data.Sqlite.Core": { "type": "Transitive", - "resolved": "9.0.12", - "contentHash": "FzZtilQuDpkFo4A9ut40yMOxdWMmiP+dckLY8tozBE/76v75YyiOciUKUi1oarpTOTnAIvQVE0qo7GY1f9YPZA==", + "resolved": "10.0.0", + "contentHash": "wPKG/Ym6tSMCo06UOZXzVfeFGzawnOZrTba/R3PfK+RhNuNELZ9I7nFns4WGTtv2kKlrlmmErgJ+kgTXHaNdHg==", "dependencies": { - "SQLitePCLRaw.core": "2.1.10" + "SQLitePCLRaw.core": "2.1.11" } }, "Microsoft.DiaSymReader": { @@ -782,400 +799,239 @@ }, "Microsoft.DotNet.Scaffolding.Shared": { "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "9pfRsTzUANgI6J7nFjYip50ifcvmORjMmFByXmdYa//x8toziydhbg0cMylP1S2mRf4/96VKSAfpayYrO3m4Ww==", + "resolved": "10.0.0", + "contentHash": "bvbhe5eZu8Ov2vxwNc8+XimXf0M2z79jrfCmtvTS77HRPnGC7dcGkHqdaJIHv1bmMHX+VJH1axlYmVwkF12JvA==", "dependencies": { "Humanizer": "2.14.1", - "Microsoft.CodeAnalysis.CSharp": "4.8.0", - "Microsoft.CodeAnalysis.CSharp.Features": "4.8.0", - "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.8.0", - "Microsoft.CodeAnalysis.Common": "4.8.0", - "Microsoft.CodeAnalysis.Features": "4.8.0", - "Microsoft.CodeAnalysis.Workspaces.Common": "4.8.0", - "Microsoft.Extensions.DependencyModel": "9.0.0-rc.2.24473.5", + "Microsoft.CodeAnalysis.CSharp": "4.14.0", + "Microsoft.CodeAnalysis.CSharp.Features": "4.14.0", + "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.14.0", + "Microsoft.CodeAnalysis.Common": "4.14.0", + "Microsoft.CodeAnalysis.Features": "4.14.0", + "Microsoft.CodeAnalysis.Workspaces.Common": "4.14.0", + "Microsoft.Extensions.DependencyModel": "10.0.0", "Mono.TextTemplating": "3.0.0", "Newtonsoft.Json": "13.0.3", - "NuGet.Packaging": "6.11.0", - "NuGet.ProjectModel": "6.11.0", - "System.Formats.Asn1": "9.0.0-rc.2.24473.5", - "System.Security.Cryptography.ProtectedData": "8.0.0" + "NuGet.Packaging": "6.12.1", + "NuGet.ProjectModel": "6.12.1", + "System.Security.Cryptography.ProtectedData": "9.0.6" } }, "Microsoft.EntityFrameworkCore": { "type": "Transitive", - "resolved": "9.0.12", - "contentHash": "+spirhtFAOq8N6maOlAyzk+ScBjYwptpY2xinRAl5ocW+CsE0hCJy91C2IH4Fi6voo2miQt/Whes4LDU+Gc/ig==", + "resolved": "10.0.0", + "contentHash": "hHa2amRjMyBLUH/KTML6FgIAhZ0VFYkhCKwWEax0rO6iNeM1P5MflyeQLE5dniSIOZHc3Oqyv5UIyTFO4e1Auw==", "dependencies": { - "Microsoft.EntityFrameworkCore.Abstractions": "9.0.12", - "Microsoft.EntityFrameworkCore.Analyzers": "9.0.12", - "Microsoft.Extensions.Caching.Memory": "9.0.12", - "Microsoft.Extensions.Logging": "9.0.12" + "Microsoft.EntityFrameworkCore.Abstractions": "10.0.0", + "Microsoft.EntityFrameworkCore.Analyzers": "10.0.0" } }, "Microsoft.EntityFrameworkCore.Abstractions": { "type": "Transitive", - "resolved": "9.0.12", - "contentHash": "PFuxE9HUWu7y9Bi6CWfhYTR4UULdFScLB/31XjhmP1qlOBCD6x+TLZ1YPs2CyUrwtijUVe2A51o3IGe9/tB4mw==" + "resolved": "10.0.0", + "contentHash": "C+TT9k7f1GQ8agOfV512K9iwrzi76RXVSDiLx+iWC9pz3QhEpSF1Dyk+FpVvd8ULQ+rqymfM8KQ7g48ttQVyMg==" }, "Microsoft.EntityFrameworkCore.Analyzers": { "type": "Transitive", - "resolved": "9.0.12", - "contentHash": "ut8XSV7+gZ7FunbZH4t6Hta2NXP12F23cTuvC1Pp4caCWs4yg8Ddc2QPGPPWVmxIMl8q44fB5IK8Q8IEwlXIvQ==" + "resolved": "10.0.0", + "contentHash": "TxHQq0kn0tpYs2ljeRl8jtmWk720B0nteqI6mAZM77HWJpYT9Zj8SkkBBlj8K3Yeq18a6NBjz6YutE+shEk4Ag==" }, "Microsoft.EntityFrameworkCore.Relational": { - "type": "Transitive", - "resolved": "9.0.12", - "contentHash": "XTiJy++Ut1KyMdAS4N58NzbxI+r5KFTPi6ATThKNnL9X6DgF1ioP/PUNfODzr6LibydMq0fac288ojh1AMVNXw==", - "dependencies": { - "Microsoft.EntityFrameworkCore": "9.0.12", - "Microsoft.Extensions.Caching.Memory": "9.0.12", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.12", - "Microsoft.Extensions.Logging": "9.0.12" - } - }, - "Microsoft.EntityFrameworkCore.Sqlite.Core": { - "type": "Transitive", - "resolved": "9.0.12", - "contentHash": "Jd3+cl64/r3MIpEXwf2885WcvKHehcEEOGTKJbcWdokl1JD5NRNkn/6fbSY/47+kQ6CZLvIjaFk96ngGv1veYQ==", - "dependencies": { - "Microsoft.Data.Sqlite.Core": "9.0.12", - "Microsoft.EntityFrameworkCore.Relational": "9.0.12", - "Microsoft.Extensions.Caching.Memory": "9.0.12", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.12", - "Microsoft.Extensions.DependencyModel": "9.0.12", - "Microsoft.Extensions.Logging": "9.0.12", - "SQLitePCLRaw.core": "2.1.10", - "System.Text.Json": "9.0.12" - } - }, - "Microsoft.Extensions.ApiDescription.Server": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "jDM3a95WerM8g6IcMiBXq1qRS9dqmEUpgnCk2DeMWpPkYtp1ia+CkXabOnK93JmhVlUmv8l9WMPsCSUm+WqkIA==" - }, - "Microsoft.Extensions.Caching.Abstractions": { - "type": "Transitive", - "resolved": "9.0.12", - "contentHash": "+kymyS5Lw2xrdhZ//xW90Bo6T43UpgPtjO9EA7ObcKA8liaBRvV2E3GMtg5O3JgK+d9FeUTyM/S58kLaZg7C8w==", - "dependencies": { - "Microsoft.Extensions.Primitives": "9.0.12" - } - }, - "Microsoft.Extensions.Caching.Memory": { - "type": "Transitive", - "resolved": "9.0.12", - "contentHash": "dIegtyqhrD+YYzSQJv7Wo/u938l11rIcNGIbh9MSeQSSFh1/CmcgoTTUmU7D/MXFTGC55vVtURuRSAsFmjoNdw==", - "dependencies": { - "Microsoft.Extensions.Caching.Abstractions": "9.0.12", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.12", - "Microsoft.Extensions.Logging.Abstractions": "9.0.12", - "Microsoft.Extensions.Options": "9.0.12", - "Microsoft.Extensions.Primitives": "9.0.12" - } - }, - "Microsoft.Extensions.Configuration": { - "type": "Transitive", - "resolved": "10.0.2", - "contentHash": "Lws+o4DFw6p5NquRoYA3d5QVvi49ugNw7TxbW4QGLsL8F1LCCyJqWFy0+RMQ/hzUuS9aKV5NJ/XGAF5N9/RQcQ==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.2", - "Microsoft.Extensions.Primitives": "10.0.2" - } - }, - "Microsoft.Extensions.Configuration.Abstractions": { - "type": "Transitive", - "resolved": "10.0.2", - "contentHash": "KC5PslaTDnTuTvyke0KYAVBYdZ7IVTsU3JhHe69BpEbHLcj1YThP3bIGtZNOkZfast2AuLnul5lk4rZKxAdUGQ==", - "dependencies": { - "Microsoft.Extensions.Primitives": "10.0.2" - } - }, - "Microsoft.Extensions.Configuration.Binder": { "type": "Transitive", "resolved": "10.0.0", - "contentHash": "tMF9wNh+hlyYDWB8mrFCQHQmWHlRosol1b/N2Jrefy1bFLnuTlgSYmPyHNmz8xVQgs7DpXytBRWxGhG+mSTp0g==", + "contentHash": "A3MX1ee7RDxWCUdx/KqP+74fbksz0UIhkVZh56YHvbPkEKsffCXgHU3LGkRDwqR/MrBNWLCWC/IVX79tzM30ZA==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0" + "Microsoft.EntityFrameworkCore": "10.0.0" } }, - "Microsoft.Extensions.Configuration.FileExtensions": { - "type": "Transitive", - "resolved": "10.0.2", - "contentHash": "6vStNVa/7hcT6VrYvVMGCWUl/QIKwNeQaSGnKw1E4RPpZbQbOjDsATCbrQUa0sFUs7LW8T9aZ2NBKttMz1+WuA==", - "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.2", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.2", - "Microsoft.Extensions.FileProviders.Abstractions": "10.0.2", - "Microsoft.Extensions.FileProviders.Physical": "10.0.2", - "Microsoft.Extensions.Primitives": "10.0.2" - } - }, - "Microsoft.Extensions.DependencyInjection": { + "Microsoft.EntityFrameworkCore.Sqlite.Core": { "type": "Transitive", "resolved": "10.0.0", - "contentHash": "f0RBabswJq+gRu5a+hWIobrLWiUYPKMhCD9WO3sYBAdSy3FFH14LMvLVFZc2kPSCimBLxSuitUhsd6tb0TAY6A==", + "contentHash": "VThKv9UqVxFEuuHvjAgMwy6ZFCeKJXOH+ISAR4IMuwlkozv26ptZhr09+6YxWrWwSR/Sinp8BxQ7qePCJFSALQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0" + "Microsoft.Data.Sqlite.Core": "10.0.0", + "Microsoft.EntityFrameworkCore.Relational": "10.0.0", + "Microsoft.Extensions.DependencyModel": "10.0.0", + "SQLitePCLRaw.core": "2.1.11" } }, - "Microsoft.Extensions.DependencyInjection.Abstractions": { + "Microsoft.Extensions.ApiDescription.Server": { "type": "Transitive", "resolved": "10.0.0", - "contentHash": "L3AdmZ1WOK4XXT5YFPEwyt0ep6l8lGIPs7F5OOBZc77Zqeo01Of7XXICy47628sdVl0v/owxYJTe86DTgFwKCA==" + "contentHash": "NCWCGiwRwje8773yzPQhvucYnnfeR+ZoB1VRIrIMp4uaeUNw7jvEPHij3HIbwCDuNCrNcphA00KSAR9yD9qmbg==" }, "Microsoft.Extensions.DependencyModel": { "type": "Transitive", "resolved": "10.0.0", - "contentHash": "RFYJR7APio/BiqdQunRq6DB+nDB6nc2qhHr77mlvZ0q0BT8PubMXN7XicmfzCbrDE/dzhBnUKBRXLTcqUiZDGg==", - "dependencies": { - "System.Text.Encodings.Web": "10.0.0", - "System.Text.Json": "10.0.0" - } - }, - "Microsoft.Extensions.Diagnostics.Abstractions": { - "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "SfK89ytD61S7DgzorFljSkUeluC1ncn6dtZgwc0ot39f/BEYWBl5jpgvodxduoYAs1d9HG8faCDRZxE95UMo2A==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0", - "System.Diagnostics.DiagnosticSource": "10.0.0" - } - }, - "Microsoft.Extensions.FileProviders.Abstractions": { - "type": "Transitive", - "resolved": "10.0.2", - "contentHash": "+r/eJ+slW/EmwWmH3En4gzRg1k6+yTqexoHBrMuz5fxsIKJA8MDiSGepjw/ko3XyNqg+w3dxQe+huoVXs5XDJw==", - "dependencies": { - "Microsoft.Extensions.Primitives": "10.0.2" - } - }, - "Microsoft.Extensions.FileProviders.Physical": { - "type": "Transitive", - "resolved": "10.0.2", - "contentHash": "4+ypApaugtHIz5Q2Z3oC4+erDbOgy0HrMFYS3Nm3qmTXyqK7sU7LJWY9gci99Wcx6j7ivgk8kdCkgmvsA4t0Ow==", - "dependencies": { - "Microsoft.Extensions.FileProviders.Abstractions": "10.0.2", - "Microsoft.Extensions.FileSystemGlobbing": "10.0.2", - "Microsoft.Extensions.Primitives": "10.0.2" - } - }, - "Microsoft.Extensions.FileSystemGlobbing": { - "type": "Transitive", - "resolved": "10.0.2", - "contentHash": "XozoMaWcFIv1tv0LDF+YMeZYjiNiNIewpNdZ3TEoVGf8ROrp0hVoEdUyUBsI8oYGM5U3Z5hiNEv0j2Z5COnMgg==" - }, - "Microsoft.Extensions.Hosting.Abstractions": { - "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "KrN6TGFwCwqOkLLk/idW/XtDQh+8In+CL9T4M1Dx+5ScsjTq4TlVbal8q532m82UYrMr6RiQJF2HvYCN0QwVsA==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0" - } - }, - "Microsoft.Extensions.Logging": { - "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "BStFkd5CcnEtarlcgYDBcFzGYCuuNMzPs02wN3WBsOFoYIEmYoUdAiU+au6opzoqfTYJsMTW00AeqDdnXH2CvA==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" - } - }, - "Microsoft.Extensions.Logging.Abstractions": { - "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "FU/IfjDfwaMuKr414SSQNTIti/69bHEMb+QKrskRb26oVqpx3lNFXMjs/RC9ZUuhBhcwDM2BwOgoMw+PZ+beqQ==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "System.Diagnostics.DiagnosticSource": "10.0.0" - } - }, - "Microsoft.Extensions.Options": { - "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "8oCAgXOow5XDrY9HaXX1QmH3ORsyZO/ANVHBlhLyCeWTH5Sg4UuqZeOTWJi6484M+LqSx0RqQXDJtdYy2BNiLQ==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" - } - }, - "Microsoft.Extensions.Primitives": { - "type": "Transitive", - "resolved": "10.0.2", - "contentHash": "QmSiO+oLBEooGgB3i0GRXyeYRDHjllqt3k365jwfZlYWhvSHA3UL2NEVV5m8aZa041eIlblo6KMI5txvTMpTwA==" + "contentHash": "RFYJR7APio/BiqdQunRq6DB+nDB6nc2qhHr77mlvZ0q0BT8PubMXN7XicmfzCbrDE/dzhBnUKBRXLTcqUiZDGg==" }, "Microsoft.NET.StringTools": { "type": "Transitive", - "resolved": "17.10.4", - "contentHash": "wyABaqY+IHCMMSTQmcc3Ca6vbmg5BaEPgicnEgpll+4xyWZWlkQqUwafweUd9VAhBb4jqplMl6voUHQ6yfdUcg==" + "resolved": "17.14.28", + "contentHash": "DMIeWDlxe0Wz0DIhJZ2FMoGQAN2yrGZOi5jjFhRYHWR5ONd0CS6IpAHlRnA7uA/5BF+BADvgsETxW2XrPiFc1A==" }, "Microsoft.OpenApi": { "type": "Transitive", "resolved": "2.4.1", - "contentHash": "u7QhXCISMQuab3flasb1hoaiERmUqyWsW7tmQODyILoQ7mJV5IRGM+2KKZYo0QUfC13evEOcHAb6TPWgqEQtrw==", - "dependencies": { - "System.Text.Json": "8.0.5" - } + "contentHash": "u7QhXCISMQuab3flasb1hoaiERmUqyWsW7tmQODyILoQ7mJV5IRGM+2KKZYo0QUfC13evEOcHAb6TPWgqEQtrw==" }, "Microsoft.VisualStudio.Web.CodeGeneration": { "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "W9ho78o/92MUDz04r7Al4dMx7djaqtSJE1cR7fMjy+Mm0StL5pVKXF24qnAFWJlip7KEpAa1QP35davXvuis9w==", + "resolved": "10.0.0", + "contentHash": "g6lTQP0hlzeyts5REYJ8sYhU4m9iEk3rK1i9Kk4DHanio2EuUtRxJQDUljTOJdESGBE/iofECWozG7ucBSLjSQ==", "dependencies": { "Humanizer": "2.14.1", "Microsoft.AspNetCore.Razor.Language": "6.0.24", - "Microsoft.Build": "17.10.4", - "Microsoft.CodeAnalysis.CSharp": "4.8.0", - "Microsoft.CodeAnalysis.CSharp.Features": "4.8.0", - "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.8.0", - "Microsoft.CodeAnalysis.Common": "4.8.0", - "Microsoft.CodeAnalysis.Features": "4.8.0", + "Microsoft.Build": "17.11.48", + "Microsoft.Build.Tasks.Core": "17.14.28", + "Microsoft.Build.Utilities.Core": "17.14.28", + "Microsoft.CodeAnalysis.CSharp": "4.14.0", + "Microsoft.CodeAnalysis.CSharp.Features": "4.14.0", + "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.14.0", + "Microsoft.CodeAnalysis.Common": "4.14.0", + "Microsoft.CodeAnalysis.Features": "4.14.0", "Microsoft.CodeAnalysis.Razor": "6.0.24", - "Microsoft.CodeAnalysis.Workspaces.Common": "4.8.0", - "Microsoft.Extensions.DependencyInjection": "9.0.0-rc.2.24473.5", - "Microsoft.Extensions.DependencyModel": "9.0.0-rc.2.24473.5", - "Microsoft.VisualStudio.Web.CodeGeneration.EntityFrameworkCore": "9.0.0", + "Microsoft.CodeAnalysis.Workspaces.Common": "4.14.0", + "Microsoft.CodeAnalysis.Workspaces.MSBuild": "4.14.0", + "Microsoft.EntityFrameworkCore": "10.0.0", + "Microsoft.EntityFrameworkCore.Design": "10.0.0", + "Microsoft.Extensions.DependencyModel": "10.0.0", + "Microsoft.VisualStudio.Web.CodeGeneration.EntityFrameworkCore": "10.0.0", "Mono.TextTemplating": "3.0.0", "Newtonsoft.Json": "13.0.3", - "NuGet.Packaging": "6.11.0", - "NuGet.ProjectModel": "6.11.0", - "System.Formats.Asn1": "9.0.0-rc.2.24473.5", - "System.Security.Cryptography.ProtectedData": "8.0.0" + "NuGet.Packaging": "6.12.1", + "NuGet.ProjectModel": "6.12.1", + "System.Security.Cryptography.ProtectedData": "9.0.6" } }, "Microsoft.VisualStudio.Web.CodeGeneration.Core": { "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "1VIEZs8DNnefMa0eVDZucz/dk28Sg0QRiNiRJj7SdU8E6UiNJxnkzA748aqA6Qqi8OMTHTBKhzx0Hj9ykIi6/Q==", + "resolved": "10.0.0", + "contentHash": "UeS+tMVowP7pPQC6kNUGm7bUoj9ojqyU0XIlsA1C0f24xN6iNs7h5btWAkCeQb9sl/RRmGWibKixL/r66ZSz2w==", "dependencies": { "Humanizer": "2.14.1", "Microsoft.AspNetCore.Razor.Language": "6.0.24", - "Microsoft.Build": "17.10.4", - "Microsoft.CodeAnalysis.CSharp": "4.8.0", - "Microsoft.CodeAnalysis.CSharp.Features": "4.8.0", - "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.8.0", - "Microsoft.CodeAnalysis.Common": "4.8.0", - "Microsoft.CodeAnalysis.Features": "4.8.0", + "Microsoft.Build": "17.11.48", + "Microsoft.CodeAnalysis.CSharp": "4.14.0", + "Microsoft.CodeAnalysis.CSharp.Features": "4.14.0", + "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.14.0", + "Microsoft.CodeAnalysis.Common": "4.14.0", + "Microsoft.CodeAnalysis.Features": "4.14.0", "Microsoft.CodeAnalysis.Razor": "6.0.24", - "Microsoft.CodeAnalysis.Workspaces.Common": "4.8.0", - "Microsoft.Extensions.DependencyInjection": "9.0.0-rc.2.24473.5", - "Microsoft.Extensions.DependencyModel": "9.0.0-rc.2.24473.5", - "Microsoft.VisualStudio.Web.CodeGeneration.Templating": "9.0.0", + "Microsoft.CodeAnalysis.Workspaces.Common": "4.14.0", + "Microsoft.Extensions.DependencyModel": "10.0.0", + "Microsoft.VisualStudio.Web.CodeGeneration.Templating": "10.0.0", "Mono.TextTemplating": "3.0.0", "Newtonsoft.Json": "13.0.3", - "NuGet.Packaging": "6.11.0", - "NuGet.ProjectModel": "6.11.0", - "System.Formats.Asn1": "9.0.0-rc.2.24473.5", - "System.Security.Cryptography.ProtectedData": "8.0.0" + "NuGet.Packaging": "6.12.1", + "NuGet.ProjectModel": "6.12.1", + "System.Security.Cryptography.ProtectedData": "9.0.6" } }, "Microsoft.VisualStudio.Web.CodeGeneration.EntityFrameworkCore": { "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "F4+A6CaXmof/QoeWpqaMMeoVinfUSIMKa5xLOrwsZxGfYl6Qryhb06bkJ8yJaF05WefMM/wnj73oI3Ms2bBh7g==", + "resolved": "10.0.0", + "contentHash": "taGJ3U1UnP5mjpB1h5+ktoXH2KJXEj/j8M+L+e5+P1dqeIt37n75ZO+HlE7YzpGwneETJwMfVtQBWkkOmtnXZA==", "dependencies": { "Humanizer": "2.14.1", "Microsoft.AspNetCore.Razor.Language": "6.0.24", - "Microsoft.Build": "17.10.4", - "Microsoft.CodeAnalysis.CSharp": "4.8.0", - "Microsoft.CodeAnalysis.CSharp.Features": "4.8.0", - "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.8.0", - "Microsoft.CodeAnalysis.Common": "4.8.0", - "Microsoft.CodeAnalysis.Features": "4.8.0", + "Microsoft.Build": "17.11.48", + "Microsoft.Build.Tasks.Core": "17.14.28", + "Microsoft.Build.Utilities.Core": "17.14.28", + "Microsoft.CodeAnalysis.CSharp": "4.14.0", + "Microsoft.CodeAnalysis.CSharp.Features": "4.14.0", + "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.14.0", + "Microsoft.CodeAnalysis.Common": "4.14.0", + "Microsoft.CodeAnalysis.Features": "4.14.0", "Microsoft.CodeAnalysis.Razor": "6.0.24", - "Microsoft.CodeAnalysis.Workspaces.Common": "4.8.0", - "Microsoft.DotNet.Scaffolding.Shared": "9.0.0", - "Microsoft.Extensions.DependencyInjection": "9.0.0-rc.2.24473.5", - "Microsoft.Extensions.DependencyModel": "9.0.0-rc.2.24473.5", - "Microsoft.VisualStudio.Web.CodeGeneration.Core": "9.0.0", + "Microsoft.CodeAnalysis.Workspaces.Common": "4.14.0", + "Microsoft.CodeAnalysis.Workspaces.MSBuild": "4.14.0", + "Microsoft.DotNet.Scaffolding.Shared": "10.0.0", + "Microsoft.EntityFrameworkCore": "10.0.0", + "Microsoft.EntityFrameworkCore.Design": "10.0.0", + "Microsoft.Extensions.DependencyModel": "10.0.0", + "Microsoft.VisualStudio.Web.CodeGeneration.Core": "10.0.0", "Mono.TextTemplating": "3.0.0", "Newtonsoft.Json": "13.0.3", - "NuGet.Packaging": "6.11.0", - "NuGet.ProjectModel": "6.11.0", - "System.Formats.Asn1": "9.0.0-rc.2.24473.5", - "System.Security.Cryptography.ProtectedData": "8.0.0" + "NuGet.Packaging": "6.12.1", + "NuGet.ProjectModel": "6.12.1", + "System.Security.Cryptography.ProtectedData": "9.0.6" } }, "Microsoft.VisualStudio.Web.CodeGeneration.Templating": { "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "euoX0M4JnbzSUcFXfDq+GSSdXNRbKGUBTK+8gcnzHmhY3sHgHn9bgeeZDp+LGuoUQaP+WrWA8Nq92gCTcZLWSA==", + "resolved": "10.0.0", + "contentHash": "nxzPPd0kJOVixNdHrFfKzMjdy3emYdTWpFC/ZNXfZZHwiQ0o67fam1jGznBXOxshpB4X3GEWgLFogbH/Mi871A==", "dependencies": { "Humanizer": "2.14.1", "Microsoft.AspNetCore.Razor.Language": "6.0.24", - "Microsoft.Build": "17.10.4", - "Microsoft.CodeAnalysis.CSharp": "4.8.0", - "Microsoft.CodeAnalysis.CSharp.Features": "4.8.0", - "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.8.0", - "Microsoft.CodeAnalysis.Common": "4.8.0", - "Microsoft.CodeAnalysis.Features": "4.8.0", + "Microsoft.Build": "17.11.48", + "Microsoft.CodeAnalysis.CSharp": "4.14.0", + "Microsoft.CodeAnalysis.CSharp.Features": "4.14.0", + "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.14.0", + "Microsoft.CodeAnalysis.Common": "4.14.0", + "Microsoft.CodeAnalysis.Features": "4.14.0", "Microsoft.CodeAnalysis.Razor": "6.0.24", - "Microsoft.CodeAnalysis.Workspaces.Common": "4.8.0", - "Microsoft.Extensions.DependencyModel": "9.0.0-rc.2.24473.5", - "Microsoft.VisualStudio.Web.CodeGeneration.Utils": "9.0.0", + "Microsoft.CodeAnalysis.Workspaces.Common": "4.14.0", + "Microsoft.Extensions.DependencyModel": "10.0.0", + "Microsoft.VisualStudio.Web.CodeGeneration.Utils": "10.0.0", "Mono.TextTemplating": "3.0.0", "Newtonsoft.Json": "13.0.3", - "NuGet.Packaging": "6.11.0", - "NuGet.ProjectModel": "6.11.0", - "System.Formats.Asn1": "9.0.0-rc.2.24473.5", - "System.Security.Cryptography.ProtectedData": "8.0.0" + "NuGet.Packaging": "6.12.1", + "NuGet.ProjectModel": "6.12.1", + "System.Security.Cryptography.ProtectedData": "9.0.6" } }, "Microsoft.VisualStudio.Web.CodeGeneration.Utils": { "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "O8uehWLzgQhq3H2f+dxEkuYF8wWoBrT7iKtQXnHAc96qlVdLSARSxt3hlxqFSzK3ZkHp2P6lHt76LRH6J0PDrw==", + "resolved": "10.0.0", + "contentHash": "M8aJ3bDRhRa5PvDR9CpaxB+3dY5+V157HVk/PP7dO+kQSD1eUbWq0Wh2uarpnQRSAm7hNacRpr4lIK5IdYMiVQ==", "dependencies": { "Humanizer": "2.14.1", - "Microsoft.Build": "17.10.4", - "Microsoft.CodeAnalysis.CSharp": "4.8.0", - "Microsoft.CodeAnalysis.CSharp.Features": "4.8.0", - "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.8.0", - "Microsoft.CodeAnalysis.Common": "4.8.0", - "Microsoft.CodeAnalysis.Features": "4.8.0", - "Microsoft.CodeAnalysis.Workspaces.Common": "4.8.0", - "Microsoft.DotNet.Scaffolding.Shared": "9.0.0", - "Microsoft.Extensions.DependencyModel": "9.0.0-rc.2.24473.5", + "Microsoft.Build": "17.11.48", + "Microsoft.CodeAnalysis.CSharp": "4.14.0", + "Microsoft.CodeAnalysis.CSharp.Features": "4.14.0", + "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.14.0", + "Microsoft.CodeAnalysis.Common": "4.14.0", + "Microsoft.CodeAnalysis.Features": "4.14.0", + "Microsoft.CodeAnalysis.Workspaces.Common": "4.14.0", + "Microsoft.DotNet.Scaffolding.Shared": "10.0.0", + "Microsoft.Extensions.DependencyModel": "10.0.0", "Mono.TextTemplating": "3.0.0", "Newtonsoft.Json": "13.0.3", - "NuGet.Packaging": "6.11.0", - "NuGet.ProjectModel": "6.11.0", - "System.Formats.Asn1": "9.0.0-rc.2.24473.5", - "System.Security.Cryptography.ProtectedData": "8.0.0" + "NuGet.Packaging": "6.12.1", + "NuGet.ProjectModel": "6.12.1", + "System.Security.Cryptography.ProtectedData": "9.0.6" } }, "Microsoft.VisualStudio.Web.CodeGenerators.Mvc": { "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "WJhdsFXkpA0XR6PCjoxe9pRIqT8NV8Ggojv2cwaeCwxApzTAbLnglwADteeF7WlgHnr1VmJ+xdgzzNAAcJ9+Rg==", + "resolved": "10.0.0", + "contentHash": "4Kf+vJEM8Bj9s+4UPvFFwuXCVWcuUedVIofRqWCZMaFsCBbUmrKMMkH0AAO5fvkOfxB0F3swjpH8fxzgziybdw==", "dependencies": { "Humanizer": "2.14.1", "Microsoft.AspNetCore.Razor.Language": "6.0.24", - "Microsoft.Build": "17.10.4", - "Microsoft.CodeAnalysis.CSharp": "4.8.0", - "Microsoft.CodeAnalysis.CSharp.Features": "4.8.0", - "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.8.0", - "Microsoft.CodeAnalysis.Common": "4.8.0", - "Microsoft.CodeAnalysis.Features": "4.8.0", + "Microsoft.Build": "17.11.48", + "Microsoft.Build.Tasks.Core": "17.14.28", + "Microsoft.Build.Utilities.Core": "17.14.28", + "Microsoft.CodeAnalysis.CSharp": "4.14.0", + "Microsoft.CodeAnalysis.CSharp.Features": "4.14.0", + "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.14.0", + "Microsoft.CodeAnalysis.Common": "4.14.0", + "Microsoft.CodeAnalysis.Features": "4.14.0", "Microsoft.CodeAnalysis.Razor": "6.0.24", - "Microsoft.CodeAnalysis.Workspaces.Common": "4.8.0", - "Microsoft.DotNet.Scaffolding.Shared": "9.0.0", - "Microsoft.Extensions.DependencyInjection": "9.0.0-rc.2.24473.5", - "Microsoft.Extensions.DependencyModel": "9.0.0-rc.2.24473.5", - "Microsoft.VisualStudio.Web.CodeGeneration": "9.0.0", + "Microsoft.CodeAnalysis.Workspaces.Common": "4.14.0", + "Microsoft.CodeAnalysis.Workspaces.MSBuild": "4.14.0", + "Microsoft.DotNet.Scaffolding.Shared": "10.0.0", + "Microsoft.EntityFrameworkCore": "10.0.0", + "Microsoft.EntityFrameworkCore.Design": "10.0.0", + "Microsoft.Extensions.DependencyModel": "10.0.0", + "Microsoft.VisualStudio.Web.CodeGeneration": "10.0.0", "Mono.TextTemplating": "3.0.0", "Newtonsoft.Json": "13.0.3", - "NuGet.Packaging": "6.11.0", - "NuGet.ProjectModel": "6.11.0", - "System.Formats.Asn1": "9.0.0-rc.2.24473.5", - "System.Security.Cryptography.ProtectedData": "8.0.0" + "NuGet.Packaging": "6.12.1", + "NuGet.ProjectModel": "6.12.1", + "System.Security.Cryptography.ProtectedData": "9.0.6" } }, "Mono.TextTemplating": { @@ -1193,76 +1049,76 @@ }, "NuGet.Common": { "type": "Transitive", - "resolved": "6.11.0", - "contentHash": "T3bCiKUSx8wdYpcqr6Dbx93zAqFp689ee/oa1tH22XI/xl7EUzQ7No/WlE1FUqvEX1+Mqar3wRNAn2O/yxo94g==", + "resolved": "6.12.1", + "contentHash": "nk8nTdhQl4x2VaAQUvefI7DDYAuBDlE+OZZRffm50Qx5dUAEq8wkc5JIqrN2lTEohObHPI/SXyG2UFdMQkrdyg==", "dependencies": { - "NuGet.Frameworks": "6.11.0" + "NuGet.Frameworks": "6.12.1" } }, "NuGet.Configuration": { "type": "Transitive", - "resolved": "6.11.0", - "contentHash": "73QprQqmumFrv3Ooi4YWpRYeBj8jZy9gNdOaOCp4pPInpt41SJJAz/aP4je+StwIJvi5HsgPPecLKekDIQEwKg==", + "resolved": "6.12.1", + "contentHash": "IRwlY1379ZgJ0oEJvjD+lDuOhJ5S1fsU5n/bEC5/i0+N9bo2WIMDAdaQ/qIdyK/gMJ/YWS+++GSX6rN7luqEvg==", "dependencies": { - "NuGet.Common": "6.11.0", + "NuGet.Common": "6.12.1", "System.Security.Cryptography.ProtectedData": "4.4.0" } }, "NuGet.DependencyResolver.Core": { "type": "Transitive", - "resolved": "6.11.0", - "contentHash": "SoiPKPooA+IF+iCsX1ykwi3M0e+yBL34QnwIP3ujhQEn1dhlP/N1XsYAnKkJPxV15EZCahuuS4HtnBsZx+CHKA==", + "resolved": "6.12.1", + "contentHash": "Nn4+pXW1qxGcq0OEQBJBh/FjKvWhzD49+kRzuOC9SkRZOrHsTaA12EsQ1mEE4rMUfqviaosmPEtvodJ4eKCmIw==", "dependencies": { - "NuGet.Configuration": "6.11.0", - "NuGet.LibraryModel": "6.11.0", - "NuGet.Protocol": "6.11.0" + "NuGet.Configuration": "6.12.1", + "NuGet.LibraryModel": "6.12.1", + "NuGet.Protocol": "6.12.1" } }, "NuGet.Frameworks": { "type": "Transitive", - "resolved": "6.11.0", - "contentHash": "Ew/mrfmLF5phsprysHbph2+tdZ10HMHAURavsr/Kx1WhybDG4vmGuoNLbbZMZOqnPRdpyCTc42OKWLoedxpYtA==" + "resolved": "6.12.1", + "contentHash": "kPaRD5RJC0ByUg+yGX6bDz5XHMI7OYmQwP8kbtef+vZ+csj/VDb5Bwas4ChxwhoAbI8lEvwP5/3aViQPpgNBow==" }, "NuGet.LibraryModel": { "type": "Transitive", - "resolved": "6.11.0", - "contentHash": "KUV2eeMICMb24OPcICn/wgncNzt6+W+lmFVO5eorTdo1qV4WXxYGyG1NTPiCY+Nrv5H/Ilnv9UaUM2ozqSmnjw==", + "resolved": "6.12.1", + "contentHash": "IqX7Ze7qSbhx22lsdnMbLJpcqrmwGyQbyNk9JSsZ/u5p6PIaZyeWsvHHy+oXU8fuRmmKfHBnZEsceaCAw6Xy5A==", "dependencies": { - "NuGet.Common": "6.11.0", - "NuGet.Versioning": "6.11.0" + "NuGet.Common": "6.12.1", + "NuGet.Versioning": "6.12.1" } }, "NuGet.Packaging": { "type": "Transitive", - "resolved": "6.11.0", - "contentHash": "VmUv2LedVuPY1tfNybORO2I9IuqOzeV7I5JBD+PwNvJq2bAqovi4FCw2cYI0g+kjOJXBN2lAJfrfnqtUOlVJdQ==", + "resolved": "6.12.1", + "contentHash": "6s5NO3VNX6fIx6GwuWZtIsal9W1xkelYd3Vg2KUAg1zGqnKC3wB5IZlombvVGVGcwyl/A+iDvpUwSvgeDoB3wA==", "dependencies": { "Newtonsoft.Json": "13.0.3", - "NuGet.Configuration": "6.11.0", - "NuGet.Versioning": "6.11.0", + "NuGet.Configuration": "6.12.1", + "NuGet.Versioning": "6.12.1", "System.Security.Cryptography.Pkcs": "6.0.4" } }, "NuGet.ProjectModel": { "type": "Transitive", - "resolved": "6.11.0", - "contentHash": "g0KtmDH6fas97WsN73yV2h1F5JT9o6+Y0wlPK+ij9YLKaAXaF6+1HkSaQMMJ+xh9/jCJG9G6nau6InOlb1g48g==", + "resolved": "6.12.1", + "contentHash": "nzpVqooG0qumADw5t8YMg9e+ezVqUhhoGvoihVmu5O9gJDqzkRYswQzyIVsE24dirBQabW0X0Sv53f6ZLJCv+g==", "dependencies": { - "NuGet.DependencyResolver.Core": "6.11.0" + "NuGet.DependencyResolver.Core": "6.12.1" } }, "NuGet.Protocol": { "type": "Transitive", - "resolved": "6.11.0", - "contentHash": "p5B8oNLLnGhUfMbcS16aRiegj11pD6k+LELyRBqvNFR/pE3yR1XT+g1XS33ME9wvoU+xbCGnl4Grztt1jHPinw==", + "resolved": "6.12.1", + "contentHash": "VBN7OtG/Y9Rnj1WT3G8X88ZHu5Pq+yzca5Z6OI/FWXcENVAQkUl0ml6Cv8ghOqYyiuvnObGDV9oWLD/bIuVtDw==", "dependencies": { - "NuGet.Packaging": "6.11.0" + "NuGet.Packaging": "6.12.1" } }, "NuGet.Versioning": { "type": "Transitive", - "resolved": "6.11.0", - "contentHash": "v/GGlIj2dd7svplFmASWEueu62veKW0MrMtBaZ7QG8aJTSGv2yE+pgUGhXRcQ4nxNOEq/wLBrz1vkth/1SND7A==" + "resolved": "6.12.1", + "contentHash": "fJ6rFYANDnohFsdpaY79FvrJxI6murmoOxXz6nZlf819F48+IBKMnAIg3oIBRtZq5y498ObMtKnro5IitvizUg==" }, "Serilog": { "type": "Transitive", @@ -1274,9 +1130,6 @@ "resolved": "10.0.0", "contentHash": "E7juuIc+gzoGxgzFooFgAV8g9BfiSXNKsUok9NmEpyAXg2odkcPsMa/Yo4axkJRlh0se7mkYQ1GXDaBemR+b6w==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Hosting.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", "Serilog": "4.3.0", "Serilog.Extensions.Logging": "10.0.0" } @@ -1286,7 +1139,6 @@ "resolved": "10.0.0", "contentHash": "vx0kABKl2dWbBhhqAfTOk53/i8aV/5VaT3a6il9gn72Wqs2pM7EK2OB6No6xdqK2IaY6Zf9gdjLuK9BVa2rT+Q==", "dependencies": { - "Microsoft.Extensions.Logging": "10.0.0", "Serilog": "4.2.0" } }, @@ -1308,32 +1160,29 @@ }, "SQLitePCLRaw.bundle_e_sqlite3": { "type": "Transitive", - "resolved": "2.1.10", - "contentHash": "UxWuisvZ3uVcVOLJQv7urM/JiQH+v3TmaJc1BLKl5Dxfm/nTzTUrqswCqg/INiYLi61AXnHo1M1JPmPqqLnAdg==", + "resolved": "2.1.11", + "contentHash": "DC4nA7yWnf4UZdgJDF+9Mus4/cb0Y3Sfgi3gDnAoKNAIBwzkskNAbNbyu+u4atT0ruVlZNJfwZmwiEwE5oz9LQ==", "dependencies": { - "SQLitePCLRaw.lib.e_sqlite3": "2.1.10", - "SQLitePCLRaw.provider.e_sqlite3": "2.1.10" + "SQLitePCLRaw.lib.e_sqlite3": "2.1.11", + "SQLitePCLRaw.provider.e_sqlite3": "2.1.11" } }, "SQLitePCLRaw.core": { "type": "Transitive", - "resolved": "2.1.10", - "contentHash": "Ii8JCbC7oiVclaE/mbDEK000EFIJ+ShRPwAvvV89GOZhQ+ZLtlnSWl6ksCNMKu/VGXA4Nfi2B7LhN/QFN9oBcw==", - "dependencies": { - "System.Memory": "4.5.3" - } + "resolved": "2.1.11", + "contentHash": "PK0GLFkfhZzLQeR3PJf71FmhtHox+U3vcY6ZtswoMjrefkB9k6ErNJEnwXqc5KgXDSjige2XXrezqS39gkpQKA==" }, "SQLitePCLRaw.lib.e_sqlite3": { "type": "Transitive", - "resolved": "2.1.10", - "contentHash": "mAr69tDbnf3QJpRy2nJz8Qdpebdil00fvycyByR58Cn9eARvR+UiG2Vzsp+4q1tV3ikwiYIjlXCQFc12GfebbA==" + "resolved": "2.1.11", + "contentHash": "Ev2ytaXiOlWZ4b3R67GZBsemTINslLD1DCJr2xiacpn4tbapu0Q4dHEzSvZSMnVWeE5nlObU3VZN2p81q3XOYQ==" }, "SQLitePCLRaw.provider.e_sqlite3": { "type": "Transitive", - "resolved": "2.1.10", - "contentHash": "uZVTi02C1SxqzgT0HqTWatIbWGb40iIkfc3FpFCpE/r7g6K0PqzDUeefL6P6HPhDtc6BacN3yQysfzP7ks+wSQ==", + "resolved": "2.1.11", + "contentHash": "Y/0ZkR+r0Cg3DQFuCl1RBnv/tmxpIZRU3HUvelPw6MVaKHwYYR8YNvgs0vuNuXCMvlyJ+Fh88U1D4tah1tt6qw==", "dependencies": { - "SQLitePCLRaw.core": "2.1.10" + "SQLitePCLRaw.core": "2.1.11" } }, "Swashbuckle.AspNetCore.Swagger": { @@ -1359,69 +1208,63 @@ }, "System.CodeDom": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "CPc6tWO1LAer3IzfZufDBRL+UZQcj5uS207NHALQzP84Vp/z6wF0Aa0YZImOQY8iStY0A2zI/e3ihKNPfUm8XA==" - }, - "System.Collections.Immutable": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==" + "resolved": "9.0.0", + "contentHash": "oTE5IfuMoET8yaZP/vdvy9xO47guAv/rOhe4DODuFBN3ySprcQOlXqO3j+e/H/YpKKR5sglrxRaZ2HYOhNJrqA==" }, "System.Composition": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "tRwgcAkDd85O8Aq6zHDANzQaq380cek9lbMg5Qma46u5BZXq/G+XvIYmu+UI+BIIZ9zssXLYrkTykEqxxvhcmg==", + "resolved": "9.0.0", + "contentHash": "3Djj70fFTraOarSKmRnmRy/zm4YurICm+kiCtI0dYRqGJnLX6nJ+G3WYuFJ173cAPax/gh96REcbNiVqcrypFQ==", "dependencies": { - "System.Composition.AttributedModel": "7.0.0", - "System.Composition.Convention": "7.0.0", - "System.Composition.Hosting": "7.0.0", - "System.Composition.Runtime": "7.0.0", - "System.Composition.TypedParts": "7.0.0" + "System.Composition.AttributedModel": "9.0.0", + "System.Composition.Convention": "9.0.0", + "System.Composition.Hosting": "9.0.0", + "System.Composition.Runtime": "9.0.0", + "System.Composition.TypedParts": "9.0.0" } }, "System.Composition.AttributedModel": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "2QzClqjElKxgI1jK1Jztnq44/8DmSuTSGGahXqQ4TdEV0h9s2KikQZIgcEqVzR7OuWDFPGLHIprBJGQEPr8fAQ==" + "resolved": "9.0.0", + "contentHash": "iri00l/zIX9g4lHMY+Nz0qV1n40+jFYAmgsaiNn16xvt2RDwlqByNG4wgblagnDYxm3YSQQ0jLlC/7Xlk9CzyA==" }, "System.Composition.Convention": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "IMhTlpCs4HmlD8B+J8/kWfwX7vrBBOs6xyjSTzBlYSs7W4OET4tlkR/Sg9NG8jkdJH9Mymq0qGdYS1VPqRTBnQ==", + "resolved": "9.0.0", + "contentHash": "+vuqVP6xpi582XIjJi6OCsIxuoTZfR0M7WWufk3uGDeCl3wGW6KnpylUJ3iiXdPByPE0vR5TjJgR6hDLez4FQg==", "dependencies": { - "System.Composition.AttributedModel": "7.0.0" + "System.Composition.AttributedModel": "9.0.0" } }, "System.Composition.Hosting": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "eB6gwN9S+54jCTBJ5bpwMOVerKeUfGGTYCzz3QgDr1P55Gg/Wb27ShfPIhLMjmZ3MoAKu8uUSv6fcCdYJTN7Bg==", + "resolved": "9.0.0", + "contentHash": "OFqSeFeJYr7kHxDfaViGM1ymk7d4JxK//VSoNF9Ux0gpqkLsauDZpu89kTHHNdCWfSljbFcvAafGyBoY094btQ==", "dependencies": { - "System.Composition.Runtime": "7.0.0" + "System.Composition.Runtime": "9.0.0" } }, "System.Composition.Runtime": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "aZJ1Zr5Txe925rbo4742XifEyW0MIni1eiUebmcrP3HwLXZ3IbXUj4MFMUH/RmnJOAQiS401leg/2Sz1MkApDw==" + "resolved": "9.0.0", + "contentHash": "w1HOlQY1zsOWYussjFGZCEYF2UZXgvoYnS94NIu2CBnAGMbXFAX8PY8c92KwUItPmowal68jnVLBCzdrWLeEKA==" }, "System.Composition.TypedParts": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "ZK0KNPfbtxVceTwh+oHNGUOYV2WNOHReX2AXipuvkURC7s/jPwoWfsu3SnDBDgofqbiWr96geofdQ2erm/KTHg==", + "resolved": "9.0.0", + "contentHash": "aRZlojCCGEHDKqh43jaDgaVpYETsgd7Nx4g1zwLKMtv4iTo0627715ajEFNpEEBTgLmvZuv8K0EVxc3sM4NWJA==", "dependencies": { - "System.Composition.AttributedModel": "7.0.0", - "System.Composition.Hosting": "7.0.0", - "System.Composition.Runtime": "7.0.0" + "System.Composition.AttributedModel": "9.0.0", + "System.Composition.Hosting": "9.0.0", + "System.Composition.Runtime": "9.0.0" } }, "System.Configuration.ConfigurationManager": { "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==", + "resolved": "9.0.0", + "contentHash": "PdkuMrwDhXoKFo/JxISIi9E8L+QGn9Iquj2OKDWHB6Y/HnUOuBouF7uS3R4Hw3FoNmwwMo6hWgazQdyHIIs27A==", "dependencies": { - "System.Diagnostics.EventLog": "8.0.0", - "System.Security.Cryptography.ProtectedData": "8.0.0" + "System.Security.Cryptography.ProtectedData": "9.0.0" } }, "System.Data.DataSetExtensions": { @@ -1429,94 +1272,46 @@ "resolved": "4.5.0", "contentHash": "221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==" }, - "System.Diagnostics.DiagnosticSource": { - "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "0KdBK+h7G13PuOSC2R/DalAoFMvdYMznvGRuICtkdcUMXgl/gYXsG6z4yUvTxHSMACorWgHCU1Faq0KUHU6yAQ==" - }, - "System.Diagnostics.EventLog": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "fdYxcRjQqTTacKId/2IECojlDSFvp7LP5N78+0z/xH7v/Tuw5ZAxu23Y6PTCRinqyu2ePx+Gn1098NC6jM6d+A==" - }, - "System.Formats.Asn1": { - "type": "Transitive", - "resolved": "9.0.0-rc.2.24473.5", - "contentHash": "T7T1kH5MU5pd3jo+lPxKOvcUrvsNiGJpOVOM641CRWAy8HRdk55fmmOqcGYZQ2p8+qDOeMUikQyi5dbNVGEJjg==" - }, - "System.IO.Pipelines": { - "type": "Transitive", - "resolved": "10.0.2", - "contentHash": "EqMsn9r18ABvTDxrDce4OWDhBE3y+rR23ilG7Y3BudDKrDKrLG/hkD/JmeFZbctAPxSkCjyJ/Ddwbn/g7ufRJA==" - }, - "System.Memory": { + "System.Formats.Nrbf": { "type": "Transitive", - "resolved": "4.5.3", - "contentHash": "3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA==" + "resolved": "9.0.0", + "contentHash": "F/6tNE+ckmdFeSQAyQo26bQOqfPFKEfZcuqnp4kBE6/7jP26diP+QTHCJJ6vpEfaY6bLy+hBLiIQUSxSmNwLkA==" }, - "System.Reflection.Metadata": { + "System.Reflection.MetadataLoadContext": { "type": "Transitive", "resolved": "8.0.0", - "contentHash": "ptvgrFh7PvWI8bcVqG5rsA/weWM09EnthFHR5SCnS6IN+P4mj6rE1lBDC4U8HL9/57htKAqy4KQ3bBj84cfYyQ==", - "dependencies": { - "System.Collections.Immutable": "8.0.0" - } + "contentHash": "SZxrQ4sQYnIcdwiO3G/lHZopbPYQ2lW0ioT4JezgccWUrKaKbHLJbAGZaDfkYjWcta1pWssAo3MOXLsR0ie4tQ==" }, - "System.Reflection.MetadataLoadContext": { + "System.Resources.Extensions": { "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "SZxrQ4sQYnIcdwiO3G/lHZopbPYQ2lW0ioT4JezgccWUrKaKbHLJbAGZaDfkYjWcta1pWssAo3MOXLsR0ie4tQ==", + "resolved": "9.0.0", + "contentHash": "tvhuT1D2OwPROdL1kRWtaTJliQo0WdyhvwDpd8RM997G7m3Hya5nhbYhNTS75x6Vu+ypSOgL5qxDCn8IROtCxw==", "dependencies": { - "System.Collections.Immutable": "8.0.0", - "System.Reflection.Metadata": "8.0.0" + "System.Formats.Nrbf": "9.0.0" } }, - "System.Runtime.CompilerServices.Unsafe": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" - }, "System.Security.Cryptography.Pkcs": { "type": "Transitive", - "resolved": "6.0.4", - "contentHash": "LGbXi1oUJ9QgCNGXRO9ndzBL/GZgANcsURpMhNR8uO+rca47SZmciS3RSQUvlQRwK3QHZSHNOXzoMUASKA+Anw==", - "dependencies": { - "System.Formats.Asn1": "6.0.0" - } + "resolved": "9.0.0", + "contentHash": "8tluJF8w9si+2yoHeL8rgVJS6lKvWomTDC8px65Z8MCzzdME5eaPtEQf4OfVGrAxB5fW93ncucy1+221O9EQaw==" }, "System.Security.Cryptography.ProtectedData": { "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==" - }, - "System.Security.Principal.Windows": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==" + "resolved": "9.0.6", + "contentHash": "yErfw/3pZkJE/VKza/Cm5idTpIKOy/vsmVi59Ta5SruPVtubzxb8CtnE8tyUpzs5pr0Y28GUFfSVzAhCLN3F/Q==" }, - "System.Text.Encodings.Web": { + "System.Security.Permissions": { "type": "Transitive", - "resolved": "10.0.2", - "contentHash": "Ro4cLT4qpRy64crfLAy3ekihtXckeXrD5eI6qb6NDSEVyHcHsmH7KgN4dbnIuiBmXIoaCslx4SynLYxag1SLSQ==" - }, - "System.Text.Json": { - "type": "Transitive", - "resolved": "10.0.2", - "contentHash": "zy8ey7I16G9neZ6uzxrnYwS7pidElzN8XarsBjGu7lE2m7afTKMEe18KbY3ZSmh/z/bR40oxjd6hlUcmOEaMHw==", + "resolved": "9.0.0", + "contentHash": "H2VFD4SFVxieywNxn9/epb63/IOcPPfA0WOtfkljzNfu7GCcHIBQNuwP6zGCEIi7Ci/oj8aLPUNK9sYImMFf4Q==", "dependencies": { - "System.IO.Pipelines": "10.0.2", - "System.Text.Encodings.Web": "10.0.2" + "System.Windows.Extensions": "9.0.0" } }, - "System.Threading.Channels": { + "System.Windows.Extensions": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "qmeeYNROMsONF6ndEZcIQ+VxR4Q/TX/7uIVLJqtwIWL7dDWeh0l1UIqgo4wYyjG//5lUNhwkLDSFl+pAWO6oiA==" - }, - "System.Threading.Tasks.Dataflow": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "7V0I8tPa9V7UxMx/+7DIwkhls5ouaEMQx6l/GwGm1Y8kJQ61On9B/PxCXFLbgu5/C47g0BP2CUYs+nMv1+Oaqw==" + "resolved": "9.0.0", + "contentHash": "U9msthvnH2Fsw7xwAvIhNHOdnIjOQTwOc8Vd0oGOsiRcGMGoBFlUD6qtYawRUoQdKH9ysxesZ9juFElt1Jw/7A==" } } } diff --git a/test/Dotnet.Samples.AspNetCore.WebApi.Tests/Dotnet.Samples.AspNetCore.WebApi.Tests.csproj b/test/Dotnet.Samples.AspNetCore.WebApi.Tests/Dotnet.Samples.AspNetCore.WebApi.Tests.csproj index 5246b90..c7c9237 100644 --- a/test/Dotnet.Samples.AspNetCore.WebApi.Tests/Dotnet.Samples.AspNetCore.WebApi.Tests.csproj +++ b/test/Dotnet.Samples.AspNetCore.WebApi.Tests/Dotnet.Samples.AspNetCore.WebApi.Tests.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 enable enable false diff --git a/test/Dotnet.Samples.AspNetCore.WebApi.Tests/packages.lock.json b/test/Dotnet.Samples.AspNetCore.WebApi.Tests/packages.lock.json index 4527752..0615a0f 100644 --- a/test/Dotnet.Samples.AspNetCore.WebApi.Tests/packages.lock.json +++ b/test/Dotnet.Samples.AspNetCore.WebApi.Tests/packages.lock.json @@ -1,7 +1,7 @@ { "version": 1, "dependencies": { - "net8.0": { + "net10.0": { "coverlet.collector": { "type": "Direct", "requested": "[6.0.4, )", @@ -82,10 +82,10 @@ }, "Microsoft.AspNetCore.OpenApi": { "type": "Transitive", - "resolved": "8.0.23", - "contentHash": "Iaix/+h95NaGXml1J+thXClaLhCYh+XHFEC1N/vqlMrITJQ51Bjh6ReKsW/JRIrMfq5KL3kW/rvZlXIu1w9iLg==", + "resolved": "10.0.0", + "contentHash": "0aqIF1t+sA2T62LIeMtXGSiaV7keGQaJnvwwmu+htQdjCaKYARfXAeqp4nHH9y2etpilyZ/tnQzZg4Ilmo/c4Q==", "dependencies": { - "Microsoft.OpenApi": "1.4.3" + "Microsoft.OpenApi": "2.0.0" } }, "Microsoft.CodeCoverage": { @@ -95,114 +95,112 @@ }, "Microsoft.Data.Sqlite.Core": { "type": "Transitive", - "resolved": "9.0.12", - "contentHash": "FzZtilQuDpkFo4A9ut40yMOxdWMmiP+dckLY8tozBE/76v75YyiOciUKUi1oarpTOTnAIvQVE0qo7GY1f9YPZA==", + "resolved": "10.0.0", + "contentHash": "wPKG/Ym6tSMCo06UOZXzVfeFGzawnOZrTba/R3PfK+RhNuNELZ9I7nFns4WGTtv2kKlrlmmErgJ+kgTXHaNdHg==", "dependencies": { - "SQLitePCLRaw.core": "2.1.10" + "SQLitePCLRaw.core": "2.1.11" } }, "Microsoft.EntityFrameworkCore": { "type": "Transitive", - "resolved": "9.0.12", - "contentHash": "+spirhtFAOq8N6maOlAyzk+ScBjYwptpY2xinRAl5ocW+CsE0hCJy91C2IH4Fi6voo2miQt/Whes4LDU+Gc/ig==", + "resolved": "10.0.0", + "contentHash": "hHa2amRjMyBLUH/KTML6FgIAhZ0VFYkhCKwWEax0rO6iNeM1P5MflyeQLE5dniSIOZHc3Oqyv5UIyTFO4e1Auw==", "dependencies": { - "Microsoft.EntityFrameworkCore.Abstractions": "9.0.12", - "Microsoft.EntityFrameworkCore.Analyzers": "9.0.12", - "Microsoft.Extensions.Caching.Memory": "9.0.12", - "Microsoft.Extensions.Logging": "9.0.12" + "Microsoft.EntityFrameworkCore.Abstractions": "10.0.0", + "Microsoft.EntityFrameworkCore.Analyzers": "10.0.0", + "Microsoft.Extensions.Caching.Memory": "10.0.0", + "Microsoft.Extensions.Logging": "10.0.0" } }, "Microsoft.EntityFrameworkCore.Abstractions": { "type": "Transitive", - "resolved": "9.0.12", - "contentHash": "PFuxE9HUWu7y9Bi6CWfhYTR4UULdFScLB/31XjhmP1qlOBCD6x+TLZ1YPs2CyUrwtijUVe2A51o3IGe9/tB4mw==" + "resolved": "10.0.0", + "contentHash": "C+TT9k7f1GQ8agOfV512K9iwrzi76RXVSDiLx+iWC9pz3QhEpSF1Dyk+FpVvd8ULQ+rqymfM8KQ7g48ttQVyMg==" }, "Microsoft.EntityFrameworkCore.Analyzers": { "type": "Transitive", - "resolved": "9.0.12", - "contentHash": "ut8XSV7+gZ7FunbZH4t6Hta2NXP12F23cTuvC1Pp4caCWs4yg8Ddc2QPGPPWVmxIMl8q44fB5IK8Q8IEwlXIvQ==" + "resolved": "10.0.0", + "contentHash": "TxHQq0kn0tpYs2ljeRl8jtmWk720B0nteqI6mAZM77HWJpYT9Zj8SkkBBlj8K3Yeq18a6NBjz6YutE+shEk4Ag==" }, "Microsoft.EntityFrameworkCore.Relational": { "type": "Transitive", - "resolved": "9.0.12", - "contentHash": "XTiJy++Ut1KyMdAS4N58NzbxI+r5KFTPi6ATThKNnL9X6DgF1ioP/PUNfODzr6LibydMq0fac288ojh1AMVNXw==", + "resolved": "10.0.0", + "contentHash": "A3MX1ee7RDxWCUdx/KqP+74fbksz0UIhkVZh56YHvbPkEKsffCXgHU3LGkRDwqR/MrBNWLCWC/IVX79tzM30ZA==", "dependencies": { - "Microsoft.EntityFrameworkCore": "9.0.12", - "Microsoft.Extensions.Caching.Memory": "9.0.12", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.12", - "Microsoft.Extensions.Logging": "9.0.12" + "Microsoft.EntityFrameworkCore": "10.0.0", + "Microsoft.Extensions.Caching.Memory": "10.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", + "Microsoft.Extensions.Logging": "10.0.0" } }, "Microsoft.EntityFrameworkCore.Sqlite": { "type": "Transitive", - "resolved": "9.0.12", - "contentHash": "MGaYQFnR7MvjAb8i/piHLaVT3mBeLpVKd3gk8CZr+5+xqT9+fal+4/dCpvwy9p9xbdYHvy0XTflpkkBYbjTTMA==", + "resolved": "10.0.0", + "contentHash": "nukHe+yBlhitLUUtkanay7zTbHwtcIh/U5PfmwzZJJTCqui9h2Mt+Gifc9ZjJR7QIuE0zgNQQJaI8+eFxkBaEQ==", "dependencies": { - "Microsoft.EntityFrameworkCore.Sqlite.Core": "9.0.12", - "Microsoft.Extensions.Caching.Memory": "9.0.12", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.12", - "Microsoft.Extensions.DependencyModel": "9.0.12", - "Microsoft.Extensions.Logging": "9.0.12", - "SQLitePCLRaw.bundle_e_sqlite3": "2.1.10", - "SQLitePCLRaw.core": "2.1.10", - "System.Text.Json": "9.0.12" + "Microsoft.EntityFrameworkCore.Sqlite.Core": "10.0.0", + "Microsoft.Extensions.Caching.Memory": "10.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", + "Microsoft.Extensions.DependencyModel": "10.0.0", + "Microsoft.Extensions.Logging": "10.0.0", + "SQLitePCLRaw.bundle_e_sqlite3": "2.1.11", + "SQLitePCLRaw.core": "2.1.11" } }, "Microsoft.EntityFrameworkCore.Sqlite.Core": { "type": "Transitive", - "resolved": "9.0.12", - "contentHash": "Jd3+cl64/r3MIpEXwf2885WcvKHehcEEOGTKJbcWdokl1JD5NRNkn/6fbSY/47+kQ6CZLvIjaFk96ngGv1veYQ==", + "resolved": "10.0.0", + "contentHash": "VThKv9UqVxFEuuHvjAgMwy6ZFCeKJXOH+ISAR4IMuwlkozv26ptZhr09+6YxWrWwSR/Sinp8BxQ7qePCJFSALQ==", "dependencies": { - "Microsoft.Data.Sqlite.Core": "9.0.12", - "Microsoft.EntityFrameworkCore.Relational": "9.0.12", - "Microsoft.Extensions.Caching.Memory": "9.0.12", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.12", - "Microsoft.Extensions.DependencyModel": "9.0.12", - "Microsoft.Extensions.Logging": "9.0.12", - "SQLitePCLRaw.core": "2.1.10", - "System.Text.Json": "9.0.12" + "Microsoft.Data.Sqlite.Core": "10.0.0", + "Microsoft.EntityFrameworkCore.Relational": "10.0.0", + "Microsoft.Extensions.Caching.Memory": "10.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", + "Microsoft.Extensions.DependencyModel": "10.0.0", + "Microsoft.Extensions.Logging": "10.0.0", + "SQLitePCLRaw.core": "2.1.11" } }, "Microsoft.Extensions.ApiDescription.Server": { "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "jDM3a95WerM8g6IcMiBXq1qRS9dqmEUpgnCk2DeMWpPkYtp1ia+CkXabOnK93JmhVlUmv8l9WMPsCSUm+WqkIA==" + "resolved": "10.0.0", + "contentHash": "NCWCGiwRwje8773yzPQhvucYnnfeR+ZoB1VRIrIMp4uaeUNw7jvEPHij3HIbwCDuNCrNcphA00KSAR9yD9qmbg==" }, "Microsoft.Extensions.Caching.Abstractions": { "type": "Transitive", - "resolved": "9.0.12", - "contentHash": "+kymyS5Lw2xrdhZ//xW90Bo6T43UpgPtjO9EA7ObcKA8liaBRvV2E3GMtg5O3JgK+d9FeUTyM/S58kLaZg7C8w==", + "resolved": "10.0.0", + "contentHash": "Zcoy6H9mSoGyvr7UvlGokEZrlZkcPCICPZr8mCsSt9U/N8eeCwCXwKF5bShdA66R0obxBCwP4AxomQHvVkC/uA==", "dependencies": { - "Microsoft.Extensions.Primitives": "9.0.12" + "Microsoft.Extensions.Primitives": "10.0.0" } }, "Microsoft.Extensions.Caching.Memory": { "type": "Transitive", - "resolved": "9.0.12", - "contentHash": "dIegtyqhrD+YYzSQJv7Wo/u938l11rIcNGIbh9MSeQSSFh1/CmcgoTTUmU7D/MXFTGC55vVtURuRSAsFmjoNdw==", + "resolved": "10.0.0", + "contentHash": "krK19MKp0BNiR9rpBDW7PKSrTMLVlifS9am3CVc4O1Jq6GWz0o4F+sw5OSL4L3mVd56W8l6JRgghUa2KB51vOw==", "dependencies": { - "Microsoft.Extensions.Caching.Abstractions": "9.0.12", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.12", - "Microsoft.Extensions.Logging.Abstractions": "9.0.12", - "Microsoft.Extensions.Options": "9.0.12", - "Microsoft.Extensions.Primitives": "9.0.12" + "Microsoft.Extensions.Caching.Abstractions": "10.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", + "Microsoft.Extensions.Logging.Abstractions": "10.0.0", + "Microsoft.Extensions.Options": "10.0.0", + "Microsoft.Extensions.Primitives": "10.0.0" } }, "Microsoft.Extensions.Configuration": { "type": "Transitive", - "resolved": "10.0.2", - "contentHash": "Lws+o4DFw6p5NquRoYA3d5QVvi49ugNw7TxbW4QGLsL8F1LCCyJqWFy0+RMQ/hzUuS9aKV5NJ/XGAF5N9/RQcQ==", + "resolved": "10.0.0", + "contentHash": "H4SWETCh/cC5L1WtWchHR6LntGk3rDTTznZMssr4cL8IbDmMWBxY+MOGDc/ASnqNolLKPIWHWeuC1ddiL/iNPw==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.2", - "Microsoft.Extensions.Primitives": "10.0.2" + "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", + "Microsoft.Extensions.Primitives": "10.0.0" } }, "Microsoft.Extensions.Configuration.Abstractions": { "type": "Transitive", - "resolved": "10.0.2", - "contentHash": "KC5PslaTDnTuTvyke0KYAVBYdZ7IVTsU3JhHe69BpEbHLcj1YThP3bIGtZNOkZfast2AuLnul5lk4rZKxAdUGQ==", + "resolved": "10.0.0", + "contentHash": "d2kDKnCsJvY7mBVhcjPSp9BkJk48DsaHPg5u+Oy4f8XaOqnEedRy/USyvnpHL92wpJ6DrTPy7htppUUzskbCXQ==", "dependencies": { - "Microsoft.Extensions.Primitives": "10.0.2" + "Microsoft.Extensions.Primitives": "10.0.0" } }, "Microsoft.Extensions.Configuration.Binder": { @@ -214,30 +212,6 @@ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0" } }, - "Microsoft.Extensions.Configuration.FileExtensions": { - "type": "Transitive", - "resolved": "10.0.2", - "contentHash": "6vStNVa/7hcT6VrYvVMGCWUl/QIKwNeQaSGnKw1E4RPpZbQbOjDsATCbrQUa0sFUs7LW8T9aZ2NBKttMz1+WuA==", - "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.2", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.2", - "Microsoft.Extensions.FileProviders.Abstractions": "10.0.2", - "Microsoft.Extensions.FileProviders.Physical": "10.0.2", - "Microsoft.Extensions.Primitives": "10.0.2" - } - }, - "Microsoft.Extensions.Configuration.Json": { - "type": "Transitive", - "resolved": "10.0.2", - "contentHash": "ovjOVr+rNxOT249iezwihlPNMaIJdBC6PMGeMnzhkm5EoKJWFjp3mmvtndfHY6A88X4wulXlidMhmjX8v6V/aw==", - "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.2", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.2", - "Microsoft.Extensions.Configuration.FileExtensions": "10.0.2", - "Microsoft.Extensions.FileProviders.Abstractions": "10.0.2", - "System.Text.Json": "10.0.2" - } - }, "Microsoft.Extensions.DependencyInjection": { "type": "Transitive", "resolved": "10.0.0", @@ -254,11 +228,7 @@ "Microsoft.Extensions.DependencyModel": { "type": "Transitive", "resolved": "10.0.0", - "contentHash": "RFYJR7APio/BiqdQunRq6DB+nDB6nc2qhHr77mlvZ0q0BT8PubMXN7XicmfzCbrDE/dzhBnUKBRXLTcqUiZDGg==", - "dependencies": { - "System.Text.Encodings.Web": "10.0.0", - "System.Text.Json": "10.0.0" - } + "contentHash": "RFYJR7APio/BiqdQunRq6DB+nDB6nc2qhHr77mlvZ0q0BT8PubMXN7XicmfzCbrDE/dzhBnUKBRXLTcqUiZDGg==" }, "Microsoft.Extensions.Diagnostics.Abstractions": { "type": "Transitive", @@ -266,33 +236,17 @@ "contentHash": "SfK89ytD61S7DgzorFljSkUeluC1ncn6dtZgwc0ot39f/BEYWBl5jpgvodxduoYAs1d9HG8faCDRZxE95UMo2A==", "dependencies": { "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0", - "System.Diagnostics.DiagnosticSource": "10.0.0" + "Microsoft.Extensions.Options": "10.0.0" } }, "Microsoft.Extensions.FileProviders.Abstractions": { "type": "Transitive", - "resolved": "10.0.2", - "contentHash": "+r/eJ+slW/EmwWmH3En4gzRg1k6+yTqexoHBrMuz5fxsIKJA8MDiSGepjw/ko3XyNqg+w3dxQe+huoVXs5XDJw==", - "dependencies": { - "Microsoft.Extensions.Primitives": "10.0.2" - } - }, - "Microsoft.Extensions.FileProviders.Physical": { - "type": "Transitive", - "resolved": "10.0.2", - "contentHash": "4+ypApaugtHIz5Q2Z3oC4+erDbOgy0HrMFYS3Nm3qmTXyqK7sU7LJWY9gci99Wcx6j7ivgk8kdCkgmvsA4t0Ow==", + "resolved": "10.0.0", + "contentHash": "/ppSdehKk3fuXjlqCDgSOtjRK/pSHU8eWgzSHfHdwVm5BP4Dgejehkw+PtxKG2j98qTDEHDst2Y99aNsmJldmw==", "dependencies": { - "Microsoft.Extensions.FileProviders.Abstractions": "10.0.2", - "Microsoft.Extensions.FileSystemGlobbing": "10.0.2", - "Microsoft.Extensions.Primitives": "10.0.2" + "Microsoft.Extensions.Primitives": "10.0.0" } }, - "Microsoft.Extensions.FileSystemGlobbing": { - "type": "Transitive", - "resolved": "10.0.2", - "contentHash": "XozoMaWcFIv1tv0LDF+YMeZYjiNiNIewpNdZ3TEoVGf8ROrp0hVoEdUyUBsI8oYGM5U3Z5hiNEv0j2Z5COnMgg==" - }, "Microsoft.Extensions.Hosting.Abstractions": { "type": "Transitive", "resolved": "10.0.0", @@ -320,8 +274,7 @@ "resolved": "10.0.0", "contentHash": "FU/IfjDfwaMuKr414SSQNTIti/69bHEMb+QKrskRb26oVqpx3lNFXMjs/RC9ZUuhBhcwDM2BwOgoMw+PZ+beqQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "System.Diagnostics.DiagnosticSource": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0" } }, "Microsoft.Extensions.Options": { @@ -335,24 +288,18 @@ }, "Microsoft.Extensions.Primitives": { "type": "Transitive", - "resolved": "10.0.2", - "contentHash": "QmSiO+oLBEooGgB3i0GRXyeYRDHjllqt3k365jwfZlYWhvSHA3UL2NEVV5m8aZa041eIlblo6KMI5txvTMpTwA==" + "resolved": "10.0.0", + "contentHash": "inRnbpCS0nwO/RuoZIAqxQUuyjaknOOnCEZB55KSMMjRhl0RQDttSmLSGsUJN3RQ3ocf5NDLFd2mOQViHqMK5w==" }, "Microsoft.OpenApi": { "type": "Transitive", - "resolved": "2.3.0", - "contentHash": "5RZpjyt0JMmoc/aEgY9c1vE5pusdDGvkPl9qKIy9KFbRiIXD+w7gBJxX+unSjzzOcfgRoYxnO4okZyqDAL2WEw==", - "dependencies": { - "System.Text.Json": "8.0.5" - } + "resolved": "2.4.1", + "contentHash": "u7QhXCISMQuab3flasb1hoaiERmUqyWsW7tmQODyILoQ7mJV5IRGM+2KKZYo0QUfC13evEOcHAb6TPWgqEQtrw==" }, "Microsoft.TestPlatform.ObjectModel": { "type": "Transitive", "resolved": "18.0.1", - "contentHash": "qT/mwMcLF9BieRkzOBPL2qCopl8hQu6A1P7JWAoj/FMu5i9vds/7cjbJ/LLtaiwWevWLAeD5v5wjQJ/l6jvhWQ==", - "dependencies": { - "System.Reflection.Metadata": "8.0.0" - } + "contentHash": "qT/mwMcLF9BieRkzOBPL2qCopl8hQu6A1P7JWAoj/FMu5i9vds/7cjbJ/LLtaiwWevWLAeD5v5wjQJ/l6jvhWQ==" }, "Microsoft.TestPlatform.TestHost": { "type": "Transitive", @@ -452,113 +399,68 @@ }, "SQLitePCLRaw.bundle_e_sqlite3": { "type": "Transitive", - "resolved": "2.1.10", - "contentHash": "UxWuisvZ3uVcVOLJQv7urM/JiQH+v3TmaJc1BLKl5Dxfm/nTzTUrqswCqg/INiYLi61AXnHo1M1JPmPqqLnAdg==", + "resolved": "2.1.11", + "contentHash": "DC4nA7yWnf4UZdgJDF+9Mus4/cb0Y3Sfgi3gDnAoKNAIBwzkskNAbNbyu+u4atT0ruVlZNJfwZmwiEwE5oz9LQ==", "dependencies": { - "SQLitePCLRaw.lib.e_sqlite3": "2.1.10", - "SQLitePCLRaw.provider.e_sqlite3": "2.1.10" + "SQLitePCLRaw.lib.e_sqlite3": "2.1.11", + "SQLitePCLRaw.provider.e_sqlite3": "2.1.11" } }, "SQLitePCLRaw.core": { "type": "Transitive", - "resolved": "2.1.10", - "contentHash": "Ii8JCbC7oiVclaE/mbDEK000EFIJ+ShRPwAvvV89GOZhQ+ZLtlnSWl6ksCNMKu/VGXA4Nfi2B7LhN/QFN9oBcw==", - "dependencies": { - "System.Memory": "4.5.3" - } + "resolved": "2.1.11", + "contentHash": "PK0GLFkfhZzLQeR3PJf71FmhtHox+U3vcY6ZtswoMjrefkB9k6ErNJEnwXqc5KgXDSjige2XXrezqS39gkpQKA==" }, "SQLitePCLRaw.lib.e_sqlite3": { "type": "Transitive", - "resolved": "2.1.10", - "contentHash": "mAr69tDbnf3QJpRy2nJz8Qdpebdil00fvycyByR58Cn9eARvR+UiG2Vzsp+4q1tV3ikwiYIjlXCQFc12GfebbA==" + "resolved": "2.1.11", + "contentHash": "Ev2ytaXiOlWZ4b3R67GZBsemTINslLD1DCJr2xiacpn4tbapu0Q4dHEzSvZSMnVWeE5nlObU3VZN2p81q3XOYQ==" }, "SQLitePCLRaw.provider.e_sqlite3": { "type": "Transitive", - "resolved": "2.1.10", - "contentHash": "uZVTi02C1SxqzgT0HqTWatIbWGb40iIkfc3FpFCpE/r7g6K0PqzDUeefL6P6HPhDtc6BacN3yQysfzP7ks+wSQ==", + "resolved": "2.1.11", + "contentHash": "Y/0ZkR+r0Cg3DQFuCl1RBnv/tmxpIZRU3HUvelPw6MVaKHwYYR8YNvgs0vuNuXCMvlyJ+Fh88U1D4tah1tt6qw==", "dependencies": { - "SQLitePCLRaw.core": "2.1.10" + "SQLitePCLRaw.core": "2.1.11" } }, "Swashbuckle.AspNetCore": { "type": "Transitive", - "resolved": "10.1.0", - "contentHash": "CvOffaJKStoP0hdfCIX4V/9wuwRkSOJd+PehGo/Y5ALh0WYliLwuMlyh1BbgG7uQtJNe1k5P7QIhIaFfZ/aJAw==", + "resolved": "10.1.2", + "contentHash": "txDJi7w/didFl/kIlTaA+FfzaJvZaXXZMejfxhJRK/CZdG8PrJcW1xquUuyLN0zNTpU5K0mm0U19B0/P5xiNOA==", "dependencies": { - "Microsoft.Extensions.ApiDescription.Server": "8.0.0", - "Swashbuckle.AspNetCore.Swagger": "10.1.0", - "Swashbuckle.AspNetCore.SwaggerGen": "10.1.0", - "Swashbuckle.AspNetCore.SwaggerUI": "10.1.0" + "Microsoft.Extensions.ApiDescription.Server": "10.0.0", + "Swashbuckle.AspNetCore.Swagger": "10.1.2", + "Swashbuckle.AspNetCore.SwaggerGen": "10.1.2", + "Swashbuckle.AspNetCore.SwaggerUI": "10.1.2" } }, "Swashbuckle.AspNetCore.Swagger": { "type": "Transitive", - "resolved": "10.1.0", - "contentHash": "9Kp35Jhkzw73UXnvgGWVgRjvfGx5h1V4fdL9JcPZMKoTyO/bnKD/1i86n8u2p+rVTDed0cDSH4PKbX4WicZ/gg==", + "resolved": "10.1.2", + "contentHash": "CvIeWbEJ+pogj601pptQYzz3poZhS8/mk/vFozRQ74JckT3WWLGX1mFjNwNVdJOERf4Lk/clbFqfRG4WEvDGcw==", "dependencies": { - "Microsoft.OpenApi": "2.3.0" + "Microsoft.OpenApi": "2.4.1" } }, "Swashbuckle.AspNetCore.SwaggerGen": { "type": "Transitive", - "resolved": "10.1.0", - "contentHash": "XV2gyKmjWs5K5QaSq9rNYtO/E7vr/RcyBkMbbCVUlUtI5OY0HKj260Wee9zsJ7scJf7kPCxeseBiUMRp67ZWxA==", + "resolved": "10.1.2", + "contentHash": "/gcOooF1cfmdvYU6wFiPB9On5CMUp2P/jrt2EFEoSG0p0xSALBdWoWy3eNHVmzXUlVHaGAg5PHFC6e8C+tVpWw==", "dependencies": { - "Swashbuckle.AspNetCore.Swagger": "10.1.0" + "Swashbuckle.AspNetCore.Swagger": "10.1.2" } }, "Swashbuckle.AspNetCore.SwaggerUI": { "type": "Transitive", - "resolved": "10.1.0", - "contentHash": "ilUsTvGA9hO1ulR7ibdWMWSg3438Iu+pDFcEYUorp+/ClHwaHFdpp/ATfBsFXv2sIRVDbQlEwd5BWBOdMdtKCA==" - }, - "System.Collections.Immutable": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==" - }, - "System.Diagnostics.DiagnosticSource": { - "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "0KdBK+h7G13PuOSC2R/DalAoFMvdYMznvGRuICtkdcUMXgl/gYXsG6z4yUvTxHSMACorWgHCU1Faq0KUHU6yAQ==" + "resolved": "10.1.2", + "contentHash": "Zzam+F/g3jpGvSLhqdtOoBe+GEABk+oi9LJxun1wrz52/254sSGWkz1P+U1dDifsXJWVdZusiRuDWLXkJW+7Eg==" }, "System.Diagnostics.EventLog": { "type": "Transitive", "resolved": "6.0.0", "contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==" }, - "System.IO.Pipelines": { - "type": "Transitive", - "resolved": "10.0.2", - "contentHash": "EqMsn9r18ABvTDxrDce4OWDhBE3y+rR23ilG7Y3BudDKrDKrLG/hkD/JmeFZbctAPxSkCjyJ/Ddwbn/g7ufRJA==" - }, - "System.Memory": { - "type": "Transitive", - "resolved": "4.5.3", - "contentHash": "3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA==" - }, - "System.Reflection.Metadata": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "ptvgrFh7PvWI8bcVqG5rsA/weWM09EnthFHR5SCnS6IN+P4mj6rE1lBDC4U8HL9/57htKAqy4KQ3bBj84cfYyQ==", - "dependencies": { - "System.Collections.Immutable": "8.0.0" - } - }, - "System.Text.Encodings.Web": { - "type": "Transitive", - "resolved": "10.0.2", - "contentHash": "Ro4cLT4qpRy64crfLAy3ekihtXckeXrD5eI6qb6NDSEVyHcHsmH7KgN4dbnIuiBmXIoaCslx4SynLYxag1SLSQ==" - }, - "System.Text.Json": { - "type": "Transitive", - "resolved": "10.0.2", - "contentHash": "zy8ey7I16G9neZ6uzxrnYwS7pidElzN8XarsBjGu7lE2m7afTKMEe18KbY3ZSmh/z/bR40oxjd6hlUcmOEaMHw==", - "dependencies": { - "System.IO.Pipelines": "10.0.2", - "System.Text.Encodings.Web": "10.0.2" - } - }, "xunit.abstractions": { "type": "Transitive", "resolved": "2.0.3", @@ -605,14 +507,13 @@ "AutoMapper": "[14.0.0, 15.0.0)", "FluentValidation": "[12.1.1, )", "FluentValidation.DependencyInjectionExtensions": "[12.1.1, )", - "Microsoft.AspNetCore.OpenApi": "[8.0.23, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[9.0.12, )", - "Microsoft.Extensions.Configuration.Json": "[10.0.2, )", + "Microsoft.AspNetCore.OpenApi": "[10.0.0, )", + "Microsoft.EntityFrameworkCore.Sqlite": "[10.0.0, )", "Serilog.AspNetCore": "[10.0.0, )", "Serilog.Settings.Configuration": "[10.0.0, )", "Serilog.Sinks.Console": "[6.1.1, )", "Serilog.Sinks.File": "[7.0.0, )", - "Swashbuckle.AspNetCore": "[10.1.0, )" + "Swashbuckle.AspNetCore": "[10.1.2, )" } } } From 41bc98c7a4533b1f7e0554183e1a4a03611c77ca Mon Sep 17 00:00:00 2001 From: Nano Taboada <87288+nanotaboada@users.noreply.github.com> Date: Mon, 9 Feb 2026 01:32:10 -0300 Subject: [PATCH 2/4] fix(ci): add explicit .NET setup to test job and update CHANGELOG links (#368) - Add setup-dotnet step to test job for explicit dependency declaration - Update [unreleased] link to compare against v1.1.0-bernabeu - Add comparison link for [1.1.0 - bernabeu] release While CI currently passes due to pre-installed .NET 10 on ubuntu-latest, explicitly declaring the SDK setup ensures future-proof workflows and enables proper dependency caching across both build and test jobs. --- .github/workflows/dotnet-ci.yml | 9 +++++++++ CHANGELOG.md | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/dotnet-ci.yml b/.github/workflows/dotnet-ci.yml index 6b2db7b..01f9088 100644 --- a/.github/workflows/dotnet-ci.yml +++ b/.github/workflows/dotnet-ci.yml @@ -49,6 +49,15 @@ jobs: - name: Checkout repository uses: actions/checkout@v6.0.2 + - name: Set up .NET ${{ env.DOTNET_VERSION }} + uses: actions/setup-dotnet@v5.1.0 + with: + dotnet-version: ${{ env.DOTNET_VERSION }} + cache: true + cache-dependency-path: | + src/Dotnet.Samples.AspNetCore.WebApi/packages.lock.json + test/Dotnet.Samples.AspNetCore.WebApi.Tests/packages.lock.json + - name: Lint commit messages uses: wagoid/commitlint-github-action@v6.2.1 diff --git a/CHANGELOG.md b/CHANGELOG.md index 0701f09..70855d4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -166,5 +166,6 @@ The CD workflow automatically: --- -[unreleased]: https://github.com/nanotaboada/Dotnet.Samples.AspNetCore.WebApi/compare/v1.0.0-azteca...HEAD +[unreleased]: https://github.com/nanotaboada/Dotnet.Samples.AspNetCore.WebApi/compare/v1.1.0-bernabeu...HEAD +[1.1.0 - bernabeu]: https://github.com/nanotaboada/Dotnet.Samples.AspNetCore.WebApi/compare/v1.0.0-azteca...v1.1.0-bernabeu [1.0.0 - azteca]: https://github.com/nanotaboada/Dotnet.Samples.AspNetCore.WebApi/releases/tag/v1.0.0-azteca From 3b0a757867d21551986e0d42ac194e0a6425187a Mon Sep 17 00:00:00 2001 From: Nano Taboada <87288+nanotaboada@users.noreply.github.com> Date: Mon, 9 Feb 2026 01:54:30 -0300 Subject: [PATCH 3/4] fix(docker): update user creation for Ubuntu 24.04 base image (#368) - Replace adduser with groupadd/useradd for Ubuntu compatibility - Document base OS change from Debian 12 to Ubuntu 24.04 in CHANGELOG Microsoft changed .NET 10 base images from Debian to Ubuntu, requiring updated user creation commands. This ensures CD pipeline builds successfully when publishing Docker images. --- CHANGELOG.md | 3 ++- Dockerfile | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 70855d4..0095c34 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -65,7 +65,8 @@ This project uses famous football stadiums (A-Z) that hosted FIFA World Cup matc - Update Microsoft.EntityFrameworkCore.Sqlite to 10.0.0 - Update Microsoft.EntityFrameworkCore.Design to 10.0.0 - Update Microsoft.VisualStudio.Web.CodeGeneration.Design to 10.0.0 -- Update Docker images to .NET 10 SDK and runtime +- Update Docker images to .NET 10 SDK and runtime (now based on Ubuntu 24.04 LTS instead of Debian 12) +- Update Dockerfile user creation commands for Ubuntu compatibility (`groupadd`/`useradd` instead of `adduser`) - Update CI/CD pipelines to use .NET 10 SDK - Token efficiency strategy for Copilot/AI agents with optimized instruction loading and improved token counting script (#364) - Bump Swashbuckle.AspNetCore from 10.1.0 to 10.1.2 diff --git a/Dockerfile b/Dockerfile index 32348be..2ede89c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -57,7 +57,7 @@ COPY --chmod=555 scripts/healthcheck.sh ./healthcheck.sh COPY --from=builder /src/Dotnet.Samples.AspNetCore.WebApi/storage/players-sqlite3.db ./hold/players-sqlite3.db # Add non-root user and make volume mount point writable -RUN adduser --system --disabled-password --group aspnetcore && \ +RUN groupadd -r aspnetcore && useradd -r -g aspnetcore aspnetcore && \ mkdir -p /storage && \ chown aspnetcore:aspnetcore /storage From 9661cd6836a68598e5ef82873c4ec88bc33f0671 Mon Sep 17 00:00:00 2001 From: Nano Taboada <87288+nanotaboada@users.noreply.github.com> Date: Mon, 9 Feb 2026 01:56:29 -0300 Subject: [PATCH 4/4] docs(copilot): clarify commit message format requirements - Add explicit Conventional Commits format with examples - Specify issue number suffix requirement - Include all valid commit types (feat, fix, chore, docs, test, refactor) - Provide concrete example for reference Ensures consistent commit message formatting across all contributions. --- .github/copilot-instructions.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index d13990e..8080529 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -19,7 +19,11 @@ ASP.NET Core 10 REST API with layered architecture - **Logging**: Serilog with structured logging - **Testing**: xUnit + Moq + FluentAssertions - **Formatting**: CSharpier -- **Commits**: Subject ≤80 chars, include issue number (#123), body lines ≤80 chars, conventional commits +- **Commits**: Conventional Commits with issue number suffix + - Format: `type(scope): description (#issue)` (max 80 chars) + - Types: feat, fix, chore, docs, test, refactor + - Example: `feat(api): add player search endpoint (#123)` + - Body lines ≤80 chars ## Architecture