Skip to content

Changelog

SMILEY4 edited this page Nov 17, 2024 · 10 revisions

1.6.0

  • added core annotations to specify schema 'type' and 'format': @Schema, @Type. Can be added on classes and fields
  • exposes swagger library via gradle "api"
  • swagger compilation step treats both openapi30 type and openapi31 types as valid types
  • fixed bug: NPE during swagger compile inline step when using classes that have a nullable sealed class property

1.5.0

1.4.3

  • fixed: swagger enum types were missing type "string"

1.4.2

1.4.1

  • fix bug: wrong formatting with swagger TitleType/PathType "OPENAPI_FULL" and "OPENAPI_SIMPLE"

1.4.0

  • added step renameProperties to rename properties (including support for kotlinx-serialization JsonNamingStrategy)

  • support for discriminators

    • addDiscriminatorProperty-step to add discriminator property with specified name to all types with subtypes
    • addJacksonTypeInfoDiscriminatorProperty-step to add discriminator property with name specified by jackson JsonTypeInfo-annotation to all types with subtypes
    • addJsonClassDiscriminatorProperty-step to add discriminator property with name specified by kotlinx-serialization JsonClassDiscriminator-annotation to all types with subtypes
    • discriminator property is included in swagger schema-generation
  • add project schema-kenerator-validations with support for javax and jackarta validation annotation in swagger-schemas

    • supported jakarta annotations:
      • NotNull
      • NotEmpty
      • NotBlank
      • Size
      • Min
      • Max
    • supported javax annotations:
      • NotNull
      • NotEmpty
      • NotBlank
      • Size
      • Min
      • Max
  • annotations on constructor parameters are added to annotations of matching property

  • handle nullability of fields according to openapi 3.1.0, e.g. nullable string as type: ["string", "null"]

  • fixed bug: required-annotation is ignored when all fields of a class would be nullable/optional

  • fixed bug: nullpointer-exception (see issue #22)

1.3.0

please ignore this version - i messed up during release here

1.2.3

  • fix issues with nullability of fields

1.2.2

  • fixed bug: wrong format for openapi TitleType and RefType

1.2.1

  • fixed bug: wrong format for TitleType.OPENAPI_SIMPLE

1.2.0

  • added TitleType.OPENAPI_SIMPLE, TitleType.OPENAPI_FULL, RefType.OPENAPI_SIMPLE, RefType.OPENAPI_FULL as options for swagger that generate results confirming to the openapi-spec
  • RefType.OPENAPI_FULL replaces RefType.FULL as the default for swagger schemas
  • renames step withAutoTitle(...) to withTitle(...)
  • step withTitle(...) can take a builder function to provide a custom title
  • step compileReferencing(...) and compileReferencingRoot(...) can take a builder function to provide a custom path
  • fixed bug: redirecting to nullable types did not work correctly

1.1.1

  • fixed bug: swagger example property not set correctly. Used examples instead of example.
  • fixed bug: exception when using Schema-annotation with blank minimum and maximum
  • fixed bug: Default-annotation not handled for properties (swagger and json-schema)

1.1.0

  • added steps customizeTypes and customizeProperties for easier manual customization of json-schema and swagger-schema

  • added support for optional properties

    • detect optional parameters (non nullable, but with a default value provided)
    • handle in schema generation step as required or non required (configurable)
  • added support for inline value classes

    • detect value classes
    • inline "wrapped" type in schema generation
  • added config option knownNotParameterized for type processing with kotlinx-serialization to manually prevent single type appearing multiple times in some setups

  • added support for annotations with kotlinx-serialization

  • fixed: type redirects not working with kotlinx-serialization

  • fixed: exception when qualified name is missing, e.g. for local classes

1.0.0

  • 🥳

0.4.0

  • reworked naming of steps to be more consistent and clearer
  • detect whether a collection allows only unique elements (i.e. is a set) and include uniqueItems in json and swagger schema generation
  • implemented type redirects to allow processing a custom type instead of the real one
  • fix: exception when filtering members of some types
  • fix: exception when processing type parameters of some types

0.3.0

  • merge annotations from kotlin property and java field to fix annotations not being able to be detected
  • add support for Jackson annotations
    • @JsonPropertyDescription
    • @JsonIgnore
    • @JsonIgnoreType
    • @JsonIgnoreProperties
    • @JsonProperty
  • add support for swagger annotations
    • @Schema
    • @ArraySchema
  • add new step to merge getters with their properties

0.2.0

  • added SchemaName annotation to "rename" types (qualified and simple name)
  • added options to choose whether to use the name or the toString-function for enum constants
  • fix type parameters missing for maps and collections
  • fix schema reference paths
  • improved dsl of custom processors

0.1.1

  • fixed bug with typeId parser
  • fixed build config

0.1.0

  • initial version