Skip to content

Releases: everit-org/json-schema

Classpath-aware schema client, pre-registered schemas & bugfixes

22 Jan 20:37
Compare
Choose a tag to compare

Improvements:

  • built-in SchemaClient implementation for using resources on the classpath
  • using maven-source-plugin and maven-javadoc-plugin - contributed by @jklukas
  • adding SchemaException#toJSON()
  • pre-defining schemas by their arbitary URIs before loading via SchemaLoaderBuilder#registerSchemaByURI() (requested in #38 and #212)

Bugfixes:

  • correcting schema location of ReferenceSchemas (reported in #233 )
  • fixing Schema#toString() calls throwing an exception when the schema has a "title" or "description"
  • fixing a bug causing remote-loaded schemas to loose their origins as context "$id"s - reported in #260
  • fixing remote schemas not taking into account some loader settings (regexFactory and useDefaults)

Android compatibility & ValidationListener

15 Dec 00:12
Compare
Choose a tag to compare

Improvements:

  • fixing android compatibility
  • adding ValidationListener support - requested in #237
  • tracking unprocessed schema properties (returned by Schema#getUnprocessedProperties()) - requested in #241
  • using japicmp instead of semver enforcer to verify API backward compatibility

Maintenance release

29 Sep 16:55
Compare
Choose a tag to compare

This release comes with a couple of improvements and bugfixes to make the library easier to use, there is no new big feature introduced.

Improvements:

  • dependency version cleanup & removing guava - contributed by @snazarenko67
  • EnumSchema now keeps the order of possible values as they were listed in the schema JSON - contributed by @cyqw
  • schema loading: using the explicitly set spec version when loading schemas which have a "$schema" value but it doesn't point to any supported specification versions
  • adding some type checking of subject under validation

Bugfixes:

  • avoiding possible NPE in ValidationException#hashCode()
  • properly handling Number subtypes in "number" keyword validation (AtomicLong, AtomicInteger, BigDecimal and BigInteger) - fixed by @EXPEaneparaczki
  • typo fixes in the readme - contributed by @0xflotus

Using configured RegExp implementation in patternProperties

18 Jun 21:53
Compare
Choose a tag to compare

Bugfix:

  • updating "patternProperties" handling to use the configured regexp implementation instead of hard-coded RE2J

Improved RegEx support

07 Jun 14:52
Compare
Choose a tag to compare

Improvements:

  • configurable RegExp implementations (java.util.regex or RE2J) (regression reported in #156 )

Bugfixes:

  • fixing bug related to "format" handling in referred schemas (reported in #160)
  • properly handling "$schema" values in root documents of referred schemas (reported in #164)
  • fixing exception thrown for unrecognized "$schema" values (reported in #170)
  • fixing missing SchemaException#schemaLocation property when an unrecognized "type" value is found (reported in #168)
  • fixing "$ref" resolution for json pointers which' document-relative part is the same but they point to different schema documents
  • fixing a long-standing problem of keywords belonging to separate schema classes being used in the same schema json object (reported in #184 , #174 , #116 , #87 and maybe more)

Draft 7 support

04 Mar 22:58
Compare
Choose a tag to compare

This is a fairly big release, coming with support of the Draft-07 version of the JSON Schema Core and Validation specifications.

Special thanks for @zgyorffi for his contribution to this release.

Improvements

  • supporting JSON Schema Draft 07
  • improving regular expression performance by using re2j - thanks for @rkeytacked

Bugfixes

  • fixing custom format handling in schemas referring to external schemas - reported in #152 , fixed by @hansmire
  • fixing a bug related to the validation of combined schemas in early failure mode

Default values and early failing mode

24 Jan 21:52
Compare
Choose a tag to compare

Improvements

  • supporting the "default" keyword
  • adding an early-failing validation mode

Bugfixes

  • fixing null handling as a possible enum value - reported in #126
  • fixing regression in "uri" format validation in draft-v4 mode, thanks for @lmontrieux for the bugfix
  • fixing ConstSchema#toString() implementation - reported in #138

Numbers, numbers

14 Nov 19:58
Compare
Choose a tag to compare

This is a maintenance release, the library got much better in terms of numbers:

  • fixed collecting all schema violations while validating against number schemas, contributed by @adyach in #118
  • massive validation performance improvements carried out by @lmontrieux in #119

JSON Schema Draft 6 support

20 Jul 22:21
Compare
Choose a tag to compare

Improvements

  • implementing JSON Schema Draft 6
  • tracking schema location and including it in SchemaExceptions
  • including violated sub-schema location in ValidationException instances - requested in #51 and #93

Bugfixes

  • removing invalid "type":"enum" property while printing EnumSchema instances - reported in #87
  • fixing NPE while processing empty "dependencies" object - reported in #85

Maintenance release

24 Mar 12:11
Compare
Choose a tag to compare

This is a small bugfix release fixing the following problems:

  • maxItems error message was incorrectly generated - reported in #78
  • replacing integration test for issue #25 with a new testcase not affected by Creative Commons License - requested in #80