Skip to content

Releases: victools/jsonschema-generator

3.4.0 – Minor Extension for Convenience in Module Definitions

29 Nov 21:28
Compare
Choose a tag to compare

Added

  • Introduce convenience function MemberScope.getAnnotationConsideringFieldAndGetter(Class)

3.3.0 – Jackson Dependency Update to 2.10.0

25 Oct 19:13
Compare
Choose a tag to compare

Fixed

  • Increase dependency version for jackson-databind (and jackson-core) to resolve security alerts.
  • Avoid unnecessary quotes when representing constant string values (due to changed behaviour in jackson >=2.10.0)

This is a minor (instead of a patch) release due to the necessary change in behaviour for the Option.FLATTENED_ENUMS.

3.2.0 – Additional Property Support

01 Sep 10:38
Compare
Choose a tag to compare

Added

  • In SchemaGenerator.generateSchema(Type) also allow passing type parameters via SchemaGenerator.generateSchema(Type, Type...).
  • Support for "required" property via SchemaGeneratorConfigPart.withRequiredCheck() (PR #5).
  • Support for "default" property via SchemaGeneratorConfigPart.withDefaultResolver() (PR #5).
  • Support for "pattern" property via SchemaGeneratorConfigPart.withStringPatternResolver() (Issue #9).

3.1.0 – Minor Enhancement and Bug Fixes

18 Jun 19:46
Compare
Choose a tag to compare

Changed

  • Use Class.getTypeName() instead of Class.getName() in TypeContext.getFullTypeDescription().

Added

  • In TypeContext.resolve(Type) also allow passing type parameters via TypeContext.resolve(Type, Type...).

Fixed

  • NullPointerException on MemberScope representing void methods.
  • IndexOutOfBoundsException when determining container item type of raw Collection.

3.0.0 – Simplified Configuration API

10 Jun 20:38
Compare
Choose a tag to compare

Changed

  • Simplify configuration API to be based on FieldScope/MethodScope respectively.
  • Consolidate some utility functions into FieldScope/MethodScope.
  • Consolidate logic for determining whether a type is a container into TypeContext.
  • Consolidate naming logic for schema "definitions" into TypeContext.
  • Add TypeContext argument to CustomDefinitionProvider interface.
  • Remove SchemaGeneratorConfig argument from InstanceAttributeOverride interface.

Added

  • Allow for sub-typing of FieldScope/MethodScope and TypeContext (in case offered configuration options are insufficient).

Removed

  • Remove support for Option.GETTER_ATTRIBUTES_FOR_FIELDS and Option.FIELD_ATTRIBUTES_FOR_GETTERS, rather let configurations/modules decide individually and avoid potential endless loop.

2.0.0 – Type Resolution API Change

06 Jun 22:36
Compare
Choose a tag to compare

Changed

  • Removed own/custom ype resolution and replaced it with org.fasterxml:classmate dependency.
  • Adjusting configuration API to use classmate references for types/fields/methods.

Fixed

  • Ignore complex constant values that may not be properly representable as JSON.

1.0.2 – Increase jackson-databind dependency version

30 May 20:32
Compare
Choose a tag to compare
  • Bumping jackson-databind dependency version to 2.9.9 to benefit from fix for security alert.

1.0.1 – Dependency Fix Release

19 May 20:01
Compare
Choose a tag to compare

Fixed

  • Specified "test" scope for dependency on jsonassert.

1.0.0 – Base Release

18 May 06:16
b679d91
Compare
Choose a tag to compare
  • Reflection-based JSON Schema Generator.
  • Support of generics and the resolution of their type boundaries in the respective scope.
  • Inclusion of any fields and public methods in a generated JSON Schema.
  • Ability to define a fixed JSON Schema per type (e.g. for determining how to represent primitive types).
  • Ability to customise various aspects of schema generation and assigned attributes.
  • Concept of modules (e.g. for sub-libraries) to define a single entry-point for applying individual configurations.
  • Standard enum of common configuration options.
  • Specific handling of enums (two alternatives via standard options).
  • Specific handling of optionals (two alternatives via standard options).
  • Pre-defined sets of standard options to cover different use-cases and simplify library usage.