Skip to content

Releases: springdoc/springdoc-openapi

springdoc-openapi v2.8.1 released!

06 Jan 10:29
Compare
Choose a tag to compare

Full Changelog: v2.8.0...v2.8.1

Fixed

  • #2834 - java.lang.ClassNotFoundException: kotlin.reflect.full.KClasses when upgrade from 2.7.0 to 2.8.0

springdoc-openapi v2.8.0 released!

03 Jan 21:31
Compare
Choose a tag to compare

What's Changed

Added

  • #2790 - Moving to OpenAPI 3.1 as the default implementation for springdoc-openapi
  • #2817 - Obey annotations when flattening ParameterObject fields
  • #2826 - Make it possible to mark parameters with @RequestParam annotation to be sent in form instead of query.
  • #2822 - Support returning null in ParameterCustomizer
  • #2830 - Add support for deprecated fields.
  • #2780 - Add Security Schema by AutoConfigure

Changed

  • Upgrade spring-boot to 3.4.1
  • Upgrade spring-cloud-function to 4.2.0
  • Upgrade swagger-core to 2.2.27

Fixed

  • #2804 - Stable release 2.7.0 depends on Spring Cloud Milestone 4.2.0-M1
  • #2828 - Required a bean of type 'org.springframework.data.rest.webmvc.mapping.Associations' that could not be found.
  • #2823 - Capturing pattern in identical paths only renders the path element of one method
  • #2817 - Automatically add required if a field is @NotNull or @notblank.
  • #2814 - An unresolvable circular reference with management.endpoint.gateway.enabled=true.
  • #2798 - Object schema generated for Unit Kotlin type.
  • #2797 - Removing operationId via customizer does not work anymore.
  • #2833 - Resolve infinite recursion and add example test with OpenAPI v3.1
  • #2827 - Ignoring @parameter(required = false)

New Contributors

Full Changelog: v2.7.0...v2.8.0

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