Upgraded ASP.NET Core 2.1 to 2.2: [Swashbuckle and API Versioning] Obsolete attribute is not rendered as deprecated in Swagger UI

Experiencing Obsolete action is not rendered as deprecated in Swagger UI?

So you’ve upgraded your ASP.NET Core 2.1 app to 2.2 and you are using:

AND, you have one or more of your API controller actions decorated as Obsolete ?

Chances are, Swagger UI will render your Obsolete actions (endpoints) as ordinary API endpoints, not as “deprecated” as you would expect.

“Delete” action method marked as Obsolete

DELETE /api/v3/People/{id} should be rendered as “deprecated”…

So, what’s wrong? I just followed the change history from the API versioning sample:

We can even see the git change history with a cool animation like this: