Releases: domaindrivendev/Swashbuckle.AspNetCore
v4.0.0
Release Summary
This release makese an explicit jump to ASP.NET Core 2.0 and the netstandard2.0 library contract. As a result, Swashbuckle can simplify it's implementation by leveraging some of the newer ASP.NET Core features. However, it also means applications need to upgrade their ASP.NET Core stack to 2.0 or above before they can use this version or subsequent versions of Swashbuckle.
It also includes a significant refactor to the way in which Swashbuckle middleware and services are configured, adhering more closely to the ASP.NET Core Options Pattern. This allows for the Swashbuckle components to be configured via appSettings.json if desired.
The other notable change with this release is out-of-the-box support for parameters of type IFormFile. That is, the generator will automatically detect these and generate the correct Swagger to describe parameters that are passed in formData. If you have a workaround in place (e.g. using Operation Filters), you should remove it as part of the upgrade.
Breaking Changes
-
Requires ASP.NET Core 2.0 and netstandard2.0 or above:
Applications need to upgrade their ASP.NET Core stack to 2.0 or above before they can use this version or subsequent versions of Swashbuckle. -
Strongly typed options for SwaggerUI and ReDoc middleware:
May need to update middleware configuration (e.g. inStartup.cs) to compile -
Explicit OperationIds now required:
As per the Swagger spec,operationIds MUST be unique and SHOULD follow common programming conventions. In previous versions, Swashbuckle attempted to generate these values but this has proved increasingly problematic. As a result, this behavior has been removed and the action name or (optionally) the route name is used instead. So, API developers are now responsible to ensure the uniqueness of these values. See the readme topic for more details.
Issues Addressed
See https://github.com/domaindrivendev/Swashbuckle.AspNetCore/milestone/6?closed=1
v3.0.0
Release Summary
Includes two significant changes in addition to a handful of bug fixes and minor enhancements. The generator will now honor the BindRequired and Required attributes on ALL parameters (top-level or property-based) and model properties, flagging the corresponding elements as required in the generated Swagger. Also, the Swagger-specific annotations (SwaggerOperation, SwaggerResponse etc.) have been enhanced, but also extracted from the core functionality into a separate package that consumers need to explicitly install and enable.
Breaking Changes
- Updates to annotations: To continue using the swagger-specific annotations, you'll need to explicitly install and enable the new
Swashbuckle.AspNetCore.Annotationspackage as described here. Furthermore, the attributes have moved from theSwaggerGennamespace to theAnnotationsnamespace, and the ordering of some constructor parameters has changed. So, you'll need to update and test your use of these attributes. - Handling of
Required/BindRequiredattributes: Previously, parameters and properties had to be decorated with these attributes AND be nullable to be flagged asrequiredin the generated Swagger. This has changed and now those attributes will be honored on ALL parameters and model properties.
Issues Addressed
See https://github.com/domaindrivendev/Swashbuckle.AspNetCore/milestone/5?closed=1
v2.4.0
Upgrade to swagger-ui v3.12.0 plus big fixes
v2.1.0
v2.0.0
v1.2.0
Minor bug fixes and enhancements
v1.0.0-rc3
(Hopefully) the last RC before a stable release which will follow shortly assuming no major issues.
Addresses:
#171, #249, #255, #266, #267, #274, #305
Breaking Changes:
- the helper for enabling the UI middleware has been renamed from SwaggerUi to SwaggerUI to align better with .NET naming conventions.