Skip to content

Releases: leadpony/justify

v0.15.0

31 Mar 05:09
Compare
Choose a tag to compare

0.15.0 - 2019-03-31

Added

  • New JsonValidatorFactoryBuilder interface for building configured instances of JsonParserFactory or JsonReaderFactory.
  • Support of default keyword in the validations. The missing properties and/or items in the source instances are filled with the default values provided by the keyword. Both JsonParser and JsonReader support this feature. JsonParser produces additional events caused by the default values and JsonReader expands objects and arrays with the additional values. This feature is disabled by default and can be enabled explicitly by withDefaultValues() in JsonValidatorFactoryBuilder.

Fixed

  • The bug which was causing getArrayStream(), getObjectStream(), and getValueStream() in JsonParser to throw wrongly UnsupportedOperationException in the case that they should throw IllegalStateException. (Issue #10)

v0.14.0

31 Mar 05:25
Compare
Choose a tag to compare

0.14.0 - 2019-03-18

Added

  • getPointer() method in Problem interface which provides the location of the problem in the JSON instance as a JSON pointer. (Proposed originally by @mshaposhnik and the implementation is supported by @erdi)
  • ProblemPrinterBuilder interface to build configured problem printers, such as printers with problem locations omitted.
  • JsonValidationService#createProblemPrinterBuilder() to create instances of ProblemPrinterBuilder.

Changed

  • New problem printer outputs the messages including JSON pointers in addition to line and column numbers by default.
  • The evaluation of uniqueItems keyword is now deferred until the end of the array.
  • The evaluation of false boolean schema for properties, patternProperties, and additionalProperties keywords is now deferred until the value of the property.

Fixed

  • Fix broken Javadoc links to the JDK.

v0.13.0

27 Feb 13:15
Compare
Choose a tag to compare

0.13.0 - 2019-02-27

Added

  • JsonSchemaReaderFactoryBuilder#withCustomFormatAttributes() method for deactivating custom format attributes.
  • [CLI] Options to resolve remote schema references. (Issue #4 proposed by @kerrykimbrough)

Changed

  • [CLI] Revised completely with new syntax.

v0.12.0

08 Feb 13:18
Compare
Choose a tag to compare

0.12.0 - 2019-02-08

Added

  • JsonSchema#containsKeyword() which tests whether a schema contains the specified keyword or not.
  • JsonSchema#defaultValue() which returns the value of the "default" keyword.
  • JsonSchema#hasAbsoluteId() which tests whether a schema has an "$id" whose value is an absolute URI.
  • JsonSchema#getInPlaceSubschemas() which returns the subschemas which will be applied to the same instance location as the owning schema.
  • Detection of infinite recursive looping while reading schemas.

Changed

  • JsonSchema#subschemas() and subschemaAt() were renamed to getSubschemas() and getSubschemaAt(), respectively.

Fixed

  • A bug which was causing JsonSchemaReader to throw a ClassCastException when the schema has both "$id" and "$ref" keywords. (Issue #2 reported by @avstp)
  • A bug which was causing the evaluation result of "if"/"then"/"else" keywords to be ignored when the instance is a JSON object or a JSON array.

v0.11.0

26 Jan 13:47
Compare
Choose a tag to compare

0.11.0 - 2019-01-26

Added

  • comment(), title() and description() methods to JsonSchema interface
    to obtain the keyword value respectively.
  • JsonSchemaReaderFactory and JsonSchemaReaderFactoryBuilder as API interfaces.
  • JsonSchemaReaderFactoryBuilder#withStrictWithKeywords().
    With this option enabled, the schema reader reports a problem when it
    encounters an unrecognized schema keyword.
  • JsonSchemaReaderFactoryBuilder#withStrictWithFormats().
    With this option enabled, the schema reader reports a problem when it
    encounters an unrecognized format attribute.
  • [CLI] -strict option which forces the schema validator to report
    a problem when it finds an unrecognized keyword or format attribute.
    This is useful for detecting misspelled keywords and format attributes.

Changed

  • Move withSchemaResolver() method in JsonSchemaReader to JsonSchemaReaderFactoryBuilder interface.
  • BranchProblem interface was merged with Problem interface and removed.

Fixed

  • A bug which was causing JSON schemas to be valid even if they are unclosed JSON objects.

v0.10.0

02 Jan 11:04
Compare
Choose a tag to compare

0.10.0 - 2019-01-02

Added

  • Support of contentEncoding and contentMediaType keywords.

Changed

  • Rename schemaId() to schema() in JsonSchema.
  • Rename withItem() to withItems() in JsonSchemaBuilder.

Fixed

  • A bug which was causing definitions/dependencies/patternProperties/properties to disappear from the read schema when they are empty.

v0.9.1

22 Dec 04:26
Compare
Choose a tag to compare

0.9.1 - 2018-12-22

Fixed

  • A problem in Java 9/10.

v0.9.0

10 Dec 12:54
Compare
Choose a tag to compare

0.9.0 - 2018-12-10

Added

  • First release to the Maven Central Repository.