Releases: everit-org/json-schema
Releases · everit-org/json-schema
Classpath-aware schema client, pre-registered schemas & bugfixes
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
anduseDefaults
)
Android compatibility & ValidationListener
Maintenance release
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
andBigInteger
) - fixed by @EXPEaneparaczki - typo fixes in the readme - contributed by @0xflotus
Using configured RegExp implementation in patternProperties
Bugfix:
- updating
"patternProperties"
handling to use the configured regexp implementation instead of hard-coded RE2J
Improved RegEx support
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
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
Default values and early failing mode
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
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