chore: upgrade Asp.Versioning.Mvc to v10.0.0
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Refactor
- Clarity
- Clearly specified
- Activity status
- Quiet
- Tech stack
- csharp, openapi
- Domain
- backend-api-design
Research direction
First check whether Asp.Versioning.OpenApi has reached a stable NuGet release; the issue says to wait until it has. Then review TaskFlow.Api.csproj, Extensions/ApiVersioningServiceExtensions.cs, Extensions/OpenApiServiceExtensions.cs, and Program.cs for the versioning and OpenAPI wiring. Verify the Scalar UI, version tagged OpenAPI output, test suite, and vulnerable package report against the acceptance criteria.
Written by the indexing model from the issue text.
Description
On hold (2026-10-30), part of #372 (Move to .NET 11). Verified from the NuGet nuspecs:
Asp.Versioning.OpenApi10.2.3 depends onMicrosoft.OpenApi [2.7.5, 3.0.0)and onMicrosoft.AspNetCore.OpenApi 10.0.10, andAsp.Versioning.Mvc10.2.1 targetsnet10.0only. The 2.7.5 pin in this repo satisfies that range, so the migration itself should resolve cleanly on .NET 10. But the<3.0.0cap is exactly what #301 has to get past:Microsoft.AspNetCore.OpenApi11.x needsMicrosoft.OpenApi3.10.2 or later. AdoptingAsp.Versioning.OpenApinow would block the .NET 11 move until Asp.Versioning ships a release that accepts Microsoft.OpenApi 3.x. 8.1.1 works on .NET 10, so there is no urgency. Take this with the .NET 11 move, or when such a release exists, whichever is first.
Background
Asp.Versioning.Mvc and Asp.Versioning.Mvc.ApiExplorer were held at 8.1.1 in #164 (backend NuGet dependency audit). The 10.x line carries breaking changes to OpenAPI wiring that require a dedicated migration.
Update (2026-10-12): the prerequisite is met. Asp.Versioning.OpenApi now has stable releases, and the latest versions on NuGet are:
| Package | Currently pinned | Latest stable |
|---|---|---|
Asp.Versioning.Mvc |
8.1.1 |
10.2.1 |
Asp.Versioning.Mvc.ApiExplorer |
8.1.1 |
10.2.1 |
Asp.Versioning.OpenApi (new) |
not referenced | 10.2.3 |
The original target of 10.0.0 is superseded. Target the latest stable release, and review the changelogs between 10.0.0 and 10.2.x for further breaking changes.
What needs to change
Version 10 changes how OpenAPI integration is wired:
- The old pattern (
services.AddOpenApi("v1", options => ...)fromMicrosoft.AspNetCore) is replaced by a fluent chain:AddApiVersioning().AddApiExplorer().AddOpenApi() app.MapOpenApi()must be replaced byapp.MapOpenApi().WithDocumentPerVersion()- The custom
ApiVersionDocumentTransformerinExtensions/OpenApiServiceExtensions.csmay need to be adapted or replaced by the newVersionedOpenApiOptionssurface - A new companion package
Asp.Versioning.OpenApiis required
Things to watch
Microsoft.OpenApiis pinned to2.7.5to resolve CVE-2026-49451 (commit0c60491). ConfirmAsp.Versioning.OpenApiresolves cleanly with that pin and that the CVE stays fixed (dotnet list package --vulnerable).- Current wiring:
Program.cscallsAddApiVersioningConfiguration()andOpenApiServiceExtensions.AddOpenApi(...), andapp.UseOpenApiWithScalar().
Files likely affected
TaskFlow.Api/TaskFlow.Api.csproj— addAsp.Versioning.OpenApi, bumpAsp.Versioning.MvcandAsp.Versioning.Mvc.ApiExplorerto the latest stable (10.2.1)TaskFlow.Api/Extensions/ApiVersioningServiceExtensions.csTaskFlow.Api/Extensions/OpenApiServiceExtensions.csTaskFlow.Api/Program.cs(ifMapOpenApicall needs updating)
Acceptance criteria
-
Asp.Versioning.OpenApiis at a stable release (10.2.3as of 2026-10-12) -
Asp.Versioning.MvcandAsp.Versioning.Mvc.ApiExplorerupdated to the latest stable (10.2.1) - Scalar UI at
/scalar/v1renders correctly with API version selection working - Generated OpenAPI JSON is valid and version-tagged
-
npm run gen:apistill produces a working client (the generator reads the live OpenAPI spec) - All backend tests pass (
dotnet test) anddotnet format --verify-no-changesis clean -
dotnet list package --vulnerablereports zero findings
- Dominant language
- C#
- Stars
- 1
- Forks
- 0
- Avg merge
- 2h 2m
- Merged PRs (30d)
- 98
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from nevridge/TaskFlow
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Maintainers usually reply within 1 day
-
tech-debt
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
All issues in nevridge/TaskFlow
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
juandresrodca/AdminForge#54 ·
-
要トリアージ 辞書
Difficulty 1/5 1-3 hours Newbie friendliness 86/100
yksr-melt/Meltype#1625 · 1 reaction ·
Maintainers usually reply within 1 day
-
Docs typoOpen
Difficulty 1/5 Under an hour Newbie friendliness 78/100
MonoGame/docs.monogame.github.io#328 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
space-wizards/RobustToolbox#7197 ·
Maintainers usually reply within 1 day
-
documentation high priority
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
lachydotmcg/capri-desktop#201 ·
Maintainers usually reply within 1 day