Skip to content

Releases: springdoc/springdoc-openapi

springdoc-openapi v2.7.0 released! Latest

23 Nov 22:06
Compare
Choose a tag to compare

What's Changed

Added

  • #2777 - Add SortAsQueryParam annotation
  • #2649 - Add Encoding to multiple files and JSON payloads request test case
  • #2653 - Trim indent apply schema description
  • #2664 - Refactor Replace hardcoded schema prefix length
  • #2509, #2668 - Replace swagger urls in org.springdoc.core.properties.AbstractSwaggerUiConfigProperties#urls only if url is changed
  • #2727 - Display nullable request body with map type
  • #2746 - Readme.md add gradle import
  • #2760 - Added support for RequestBody as a meta-annotation
  • #2703 - Display nullable request body with map type
  • #2657 - Add support for OAS v3.1 webhooks

Changed

  • Upgrade spring-boot to 3.4.0
  • Upgrade swagger-ui to 5.18.2
  • Upgrade spring-security-oauth2-authorization-server to 1.4.0
  • Upgrade swagger-core to 2.2.25
  • Upgrade spring-cloud-function to 4.2.0-M1

Fixed

  • #2752 - Swagger doesn't work after custom annotation replacing request parameters
  • #2747 - Move to webjars-locator-lite, in preparation for spring-boot 3.4 GA
  • #2705 - @Schema oneOf config is ignored when generate the api-docs
  • #2744 - SpringDocUI doest add Javadoc into swagger from abstract class
  • #2708 - Spring Boot (Webflux) - Swagger UI - redirect URI does not include Gateway Prefix
  • #2725 - Serialization to openapi of org.springframework.data.domain.Sort is wrong for Spring Boot >2.x
  • #2740 - Swagger-ui ignores property springdoc.swagger-ui.supported-submit-methods
  • #2733 - Bad schema return type when created a generic wrapper class for response entity
  • #2687 - Failed to load api definition after spring boot 3.4.0-M2
  • #2642 - Calling Swagger UI via different context paths fails
  • #2709 - Annotation @hidden on rest controller class level doesn't work due to spring default proxying mechanism CGLIB
  • #2642 - Calling Swagger UI via different context paths fails
  • #2663 - Content definition in @ApiResponse remove schema generated based on the returned value
  • #2646 - The operationId is unnecessarily deduplicated for a requestBody with multiple content types
  • #2643 - UpperSnakeCaseStrategy is not working with spring boot and ParameterObject
  • #2640 - @JsonUnwrapped is ignored when PolymorphicConverter is enabled
  • #2638 - Boolean Parameter with @Schema Annotation Changes Type to string in OpenAPI Documentation
  • #2659 - Fix typo in SpringSecurityLoginEndpointCustomizer method name
  • #2660 - Update Response Code
  • #2442, #2669 - Fix SpringDocApp193Test for Java 21 and above
  • #2671 - Ensure default media type order is preserved using LinkedHashSet in mergeArrays
  • #2711 - Missing descriptions on Kotlin ByteArray fields
  • #2733 - Bad schema return type when created a generic wrapper class for response entity

New Contributors

Full Changelog: v2.6.0...v2.7.0

v2.7.0-RC1

06 Nov 22:17
Compare
Choose a tag to compare
v2.7.0-RC1 Pre-release
Pre-release

What's Changed

Added

  • #2649 - Add Encoding to multiple files and JSON payloads request test case
  • #2653 - Trim indent apply schema description
  • #2664 - Refactor Replace hardcoded schema prefix length
  • #2509, #2668 - Replace swagger urls in org.springdoc.core.properties.AbstractSwaggerUiConfigProperties#urls only if url is changed
  • #2727 - Display nullable request body with map type
  • #2746 - Readme.md add gradle import
  • #2760 - Added support for RequestBody as a meta-annotation
  • #2703 - Display nullable request body with map type
  • #2657 - Add support for OAS v3.1 webhooks

Changed

  • Upgrade spring-boot to 3.4.0-RC1
  • Upgrade swagger-core to 2.2.25
  • Upgrade swagger-ui to 5.18.1
  • Upgrade spring-cloud-function to 4.2.0-M1
  • Upgrade spring-security-oauth2-authorization-server to 1.4.0-M2

Fixed

  • #2752 - Swagger doesn't work after custom annotation replacing request parameters
  • #2747 - Move to webjars-locator-lite, in preparation for spring-boot 3.4 GA
  • #2705 - @Schema oneOf config is ignored when generate the api-docs
  • #2744 - SpringDocUI doest add Javadoc into swagger from abstract class
  • #2708 - Spring Boot (Webflux) - Swagger UI - redirect URI does not include Gateway Prefix
  • #2725 - Serialization to openapi of org.springframework.data.domain.Sort is wrong for Spring Boot >2.x
  • #2740 - Swagger-ui ignores property springdoc.swagger-ui.supported-submit-methods
  • #2733 - Bad schema return type when created a generic wrapper class for response entity
  • #2687 - Failed to load api definition after spring boot 3.4.0-M2
  • #2642 - Calling Swagger UI via different context paths fails
  • #2709 - Annotation @hidden on rest controller class level doesn't work due to spring default proxying mechanism CGLIB
  • #2642 - Calling Swagger UI via different context paths fails
  • #2663 - Content definition in @ApiResponse remove schema generated based on the returned value
  • #2646 - The operationId is unnecessarily deduplicated for a requestBody with multiple content types
  • #2643 - UpperSnakeCaseStrategy is not working with spring boot and ParameterObject
  • #2640 - @JsonUnwrapped is ignored when PolymorphicConverter is enabled
  • #2638 - Boolean Parameter with @Schema Annotation Changes Type to string in OpenAPI Documentation
  • #2659 - Fix typo in SpringSecurityLoginEndpointCustomizer method name
  • #2660 - Update Response Code
  • #2442, #2669 - Fix SpringDocApp193Test for Java 21 and above
  • #2671 - Ensure default media type order is preserved using LinkedHashSet in mergeArrays
  • #2711 - Missing descriptions on Kotlin ByteArray fields
  • #2733 - Bad schema return type when created a generic wrapper class for response entity

New Contributors

Full Changelog: v2.6.0...v2.7.0-RC1

springdoc-openapi v2.6.0 released!

30 Jun 18:26
Compare
Choose a tag to compare

What's Changed

  • NPE occurs when outputting an OpenAPI document since 2.5.0 by @footaku in #2561
  • Fix missing exception response types in OpenAPI spec by @mschout in #2577
  • fix: add support for leading tab characters with trim-kotlin-indent. by @testersen in #2579
  • pass HttpRequest to ServerBaseUrlCustomizer by @mshima in #2589
  • Fix consumes and produces calculation. Fixes #2596 by @jakvbs in #2600
  • Replace Page schema with PagedModel when pageSerializationMode is set to VIA_DTO by @EvaristeGalois11 in #2626
  • Ensure compatibility with previous version of spring data by @EvaristeGalois11 in #2627

New Contributors

Added

  • #2561 - NPE occurs when outputting an OpenAPI document since 2.5.0
  • #2579 - Add support for leading tab characters with trim-kotlin-indent.
  • #2589 - Pass HttpRequest to ServerBaseUrlCustomizer
  • #2596, #2600 - consumes and produces calculation. Fixes
  • #2625, #2626 - Replace Page schema with PagedModel when pageSerializationMode is set to VIA_DTO
  • #2627 - Ensure compatibility with previous version of spring data
  • #2576 - GroupedApi orders by displayName instead of name.
  • #2584 - Dynamically define ApiGroups does not work.
  • #2595 - Spring security support of @RegisteredOAuth2AuthorizedClient

Changed

  • Upgrade spring-boot to 3.3.0
  • Upgrade swagger-core to 2.2.22
  • Upgrade swagger-ui to 5.17.14
  • Upgrade spring-cloud-function to 4.1.2
  • Upgrade spring-security-oauth2-authorization-server to 1.3.0

Fixed

  • #2577 - Fix missing exception response types in OpenAPI spec
  • #2591 - When an entity class contains fields of Class<?> type, an infinite loop.
  • #2603 - PolymorphicModelConverter only handles direct subtypes and misses indirect.
  • #2606 - Spring Authorization Server Metadata Endpoint not compatible.
  • #2621 - Content-type for POST endpoints with multipart/form-data does not work since v2.4.0.
  • #2622 - Kotlin enums are always marked as required if used in Java controllers.
  • #2601 - Multiple Superclasses Are Not Mapped To Multiple allOf If Used In Different Services.
  • #2597 - Polymorphic fields on polymorphic parents don't get correct oneOf docs generated.

Full Changelog: v2.5.0...v2.6.0

springdoc-openapi v2.5.0 released!

01 Apr 16:16
Compare
Choose a tag to compare

What's Changed

  • Fix typo in SpringRepositoryRestResourceProvider.java by @codespearhead in #2540
  • Add 'springdoc.trim-kotlin-indent' property to handle Kotlin multiline string indentation by @e-build in #2535
  • Fix README.md by @zinzoddari in #2549
  • [issues#2318]Add Info to GroupedOpenAPI properties by @23557544 in #2551
  • Showcase Issue #2553 by @EAlf91 in #2552
  • Remove duplicate words from comments by @zinzoddari in #2554
  • Upgrade spring-boot to 3.2.4
  • Upgrade swagger-core to 2.2.21
  • Upgrade swagger-ui to 5.13.0

Added

  • #2318 - Add Info to GroupedOpenAPI properties
  • #2554 - Remove duplicate words from comments
  • #2418 - Improve support for externalizing strings in generated openapi
  • #2535 - Add 'springdoc.trim-kotlin-indent' property to handle Kotlin multiline string indentation

Fixed

  • #2525 - Inherited Methods Not Included in Swagger Documentation with @RouterOperation in Spring Boot WebFlux Application
  • #2526 - SpringDoc bean naming conflict error with GraphQL Spring boot starter
  • #2540 - Fix typo in SpringRepositoryRestResourceProvider.java
  • #2549 - Fix README.md

New Contributors

Full Changelog: v2.4.0...v2.5.0

springdoc-openapi v2.4.0 released!

12 Mar 17:54
Compare
Choose a tag to compare

What's Changed

Changed

  • Upgrade spring-boot to 3.2.3
  • Upgrade swagger-core to 2.2.20
  • Upgrade swagger-ui to 5.11.8

Fixed

  • #2443 - Respect schema annotations when using spring mvc with kotlin
  • #2492, #2488 - Support dynamic evaluation of description field in the RequestBody
  • #2510 - Option to disable root api-docs path when using groups
  • #2453 - Fix CODE_OF_CONDUCT.md links
  • #2454 - Fix typo in SwaggerWelcomeWebMvc
  • #2507 - Fix typo in Constants
  • #2472 - Update JavadocPropertyCustomizer.java
  • #2495 - Fix broken links in README and CONTRIBUTING
  • #2501 - bug fix when "exported" is set to false in RestResource annotation
  • #2447 - Serialization to openapi of org.springframework.data.domain.Sort is not done correctly
  • #2449 - Extensions in subobjects of OpenAPI no longer work
  • #2461 - Springdoc OpenApi Annotations @ExtensionProperty Not Evaluating Properties from application.yml
  • #2469 - Pom contains invalid organizationUrl
  • #2518 - Duplicate GroupConfigs in SpringDocConfigProperties
  • #2506 - Springdoc breaks (Unexpected value: TRACE) when a spring-cloud-starter-gateway-mvc universal gateway is configured.
  • #2519 - Request parameter parsing error after using @notblank from type interface field
  • #2516 - Spring Data REST fails when setting version to openapi_3_1
  • #2509 - ArrayIndexOutOfBoundsException in SwaggerUiConfigParameters
  • #2484 - JavaDoc integration not working with SnakeCaseStrategy property naming
  • #2483 - Controller advice documents ApiResponse on every operation, even if the operation does not annotate the exception to be thrown
  • #2477 - buildApiResponses ignores produced ContentType in case of many @operation

New Contributors

Full Changelog: v2.3.0...v2.4.0

springdoc-openapi v1.8.0 released!

12 Mar 17:53
Compare
Choose a tag to compare

Added

  • #2189 - Add support for swagger-ui.url property
  • #2200 - Support schema.requiredMode() on ParameterObject
  • #2309 - Added function to preload by specifying locale
  • #2332 - Group name cannot be null or empty
  • #2281 - Initial Virtual thread support
  • #2311 - Enhance springdoc-ui to support spring.mvc.servlet.path
  • #2340 - Add support OIDC with Spring Authorization Server
  • #2345 - Support Schema added in OpenAPI Specification v3.1
  • #2387 - Support get javadoc description from getter method
  • #2404 - Update condition to register links schema customizer
  • #2359 - Update condition to register links schema customizer
  • #2348 - Enhance resource path processing
  • #2438, #2315 - Support for @JsonProperty with Javadoc Change in springdoc-openapi
  • #2443 - Respect schema annotations when using spring mvc with kotlin
  • #2492, #2488 - Support dynamic evaluation of description field in the RequestBody
  • #2510 - Option to disable root api-docs path when using groups

Changed

  • Upgrade spring-boot to 2.7.18
  • Upgrade swagger-core to 2.2.20
  • Upgrade swagger-ui to 5.11.8

Fixed

  • #2199 - Fix Schema get condition of ArraySchema.
  • #2194 - Fix Swagger UI with provided spec
  • #2213 - Using both generated and configured specs stoped working in 1.6.5
  • #2222 - String Index Out of Bounce Exception Fix when deployed on Azure
  • #2243, #2235 - Fix StringIndexOutOfBoundsException when path is same webjar
  • #2291 - Fix default-flat-param-object doesn't work when using http body
  • #2310 - Change bean name of objectMapperProvider
  • #2207 - swagger-initializer.js is sent endcoded in the JVM's default charset
  • #2271, #2280 - Fix loop when response inherits generic class fixes
  • #2239 - Swagger UI not accessible when FormattingConversionService is a CGLIB proxy
  • #2366 - Fix the failed test due to hardcoded file separators
  • #2370, #2371 - No empty description for polymorphic subtypes
  • #2373 - SchemaProperty.array Schema is ignored in /api-docs or api-docs.yaml
  • #2366 - Refactoring AbstractSwaggerResourceResolver.findWebJarResourcePath
  • #2320 - javadoc for class attribute ignored when in EntityModel.
  • #2347 - Not working if a property of entity contains generic parameters.
  • #2399 - SpringdocRouteBuilder.onError is overriding last route defined.
  • #2426 - StackOverflowError when using @ParameterObject on groovy class.
  • #2453 - Fix CODE_OF_CONDUCT.md links
  • #2454 - Fix typo in SwaggerWelcomeWebMvc
  • #2507 - Fix typo in Constants
  • #2472 - Update JavadocPropertyCustomizer.java
  • #2495 - Fix broken links in README and CONTRIBUTING
  • #2501 - bug fix when "exported" is set to false in RestResource annotation
  • #2447 - Serialization to openapi of org.springframework.data.domain.Sort is not done correctly
  • #2449 - Extensions in subobjects of OpenAPI no longer work
  • #2461 - Springdoc OpenApi Annotations @ExtensionProperty Not Evaluating Properties from application.yml
  • #2469 - Pom contains invalid organizationUrl
  • #2518 - Duplicate GroupConfigs in SpringDocConfigProperties
  • #2506 - Springdoc breaks (Unexpected value: TRACE) when a spring-cloud-starter-gateway-mvc universal gateway is configured.
  • #2519 - Request parameter parsing error after using @notblank from type interface field
  • #2516 - Spring Data REST fails when setting version to openapi_3_1
  • #2509 - ArrayIndexOutOfBoundsException in SwaggerUiConfigParameters
  • #2484 - JavaDoc integration not working with SnakeCaseStrategy property naming
  • #2483 - Controller advice documents ApiResponse on every operation, even if the operation does not annotate the exception to be thrown
  • #2477 - buildApiResponses ignores produced ContentType in case of many @operation

springdoc-openapi v2.3.0 released!

03 Dec 00:25
Compare
Choose a tag to compare

What's Changed

  • #2359 - Update condition to register links schema customizer
  • #2348 - Enhance resource path processing
  • #2438, #2315 - Support for @JsonProperty with Javadoc Change in springdoc-openapi
  • Upgrade spring-boot to 3.2.0
  • Upgrade swagger-core to 2.2.19
  • Upgrade swagger-ui to 5.10.3

Fixed

  • #2366 - Fix the failed test due to hardcoded file separators
  • #2370, #2371 - No empty description for polymorphic subtypes
  • #2373 - SchemaProperty.array Schema is ignored in /api-docs or api-docs.yaml
  • #2366 - Refactoring AbstractSwaggerResourceResolver.findWebJarResourcePath
  • #2320 - javadoc for class attribute ignored when in EntityModel.
  • #2347 - Not working if a property of entity contains generic parameters.
  • #2399 - SpringdocRouteBuilder.onError is overriding last route defined.
  • #2426 - StackOverflowError when using @ParameterObject on groovy class.

New Contributors

Full Changelog: v2.2.0...v2.3.0

springdoc-openapi v2.2.0 released!

06 Aug 21:23
Compare
Choose a tag to compare

Added

  • #2189 - Add support for swagger-ui.url property
  • #2200 - Support schema.requiredMode() on ParameterObject
  • #2309 - Added function to preload by specifying locale
  • #2332 - Group name cannot be null or empty
  • #2281 - Initial Virtual thread support

Changed

  • Upgrade spring-boot to 3.1.2
  • Upgrade swagger-core to 2.2.15
  • Upgrade swagger-ui to 5.2.0

Fixed

  • #2199 - Fix Schema get condition of ArraySchema.
  • #2194 - Fix Swagger UI with provided spec
  • #2213 - Using both generated and configured specs stoped working in 1.6.5
  • #2222 - String Index Out of Bounce Exception Fix when deployed on Azure
  • #2243, #2235 - Fix StringIndexOutOfBoundsException when path is same webjar
  • #2291 - Fix default-flat-param-object doesn't work when using http body
  • #2310 - Change bean name of objectMapperProvider
  • #2207 - swagger-initializer.js is sent endcoded in the JVM's default charset
  • #2271, #2280 - Fix loop when response inherits generic class fixes
  • #2312 - Spec for @ParameterObject disappears if building native-images
  • #2326 - @QuerydslPredicate(root = X.class) annotation at Controller Method level not getting documented in Spring Boot 3

New Contributors

Full Changelog: v2.1.0...v2.2.0

springdoc-openapi v2.1.0 released!

01 Apr 22:38
Compare
Choose a tag to compare

What's Changed

  • Add request parameter for token endpointg by @uc4w6c in #2168
  • Fixed DefaultFlatParamObject to work with annotated parameters. Fixes… by @uc4w6c in #2184

Added

  • #2152 - Detect directions in default sort values
  • #2167 #2166 - Add request parameter for token endpoint
  • #2188 - Support of {*param} path patterns

Changed

  • Upgrade spring-boot to 3.0.5
  • Upgrade swagger-core to 2.2.9
  • Upgrade swagger-ui to 4.18.2
  • #2173 - Remove webjars-locator-core

Fixed

  • #2122 - Super tiny fix typo
  • #2131 - Fixed a bug that javadoc of record class parameters was not recognized.
  • #2140 - Javadoc record class parameters not recognized
  • #2123 #2141 - fix spring authorization server response.
  • #2148 - Fix properties show-oauth2-endpoints and SpringDocConfigProperties#showOauth2Endpoint properties name mismatch
  • #2149 - Request parameters with default values are marked as required.
  • #2155 - openApi.getServers() is null in OpenApiCustomiser when using different locales.
  • #2152 - Redundant(wrong) direction appended to @PageableDefault.
  • #2181 #2183 - Fixed DefaultFlatParamObject to work with annotated parameters.
  • #2170 #2187 - All request parameters marked as required for Java controllers in mixed projects in 2.0.3
  • #2165 - Custom Converters are not excluded if not registered for Http Message Converter.
  • #2185 - Fix behaviour of required flag for schema class fields.
  • #2139 - SpringDocSecurityConfiguration class not sufficiently constrained.
  • #2142 - SpringDocJacksonModuleConfiguration is loaded even though there is no ObjectMapperProvider when springdoc.api-docs.enabled = false.

Full Changelog: v2.0.4...v2.1.0

springdoc-openapi v1.7.0 released!

01 Apr 22:37
Compare
Choose a tag to compare

What's Changed

  • Super tiny fix typo by @fzyzcjy in #2121
  • Fixed a bug that javadoc of record class parameters was not recognize… by @uc4w6c in #2140
  • Fix spring authorization server response. Fixes #2123 by @uc4w6c in #2141
  • bug: Fix properties show-oauth2-endpoints and SpringDocConfigProperties#showOauth2Endpoint properties name mismatch by @Hccake in #2148
  • Add failing test with multiple locales and customizing servers by @harsel in #2156
  • Request parameters with default values are marked as required. Fixes #2149 by @tobiberger in #2158
  • [#2152] Detect directions in default sort values by @onacit in #2159
  • Add request parameter for token endpoint by @uc4w6c in #2167
  • Fixed DefaultFlatParamObject to work with annotated parameters. Fixes… by @uc4w6c in #2183

Added

  • #2152 - Detect directions in default sort values
  • #2167 #2166 - Add request parameter for token endpoint
  • #2188 - Support of {*param} path patterns

Changed

  • Upgrade spring-boot to 2.7.10
  • Upgrade swagger-core to 2.2.9
  • Upgrade swagger-ui to 4.18.2
  • Spring Native is now superseded by Spring Boot 3 official
  • #2173 - Remove webjars-locator-core

Fixed

  • #2122 - Super tiny fix typo
  • #2131 - Fixed a bug that javadoc of record class parameters was not recognized.
  • #2140 - Javadoc record class parameters not recognized
  • #2123 #2141 - fix spring authorization server response.
  • #2148 - Fix properties show-oauth2-endpoints and SpringDocConfigProperties#showOauth2Endpoint properties name mismatch
  • #2149 - Request parameters with default values are marked as required.
  • #2155 - openApi.getServers() is null in OpenApiCustomiser when using different locales.
  • #2152 - Redundant(wrong) direction appended to @PageableDefault.
  • #2181 #2183 - Fixed DefaultFlatParamObject to work with annotated parameters.
  • #2170 #2187 - All request parameters marked as required for Java controllers in mixed projects in 2.0.3
  • #2165 - Custom Converters are not excluded if not registered for Http Message Converter.
  • #2185 - Fix behaviour of required flag for schema class fields.

New Contributors

Full Changelog: v1.6.15...v1.7.0