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.
- Feature to support for property resolver on @Schema (name, title and description)
- Introduced new property springdoc.api-docs.resolve-schema-properties for property resolver on @Schema #501
- Being able to see the class within an EntityModel as a Schema. Fixes #453
- Introduce new property springdoc.remove-broken-reference-definitions
- Property resolver on @ApiResponse.description #498
- Support of @QuerydslPredicate in Rest controllers
- Change the interface of ParameterCustomizer
- Improve isAnnotationToIgnore and isParamToIgnore
- Use MethodParameter#isOptional() instead of checking for Optional type
- Improve the support of Pageable. Fixes #496
- 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
- Use required attribute from spring RequestBody annotation #468
- Review configuration via springdoc.swagger-ui.urls #481
- Support for auto fill clientId and clientSecret for webflux #333
- Support to ignore annotations on parameter level
- Update spring-boot-starter-parent to 2.2.5.RELEASE #469
- Improve compatibility of springdoc-openapi-data-rest with Spring Webflux #477
- Improve support of Swagger UI to use provided spec.yml #480
- Delegate primitive type generation to swagger-core
- Wrong schema mapping with inheritance. Fixes #489
- Support for OpenApiBuilderCustomiser to allow users to customize the OpenApiBuilder #451
- Support for generic controller types parameters
- Support to handle prefix for webflux-ui #454
- Allow @Schema annotation to set an attribute as not required even if it's annotated with @NotNull #459
- Make SpringDocAnnotationsUtils public #458
- Make GenericResponseBuilder.calculateSchema method public #455
- Support to override generic responses from controller advice with ApiResponses #429
- Support for non-nullable types in Kotlin #443
- Support for setting default produces/consumes mediaTypes #442
- Force classgraph version #447
- Payload/Request Examples no longer generated #444
- Return value of PropertyCustomizer is ignored #441
- Allow Request paremeters types to be ignored programatically using SpringDocUtils
- Support to disable autotagging of @RestController Classes #420
- Support for properties to exclude packages and paths from documentation. #404
- Support for kotlin Deprecated #414
- Support for Hiding org.springframework.security.core.Authentication on ServerHttpResponse #423
- Upgrade swagger-ui to 3.25.0
- Allow ModelAndView to be detected #428
- Improve Reverse proxy compatibily for webflux #435
- Adjusting the output for Links #418
- Discovery of MediaType producers inconsistent with Spring MVC behaviour #426
- Multiple Parameter Refs throws IllegalStateException (Duplicate key) #408
- Solves Hateoas fields names mismatch #401
- @CookieValue parameter indents request body #419
- Support REST Controllers with default empty @RequestMapping #378
- Support for Sort GroupedOpenApi by name #398
- Improve support of @Parameter Schema, in case of @RequestBody #396
- Prevent swagger-ui default validation #393
- @SecurityScheme
paramName
not accounted for thename
#384 - Warning on referenced example #437
- Same operationId for overloaded methods using Groups, breaks swagger-ui collapsibles #399
- Duplicate tags if they are defined on @Operation annotation on swagger-ui #436.
- When using RestControllerAdvice, one of the responses description is missing and replaced with a default #440
- Support for extensions on @ApiResponse #368
- Support for CompletionStage as endpoint return type #370
- Support for extensions on @ApiResponse #368
- Support for java 8 Optional for @RequestParam #375
- Support for @RequestParam for file upload #377
- Added ability to disable security for one operation using @SecurityRequirements #259
- Support to configure packages-to-scan as list using YAML Syntax #376
- Upgrade to spring-boot to 2.2.4.RELEASE
- Upgrade swagger-api to 2.1.1
- Upgrade swagger-ui to 3.24.3
- Make spring-security-oauth2 as optional for springdoc-openapi-security #359
- Improve support of response of responses overloading #354
- Support for pathsToMatch and packagesToScan to work in spinal-case as well #338
- Support support for spring-security-oauth2 authorization server #327
- support for custom OAuth 2.0 configuration, of the swagger-ui #333
- Support of HttpEntity on webflux #280
- Support: Example value can be specified without having to specify the schema #352
- Support for serving the swagger-ui from outside of the spring-boot application / exploed jar #346
- Support spring property resolver in all @Info #353
- Improve actuator documentation
- Make oauth2RedirectUrl dynamically calculated #349
- Fixes springdoc.swagger-ui.url property #339
- Allow webFlux handlers using kotlin coroutines to produce response documentation #351
- Make springdoc cache configurable #331
- Multiple paths in controller and DeleteMapping generates incorrect Request Body #334
- Fix double registration of model converters when grouped api is used #324
- Added support for multiple OpenAPI definitions in spring webflux #329
- Improve beans loading, if projects uses the UI only #321
- Added migration guide from springfox #292
- Added support for @JsonViews with spring @requestbody annotation #315
- Provide oauth2RedirectUrl, if not declared #320
- Wrong server url with when grouped api name contains special charater #312
- New annotation @PageableAsQueryParam for better Pageable support
- Feature to serve from the same swagger-ui both, REST APIs that are deployed within the same application and external REST APIs #309
- Customizing operations, parameters and properties available through an SPI #293
- Autoconfigurations will not be loaded if classpath does not contain mvc/reactive dependencies or application is not web application #299
- Corrected the support of oauth2-redirect.html and oauth2RedirectUrl #311
- Springdoc, Callable support #297
- Property
springdoc.api-docs.groups.enabled
removed, as not needed any more for enabling multiple OpenAPI definitions support #296
- Improve springdoc-openapi beans loading #290 #294
- Preserve order of @Parameters for spring-boot 2.2 #289
- Remove @EnableWebMvc from SwaggerConfig (not needed for Spring Boot) #236 #150
- Support for Multiple OpenAPI definitions in one Spring Boot #213
- Support for spring-context-indexer #262
- Added support using properties from application.yml for description field in swagger-annotations #231
- Make validatorUrl configurable and fix overwrites #281
- Improve support of HttpEntity #280
- Ignore ServerHttpRequest and ServerHttpResponse Webflux #270
- Preserve order of parameters in @Parameters annotation #274
- Changed the default value if consumes is missing, to MediaType.APPLICATION_JSON_VALUE #275
- Renamed actuator property to springdoc.show-actuator #286
- Static content no longer delivered #246
- Globally exclude params for webflux #228
- Added ability to ignore param with @hidden annotation at class level #255
- Support of spring.mvc.servlet.path #238
- ignore Authentication in controller params #245
- Support for oauth2RedirectUrl #240
- Support of @Hidden at class level. #260
- Ability for using properties from application.yml to declare security urls: (openIdConnectUrl - authorizationUrl - refreshUrl - tokenUrl) #231
- Added support of annotation @Parameters (without @Operation) #241
- Downgrade swagger-ui to 3.24.0, fixes #239
- Fixes error with JDK 11 + Kotlin #248
- Handle multiple endpoints on @GetParam #219
- Upgrade Springboot to 2.2.1
- Upgrade Swagger UI to 3.24.3
- Upgrade webjars locator to 0.38
- Add Spring Boot metadata for config properties. #208
- Explicitly set which packages/ paths to scan #210
- Disable the try it out button #214
- Changed getOpenApi in AbstractOpenApiResource to synchronized #209
- Missing Response Content - #212
- Ignore @AuthenticationPrincipal from spring-security #198
- Add operationsSorter and tagsSorter configuration.
- Flux<> implies array structure #195
- Improve support of ArraySchema in @Parameter #202
- Removed default description on RequestBody annotation #207
- Duplicated mapping key. Random ConcurrentModificationException error #206
- Add Ability to Configure Swagger UI - The support of the swagger official properties #192
- Support of @Parameters on controller or interface level #185
- Disable/enable Swagger-UI generation based on env variable #191
- Update README.md #189
- Use
@Deprecated
annotation to mark API operation as deprecated #180 - Support for mappring Pageable of spring-data to correct URL-Parameter in Swagger UI #177
- Make webjars prefix configurable
- Generate a default tag name if no tag specified
- Support for Kotlin Coroutines added #172
- update swagger api version to 2.0.10 #167
- project refactoring
- Support custom annotations of @RequestMapping #160
- Add @NotEmpty @NotBlank @PositiveOrZero @NegativeOrZero support #161
- Improve handling of @RequestBody Mono #163
- Support @Schema(hidden = true) on @Parameter #148
- project refactoring
- Support of RequestMapping with Regex #145
- Open base classes for subclassing outside of package
- Improve handling interface methods #147
- Improve Media Type management, on ControllerAdvice method with explicit ApiResponse annotation #144
- Using @Content on @ApiResponse, will ensure that no content will be generated on the OpenAPI yml/json description. #143
- Error on calling GET /v3/api-docs #142
- Support for @Controller class with @ResponseBody annotation #138
- project refactoring
- upgrade to spring-boot 2.2.0.RELEASE
- Open up for customisation #136: Change signatures on some methods in AbstractParameterBuilder
- Add support for @JsonView annotations in Spring MVC APIs #107
- rename module springdoc-openapi-core to springdoc-openapi-webmvc-core
- Missing Header parameters from @Operation annotation #127
- Ui with multiple file @RequestPart only shows last part #55
- Upgrade swagger-api from 2.0.9 to 2.0.10
- Upgrade swagger-ui from 3.23.5 to 3.24.0
- Enable strict JSON output checking in tests #115
- Make ignoring parameters in AbstractRequestBuilder easier to extend
- Do not ignore PathVariable parameters, they are all time mandatory
- Extend search for @ApiResponse annotations
- Ability to generate operation responses that reference a global reusable response component #114
- Imporove support of
oneOf
Response schemas: merge will be based on content element inside @ApiResponse annotation only #106
- @SecurityRequirement at Operation and class level
- Project refactoring
- Added sample tests for Swagger UI #99
- Support of Kotlin List of MultipartFile #95
- Imporive inconsistency of generated operationId in /v3/api-docs #96
- Change behaviour to not overwrite an existing common schema. #98
- New Feature: OpenAPICustomiser #92
- Added Custom converter to handle IllegalArgumentException at com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.getSetter() #94
- Error in AbstractResponseBuilder.Schema calculateSchema(Components components, ParameterizedType parameterizedType) #90
- Project refactoring
- Imporove support of overloaded methods in the same Rest Controller
- Added specefic tag for spring-boot-actuator endpoints
- Support of spring-boot-actuator endpoints to swagger-ui #88
- Update README.md
- Regression between 1.1.33 and 1.1.34 #84
- Make @Hidden work on classlevel of @RestControllerAdvice #81
- ClassCastException in org.springdoc.core.AbstractResponseBuilder#calculateSchema #76
- Project refactoring
- Query parameter with defaultValue specified will not be marked as required #72
- Added Support for callbacks #74
- WebFlux Multipart File Upload - Support for FilePart #75
- Error in version 1.1.27 #79
- requestBody content is empty when using @RequestMapping annotation but is populated for @PostMapping #80
- Project refactoring
- Regression between 1.1.25 and 1.1.26 #70
- Added more tests
- Spring ResponseEntity shoudl not return empty MediaType for no-body responses #68
- Operation.requestBody.content[0].mediaType is ignored #62
- Support of schema.example for string/date-time #61
- project refactoring
- View on the Swagger-ui multiple file @RequestPart #55
- Support beans as parameter in @GetMapping / components empty #12
- Improve Generic (error) responses built from
ControllerAdvice
#53 - Parameter documentation overwritten by schema calculation based on type #59
- Ignore HttpServletRequest and HttpServletResponse params #57
- HTTP status codes in responses not according to spec #46
- better support for global parameters
- Support of @Hidden annotation for ControllerAdvice exception handlers
- Do not override parameter.schema #51
- project refactoring
- project refactoring
- A Controller method that does not return a response body will not document a schema #40
- Make sure the swagger-ui.path of the initial html page is the same for other swagger-ui requests
- Allow to overwrite default API response #35
- Exception in case of parametrized types inside ReponseEntity #34
- project refactoring
- Attempting to add @SecurityScheme to annotation results in a NPE. #36
- Support the io.swagger.v3.oas.annotations.security.SecurityScheme annotation #33
- Support the io.swagger.v3.oas.annotations.Hidden annotation to exclude from swagger docs #32
- update README
- project refactoring
- Support hiding of Schema and Example Value #16
- Add property that helps disable springdoc-openapi endpoints.
- project refactoring
- Add server url on webflux
- project refactoring
- project refactoring
- project refactoring
- Load components from OpenAPI bean config #28
- Load components from OpenAPI bean config
- Support handling @requestbody annotation directly at parameter level
- Detect context-path on standalone webservers #20
- Parameter will not be missing, if @parameter is used without name. #23
- Support of @javax.validation.Size specs with (maximum instead of maxLength) #21
- Any @GetMapping parameters should be marked as required, even if @RequestParam missing #14
- Handling @parameter in @operation with proper schema #17
- project refactoring
- Support MultipartFile schema in UI #1
- project refactoring
- support Annotations from interfaces #8
- oneOf response implementation #10
- Support Spring Boot WebFlux Netty #3
- Complete parameter types list to be excluded #9
- Allow to customize OpenAPI object programmatically #4
- context-path is not respected when using Swagger UI - #2
- update README.md
- Added demo applications, sample code
- First release of springdoc-openapi, that supports OpenAPI 3
- Experimental release