Skip to content

Releases: SMILEY4/ktor-openapi-tools

5.0.0

01 Mar 10:39
Compare
Choose a tag to compare

ℹ️ This repository has been renamed from "ktor-swagger-ui" to "ktor-openapi-tools" to better reflects its content and multiple independent libraries ktor-openapi, ktor-swagger-ui and ktor-redoc

  • split project into submodules: ktor-openap and ktor-swagger-ui (and ktor-redoc)

    • "ktor-openapi" plugin is responsible only for generating and providing an openapi-file
      • no longer install(SwaggerUI) but now install(OpenApi)
      • can be used without the swagger-ui dependency
    • "ktor-swagger" library to provide routes to server swagger-ui for any openapi-file (based on given url)
      • can be used with any openapi file or generator
    • this split allows for more flexibility and new features using openapi-files without swagger-ui (e.g. redoc)
  • cleanup package structure, naming, configuration

    • shorter and cleaner package names
    • shorter and more uniform class names
    • slightly simpler configuration dsl
    • made all internal classes actually "internal" -> less namespace pollution
  • TypesafeRouting plugin

    • improved support for TypesafeRouting plugin
    • automatically detect path and query parameters
  • improved schema generation

    • added typealias GenericSchemaGenerator for schema generation function
    • create pre-defined configurable schema generators for reflection and kotlinx-serialization
    • kotlinx-serialization schema generator can be configured using the kotlinx "Json" object (also used for serializing real ktor requests and responses)
    • added pre-defined custom analysis and schema generation modules (SchemaGenerator.TypeOverwrites.XYZ) for common types
    • remove old "type overwrites" (no longer necessary due to more powerful and flexible schema generator)
  • example encoding

    • renamed typealias ExampleEncoder to GenericExampleEncoder
    • moved default example encoder to ExampleEncoder.internal
    • moved kotlinxExampleEncoder to ExampleEncoder.kotlinx
    • create pre-defined configurable example encoders for internal swagger encoder and kotlinx-serialization
    • kotlinx-serialization example encoder can be configured using the kotlinx "Json" object (also used for serializing real ktor requests and responses)
  • added support for ReDoc as new library

  • added missing configuration options for Swagger UI

  • added basic support for documenting webhooks

  • upgrade schema-kenerator to 2.1.0

  • upgrade ktor to 3.1.1

  • overhauled documentation (https://smiley4.github.io/ktor-openapi-tools/latest/)

4.1.6

29 Jan 21:22
Compare
Choose a tag to compare
  • fixed bug: schemas of headers in multipart bodies were not generated correctly and caused exceptions
  • added required property to multipart parts

5.0.0-beta.2

15 Jan 23:12
Compare
Choose a tag to compare
5.0.0-beta.2 Pre-release
Pre-release
  • added support for redoc (ktor-redoc-project)

4.1.5

15 Jan 16:22
Compare
Choose a tag to compare
  • fix bug: plugin configuration not merged correctly when using multiple openapi-specs (some changes in main config did not apply to specific spec configs)
  • fix bug: multipart-body used the old schema type-property instead of types, resulting in a broken schema
  • fixed examples: multipart-body examples used the old schema type-property instead of types, resulting in a broken schemas

4.1.4

12 Jan 11:49
Compare
Choose a tag to compare
  • fixed: root path set via application.rootPath = "..." was ignored in openapi

4.1.3

11 Jan 14:11
Compare
Choose a tag to compare
  • upgraded schema-kenerator from 1.6.2 to 1.6.3

3.6.1

11 Jan 13:46
Compare
Choose a tag to compare
  • upgraded schema-kenerator from 1.5.0 to 1.5.1

5.0.0-beta.1

09 Jan 22:56
Compare
Choose a tag to compare
5.0.0-beta.1 Pre-release
Pre-release
  • split project into submodules: ktor-openap and ktor-swagger-ui
    • "ktor-openapi" plugin is responsible only for generating and providing an openapi-file
      • no longer install(SwaggerUI) but now install(OpenApi)
      • can be used without the swagger-ui dependency
    • "ktor-swagger" library to provide routes to server swagger-ui for any openapi-file (based on given url)
      • can be used with any openapi file or generator
    • this split allows for more flexibility and new features using openapi-files without swagger-ui (e.g. redoc)
  • cleanup package structure, naming, configuration
    • shorter and cleaner package names
    • shorter and more uniform class names
    • slightly simpler configuration dsl
    • made all internal classes actually "internal" -> less namespace pollution

4.1.2

14 Dec 14:27
Compare
Choose a tag to compare
  • upgrade schema-kenerator from 1.6.1 to 1.6.2

4.1.1

11 Dec 21:49
Compare
Choose a tag to compare
  • upgrade schema io.swagger.parser.v3:swagger-parser from 2.1.20 to 2.1.24
  • upgrade schema-kenerator from 1.6.0 to 1.6.1