chore: upgrade Asp.Versioning.Mvc to v10.0.0
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tái cấu trúc
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- csharp, openapi
- Lĩnh vực
- backend-api-design
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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
- Ngôn ngữ chính
- C#
- Star
- 1
- Fork
- 0
- Merge trung bình
- 2 giờ 2 phút
- Pull request đã merge (30 ngày)
- 98
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của nevridge/TaskFlow
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
Maintainer thường phản hồi trong vòng 1 ngày
-
tech-debt
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của nevridge/TaskFlow
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
juandresrodca/AdminForge#54 ·
-
[辞書] C/C++のプリプロセッサ指令名を英字のままにするĐang mở要トリアージ 辞書
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 86/100
yksr-melt/Meltype#1625 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Docs typoĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 78/100
MonoGame/docs.monogame.github.io#328 · 1 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
space-wizards/RobustToolbox#7197 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation high priority
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
lachydotmcg/capri-desktop#201 ·
Maintainer thường phản hồi trong vòng 1 ngày