All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- #747 - Added property to override @Deprecated Model converter
- #748 - Add support for @ExceptionHandler inside @RestController
- upgrade swagger-ui version 3.28.0
- upgrade swagger-api to v2.1.3
- #745 - Change SwaggerIndexTransformer and SwaggerConfig design to ease customization
- #758 - APIResponses constructed programmatically are not correctly analyzed
- #725 - Unexpected fields in request body definition for RepresentationModel DTO
- Upgrade swagger-ui to 3.27.0
- Migration from maven to gradle
- #729 - ClassNotFoundException: DefaultedPageable
- #736 - Failed load UI behind reverse proxy (Failed to load API definition)
- #728 - Maven enforcer error
- #744 - Impossible to configure swaggerurl programmatically
- #714 - Ability to disable swagger-ui default petstore url
- #713 - Add Support of Actuator endpoints using webflux
- #703 - Pretty print OpenApi spec
- Upgrade swagger-ui to 3.26.0
- #678 - Multiple file upload Flux error on the swagger-ui
- #711 - Wrong ApiResponse Schema picked up in ExceptionHandlers returning void
- #688, #349, #545 - Prevent swagger-config from being loaded twice in case of no groups
- #644 - Support for @RepositoryRestResource
- #668 - Process @Parameter annotations in method parameters as MergedAnnotations
- #674 - Support @Parameter annotation attached to @RequestPart, for several @RequestParts
- #658 - Added support for GroupedOpenApi OperationCustomizer
- #654 - Use oneOf schema for polymorphic types
- #693 - Add support for @ParameterObject with POST endpoints
- Added separate module for spring-hateoas
- Added SpringDocUtils.addHiddenRestControllers(String ...)
- Added support for wrapper types on request
- Mark GroupedOpenApi.setGroup as deprecated. Use GroupedOpenApi.group instead.
- Upgrade swagger-ui to 3.25.4
- Upgrade to spring-boot 2.3.0.RELEASE
- #267 - @RequestAttribute parameter appears in the UI
- #695 - Servers OpenAPI block resets after customizing with GroupedOpenApi
- #689 - Spring-boot 1, warning about bean creation when cache disabled
- #566 - Wrong hateoas relation
- #671 - Demo URL link fixed
- Improved support of spring-boot-1 and older spring versions
- #647 - Register model converters only if they are not registered already
- #646 - Handle NPE on SpringDocAnnotationsUtils.mergeSchema
- Introduce support of Webflux and Webmvc.fn with Functional Endpoints
- #624 - Revert changes on MediaType.APPLICATION_JSON_VALUE
- #630, #641, #643, #637 - JsonMappingException on UI render
- Make use of @Deprecated annotations for parameters and model fields
- #624 - Revert changes on MediaType.APPLICATION_JSON_VALUE
- #568 - Improve visibility of configuration classes
- #626 - Springdoc with Actuator server in different port that embedded tomcat server
- #625 - Add access to ApiResponses for OperationCustomizer.
- Revert @ParameterObject annotation from Pageable
- Get fields of superclass for parameter objects
- #606 - Added MonetaryAmount support, out of the box.
- #605 - Support nested parameter objects.
- #603 - Request Body can be configured as optional.
- #588 - Support of assignableTypes attribute in @ControllerAdvice.
- Upgrade swagger-ui to 3.25.1
- Improve Pageable support
- #608 - Improve override OpenApiResource
- #591 - Changing oauth2RedirectUrl to respect relaxed binding.
- #624 - Change Return type of api-docs to
- #622 - Missing extension to schema property.
- #609 - ( self ref) for HAL hypermedia types.
- #610, #611 - ApiResponse DEFAULT_DESCRIPTION Improvement.
- #601 - components schema not generated.
- #592 - springdoc.cache is not part of additional-spring-configuration-metadata.json.
- #597 - Request Body for Maps not available in Swagger-UI.
- #583 - Crash on startup with 1.3.3 for kotlin app not using kotlinx-coroutines-reactor.
- #322 - Make default type of Resource as binary.
- #560 - Add support kotlin Flow as response type.
- #572 - Add support for swagger-ui-property 'urls.primaryName'.
- #561 - remove pageable required.
- #567 - springdoc.swagger-ui.oauth.additionalQueryStringParams as map instead of list.
- #570 - Spring HATEOAS fixing _embedded.
- #563 - Spring 4 incompatibility using springdoc-openapi 1.2.30+. Fixes.
- #562 - Lazy Initialisation breaks WebFlux support.
- #541 - Add support for none required fields on @ParameterObject
- Support headers without value (headers = "X-API-VERSION")
- #544 - Improve @Parameter annotation support for header
- #156 - Added test for required param object is not marked as required
- #553 - Ignore Map type with @RequestParam(required = false) in method
- #549 - Imrpove Spring HATEOAS support
- #543 - Description for Pageable parameters is not displayed in swagger-ui using @ParameterObject.
- #555 - The response scheme is erased with the generic void type
- #545 - Random null pointer exception in 1.3.1
- #344 - Support for dynamic groups from application.yml
- #509 - Support for Groovy metaclass/metadata
- #120 #268 #162 #119 - Support to extract parameters from parameter object using Springdoc annotation @ParameterObject
- #502 - Support for Subtypes to be also ignored from Controller class
- #461 - Rename some packages to improve Java 9 Modules support
- #536 #424 - Workaround for swagger-ui, to enable layout and filter properties
- #531 - Added encoding section iswagger-apin multipart request
- Upgrade to spring-boot to 2.2.6
- Upgrade swagger-api to 2.1.2
- #489 - Schema mapping with inheritance
- #537 - Improve support of Generics inheritance on complex return types
- #517 - Kotlin Coroutines support corrected
- Feature to support for property resolver on @Schema (name, title and description)
- #501 - Introduced new property springdoc.api-docs.resolve-schema-properties for property resolver on @Schema
- #453 - Being able to see the class within an EntityModel as a Schema.
- Introduce new property springdoc.remove-broken-reference-definitions
- #498 - Property resolver on @ApiResponse.description
- Support of @QuerydslPredicate in Rest controllers
- Change the interface of ParameterCustomizer
- Improve isAnnotationToIgnore and isParamToIgnore
- Use MethodParameter#isOptional() instead of checking for Optional type
- #496 - Improve the support of Pageable.
- Improve compatibility with spring-boot 1, even there is EOL announced: https://spring.io/blog/2018/07/30/spring-boot-1-x-eol-aug-1st-2019
- Property resolver on @operation.summary, @parameter.description and @parameter.name
- #468 - Use required attribute from spring RequestBody annotation
- #481 - Review configuration via springdoc.swagger-ui.urls
- #333 - Support for auto fill clientId and clientSecret for webflux
- Support to ignore annotations on parameter level
- #469 - Update spring-boot-starter-parent to 2.2.5.RELEASE
- #477 - Improve compatibility of springdoc-openapi-data-rest with Spring Webflux
- #480 - Improve support of Swagger UI to use provided spec.yml
- Delegate primitive type generation to swagger-core
- #489 - Wrong schema mapping with inheritance. Fixes
- #451 - Support for OpenApiBuilderCustomiser to allow users to customize the OpenApiBuilder
- Support for generic controller types parameters
- #454 - Support to handle prefix for webflux-ui
- #459 - Allow @Schema annotation to set an attribute as not required even if it's annotated with @NotNull
- #458 - Make SpringDocAnnotationsUtils public
- #455 - Make GenericResponseBuilder.calculateSchema method public
- #429 - Support to override generic responses from controller advice with ApiResponses
- #443 - Support for non-nullable types in Kotlin
- #442 - Support for setting default produces/consumes mediaTypes
- #447 - Force classgraph version
- #444 - Payload/Request Examples no longer generated
- #441 - Return value of PropertyCustomizer is ignored
- Allow Request paremeters types to be ignored programatically using SpringDocUtils
- #420 - Support to disable autotagging of @RestController Classes
- #404 - Support for properties to exclude packages and paths from documentation.
- #414 - Support for kotlin Deprecated
- #423 - Support for Hiding org.springframework.security.core.Authentication on ServerHttpResponse
- Upgrade swagger-ui to 3.25.0
- #428 - Allow ModelAndView to be detected
- #435 - Improve Reverse proxy compatibily for webflux
- #418 - Adjusting the output for Links
- #426 - Discovery of MediaType producers inconsistent with Spring MVC behaviour
- #408 - Multiple Parameter Refs throws IllegalStateException (Duplicate key)
- #401 - Solves Hateoas fields names mismatch
- #419 - @CookieValue parameter indents request body
- #378- Support REST Controllers with default empty @RequestMapping
- #398 - Support for Sort GroupedOpenApi by name
- #396 - Improve support of @Parameter Schema, in case of @RequestBody
- #393 - Prevent swagger-ui default validation
- #384 - @SecurityScheme
paramName
not accounted for thename
- #437 - Warning on referenced example
- #399 - Same operationId for overloaded methods using Groups, breaks swagger-ui collapsibles
- #436 - Duplicate tags if they are defined on @Operation annotation on swagger-ui.
- #440 - When using RestControllerAdvice, one of the responses description is missing and replaced with a default
- #368 - Support for extensions on @ApiResponse
- #370 - Support for CompletionStage as endpoint return type
- #368 - Support for extensions on @ApiResponse
- #375 - Support for java 8 Optional for @RequestParam
- #377 - Support for @RequestParam for file upload
- #259 - Added ability to disable security for one operation using @SecurityRequirements
- #376 - Support to configure packages-to-scan as list using YAML Syntax
- Upgrade to spring-boot to 2.2.4.RELEASE
- Upgrade swagger-api to 2.1.1
- Upgrade swagger-ui to 3.24.3
- #359 - Make spring-security-oauth2 as optional for springdoc-openapi-security
- #354 - Improve support of response of responses overloading
- #338 - Support for pathsToMatch and packagesToScan to work in spinal-case as well
- #327 - Support support for spring-security-oauth2 authorization server
- #333 - Support for custom OAuth 2.0 configuration, of the swagger-ui
- #280 - Support of HttpEntity on webflux
- #352 - Support: Example value can be specified without having to specify the schema
- #346 - Support for serving the swagger-ui from outside of the spring-boot application / exploed jar
- #353 - Support spring property resolver in all @Info
- Improve actuator documentation
- #349 - Make oauth2RedirectUrl dynamically calculated
- #339 - Fixes springdoc.swagger-ui.url property
- #351 - Allow webFlux handlers using kotlin coroutines to produce response documentation
- #331 - Make springdoc cache configurable
- #334 - Multiple paths in controller and DeleteMapping generates incorrect Request Body
- #324 - Fix double registration of model converters when grouped api is used
- #329 - Added support for multiple OpenAPI definitions in spring webflux
- #321 - Improve beans loading, if projects uses the UI only
- #292 - Added migration guide from springfox
- #315 - Added support for @JsonViews with spring @requestbody annotation
- #320 - Provide oauth2RedirectUrl, if not declared
- #312 - Wrong server url with when grouped api name contains special charater
- New annotation @PageableAsQueryParam for better Pageable support
- #309 - Feature to serve from the same swagger-ui both, REST APIs that are deployed within the same application and external REST APIs
- #293 - Customizing operations, parameters and properties available through an SPI
- #299 - Autoconfigurations will not be loaded if classpath does not contain mvc/reactive dependencies or application is not web application
- #311 - Corrected the support of oauth2-redirect.html and oauth2RedirectUrl
- #297 - Springdoc, Callable support
- #296 - Property
springdoc.api-docs.groups.enabled
removed, as not needed any more for enabling multiple OpenAPI definitions support
- #290 #294 - Improve springdoc-openapi beans loading
- #289 - Preserve order of @Parameters for spring-boot 2.2
- #236 #150 - Remove @EnableWebMvc from SwaggerConfig (not needed for Spring Boot)
- #213 - Support for Multiple OpenAPI definitions in one Spring Boot
- #262 - Support for spring-context-indexer
- #231 - Added support using properties from application.yml for description field in swagger-annotations
- #281 - Make validatorUrl configurable and fix overwrites
- #280 - Improve support of HttpEntity
- #270 - Ignore ServerHttpRequest and ServerHttpResponse Webflux
- #274 - Preserve order of parameters in @Parameters annotation
- #275 - Changed the default value if consumes is missing, to MediaType.APPLICATION_JSON_VALUE
- #286 - Renamed actuator property to springdoc.show-actuator
- #246 - Static content no longer delivered
- #228 - Globally exclude params for webflux
- #255 - Added ability to ignore param with @hidden annotation at class level
- #238 - Support of spring.mvc.servlet.path
- #245 - ignore Authentication in controller params
- #240 - Support for oauth2RedirectUrl
- #260 - Support of @Hidden at class level.
- #231 - Ability for using properties from application.yml to declare security urls: (openIdConnectUrl - authorizationUrl - refreshUrl - tokenUrl)
- #241 - Added support of annotation @Parameters (without @Operation)
- #239 - Downgrade swagger-ui to 3.24.0
- #248 - Fixes error with JDK 11 + Kotlin
- #219 - Handle multiple endpoints on @GetParam
- Upgrade Springboot to 2.2.1
- Upgrade Swagger UI to 3.24.3
- Upgrade webjars locator to 0.38
- #208 - Add Spring Boot metadata for config properties.
- #210 - Explicitly set which packages/ paths to scan
- #214 - Disable the try it out button
- #209 - Changed getOpenApi in AbstractOpenApiResource to synchronized
- #212 - Missing Response Content
- #198 - Ignore @AuthenticationPrincipal from spring-security
- Add operationsSorter and tagsSorter configuration.
- #195 - Flux<> implies array structure
- #202 - Improve support of ArraySchema in @Parameter
- #207 - Removed default description on RequestBody annotation
- #206 - Duplicated mapping key. Random ConcurrentModificationException error
- #192 - Add Ability to Configure Swagger UI - The support of the swagger official properties
- #185 - Support of @Parameters on controller or interface level
- #191 - Disable/enable Swagger-UI generation based on env variable
- #189 - Update README.md
- #180 - Use
@Deprecated
annotation to mark API operation as deprecated - #177 - Support for mappring Pageable of spring-data to correct URL-Parameter in Swagger UI
- Make webjars prefix configurable
- Generate a default tag name if no tag specified
- #172 - Support for Kotlin Coroutines added
- #167 - update swagger api version to 2.0.10
- project refactoring
- #160 - Support custom annotations of @RequestMapping
- #161 - Add @NotEmpty @NotBlank @PositiveOrZero @NegativeOrZero support
- #163 - Improve handling of @RequestBody Mono
- #148 - Support @Schema(hidden = true) on @Parameter
- project refactoring
- #145 - Support of RequestMapping with Regex
- Open base classes for subclassing outside of package
- #147 - Improve handling interface methods
- #144 - Improve Media Type management, on ControllerAdvice method with explicit ApiResponse annotation
- #143 - Using @Content on @ApiResponse, will ensure that no content will be generated on the OpenAPI yml/json description.
- #142 - Error on calling GET /v3/api-docs
- #138 - Support for @Controller class with @ResponseBody annotation
- project refactoring
- upgrade to spring-boot 2.2.0.RELEASE
- #136 - Open up for customisation: Change signatures on some methods in AbstractParameterBuilder
- #107 - Add support for @JsonView annotations in Spring MVC APIs
- rename module springdoc-openapi-core to springdoc-openapi-webmvc-core
- #127 - Missing Header parameters from @Operation annotation
- #55 - Ui with multiple file @RequestPart only shows last part
- Upgrade swagger-api from 2.0.9 to 2.0.10
- Upgrade swagger-ui from 3.23.5 to 3.24.0
- #115- Enable strict JSON output checking in tests
- Make ignoring parameters in AbstractRequestBuilder easier to extend
- Do not ignore PathVariable parameters, they are all time mandatory
- Extend search for @ApiResponse annotations
- #114 - Ability to generate operation responses that reference a global reusable response component
- #106 - Imporove support of
oneOf
Response schemas: merge will be based on content element inside @ApiResponse annotation only
- @SecurityRequirement at Operation and class level
- Project refactoring
- #99 - Added sample tests for Swagger UI
- #95 - Support of Kotlin List of MultipartFile
- #96 - Imporive inconsistency of generated operationId in /v3/api-docs
- #98 - Change behaviour to not overwrite an existing common schema.
- New Feature: OpenAPICustomiser
- #92 - Added Custom converter to handle IllegalArgumentException at com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.getSetter() #94
- #90 - Error in AbstractResponseBuilder.Schema calculateSchema(Components components, ParameterizedType parameterizedType)
- Project refactoring
- Imporove support of overloaded methods in the same Rest Controller
- Added specefic tag for spring-boot-actuator endpoints
- #88 - Support of spring-boot-actuator endpoints to swagger-ui
- Update README.md
- #84 - Regression between 1.1.33 and 1.1.34
- #81 - Make @Hidden work on classlevel of @RestControllerAdvice
- #76 - ClassCastException in org.springdoc.core.AbstractResponseBuilder#calculateSchema
- Project refactoring
- #72 - Query parameter with defaultValue specified will not be marked as required
- #74 - Added Support for callbacks
- WebFlux Multipart File Upload
- #75 - Support for FilePart
- #79 - Error in version 1.1.27
- #80 - requestBody content is empty when using @RequestMapping annotation but is populated for @PostMapping
- Project refactoring
- #70 - Regression between 1.1.25 and 1.1.26
- Added more tests
- #68 - Spring ResponseEntity shoudl not return empty MediaType for no-body responses
- #62 - Operation.requestBody.content[0].mediaType is ignored
- #61 - Support of schema.example for string/date-time
- project refactoring
- #55 - View on the Swagger-ui multiple file @RequestPart
- #12 - Support beans as parameter in @GetMapping / components empty
- #53 - Improve Generic (error) responses built from
ControllerAdvice
- #59 - Parameter documentation overwritten by schema calculation based on type
- #57 - Ignore HttpServletRequest and HttpServletResponse params
- #46 - HTTP status codes in responses not according to spec
- better support for global parameters
- Support of @Hidden annotation for ControllerAdvice exception handlers
- #51 - Do not override parameter.schema
- project refactoring
- project refactoring
- #40 - A Controller method that does not return a response body will not document a schema
- Make sure the swagger-ui.path of the initial html page is the same for other swagger-ui requests
- #35 - Allow to overwrite default API response
- #34 - Exception in case of parametrized types inside ReponseEntity
- project refactoring
- #36 - Attempting to add @SecurityScheme to annotation results in a NPE.
- #33 - Support the io.swagger.v3.oas.annotations.security.SecurityScheme annotation
- #32 - Support the io.swagger.v3.oas.annotations.Hidden annotation to exclude from swagger docs
- update README
- project refactoring
- #16 - Support hiding of Schema and Example Value
- Add property that helps disable springdoc-openapi endpoints.
- project refactoring
- Add server url on webflux
- project refactoring
- project refactoring
- project refactoring
- #28 - Load components from OpenAPI bean config
- Support handling @requestbody annotation directly at parameter level
- #20 - Detect context-path on standalone webservers
- #23 - Parameter will not be missing, if @parameter is used without name.
- #21 - Support of @javax.validation.Size specs with (maximum instead of maxLength)
- Any @GetMapping parameters should be marked as required, even if @RequestParam missing #14
- #17 - Handling @parameter in @operation with proper schema
- project refactoring
- #1 - Support MultipartFile schema in UI
- project refactoring
- #8 - Support Annotations from interfaces
- #10 - oneOf response implementation
- #3 - Support Spring Boot WebFlux Netty
- #9 - Complete parameter types list to be excluded
- #4 - Allow to customize OpenAPI object programmatically
- #2 - context-path is not respected when using Swagger UI
- update README.md
- Added demo applications, sample code
- First release of springdoc-openapi, that supports OpenAPI 3
- Experimental release