All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- update the README.md to indicate that 202012 version is only partially supported.
- fixes #668 handle references to yaml sub-schemas. Thanks @danfelicetta-RL
- fixes #664 Provide/unify schema path for applicator schemas. Thanks @htdan
- fixes #666 Clarify usage of Apache commons lang in README.md. Thanks @loadedice
- fixes #663 Use full schema path to look up type validators for anyOf operator. Thanks @pshevche
- fixes #661 Make DependentRequired error message more helpful. Thanks @bernie-schelberg-mywave
- fixes #637 Setup CI based on GH Actions. Thanks @valfirst
- fixes #635 add persian language to json validator. Thanks @mahdimalverdi
- upgrade jackson to 2.14.2
- fixes #651 Map BinaryNodes to type string. Thanks @k-oliver
- fixes #649 Improve logging performance. Thanks @valfirst
- fixes #648 Drop unused test dependency: Mockito. Thanks @valfirst
- fixes #647 Use Javadoc badge with dynamic version instead of plain link in README. Thanks @valfirst
- fixes #646 Add ability to detect spec version optionally. Thanks @valfirst
- fixes #645 Add MavenCentral badge to README. Thanks @valfirst
- fixes #644 Improve example of Gradle dependency in README. Thanks @valfirst
- fixes #643 Make sure all constants are static final. Thanks @valfirst
- fixes #642 Remove unused fields from JsonSchemaVersion. Thanks @valfirst
- fixes #641 Improve error messages on spec version detection. Thanks @valfirst
- fixes #640 Update build badge from README to point GH Actions CI. Thanks @valfirst
- fixes #639 Drop Travis CI config. Thanks @valfirst
- fixes #638 Restore code coverage calculation. Thanks @valfirst
- fixes #636 Adding tests for overriding error messages at schema level for individual keywords. Thanks @anjnerajat
- fixes #634 Quick fix for issue causing the wrong custom message to be used. Thanks @chaosape
- fixes #627 custom message for format. Thanks @vickyrathod
- fixes #629 adding new walk method to start walking from a specific part of a given schema node. Thanks @prashanthjos
- fixes #628 schema path fixes in oneOf,allOf and anyOf validators. Thanks @prashanthjos
- upgrade undertow to 2.3.0.Final
- upgrade jackson to 2.14.0
- fixes #620 upgrade commons-lang3 to 3.12.0
- fixes #619 Add support for subschema references in getSchema. Thanks @aznan2
- fixes #626 Correcting the oneOf,anyOf and allOf child schema validators. Thanks @prashanthjos
- fixes #617 Beautify code blocks. Thanks @limboinf
- fixes #614 Update spec version tests. Thanks @tuncererdogan
- fixes #613 Update the specversion.md and pom.xml. Thanks @tuncererdogan
- fixes #593 Add validator for duration format. Thanks @iouakrim
- upgrade undertow to 2.2.18.Final to 2.2.19.Final
- fixes #563 Support adding custom message at attribute level. Thanks @makeItEasyQ
- fixes #606 Handle matched state in AnyOfValidator. Thanks @sgerke-1L
- fixes #598 Add italian translation. Thanks @sbernardo
- fixes #594 Remove commons lang as a compile time dependency. Thanks @agentgt
- fixes #592 Add NonValidationKeyword "else" on 201909 and 202012. Thanks @ionutalex88
- upgrade undertow to 2.2.14.Final to 2.2.18.Final
- fixes #586 Add V202012 to SpecVersionDetector And JsonMetaSchema Thanks @Tuxzx
- fixes #585 Changed data type to preserve order of schema attributes. Thanks @sabarinathan590
- upgrade jackson to 2.13.3
- upgrade logback to 1.2.11
- upgrade slf4j to 1.7.36
- fixes #575 upgrade com.ethlo.time:itu to version 1.7.0 Thanks @jody-mcdonnell
- fixes #380 Add support for draft 2020-12 Thanks @open-abbott
- fixes #582 Fix unevaluatedPropeties with patternProperties and type union. Thanks @jkevan
- fixes #558 Add French translation for validation messages. Thanks @sebastienrospars
- fixes #535 part 2 fix the same issue in AnyOfValidator. Thanks @AndreasALoew
- fixes #570 Upgrade javadoc plugin. Thanks @poorguy-tech
- fixes #569 Fix broken tests on non-english setup. Thanks @dreis2211
- fixes #566 Remove unused variable in JsonNodeUtil. Thanks @dreis2211
- fixes #565 Improve performance of URLFactory.create. Thanks @dreis2211
- fixes #561 Prevent from throwing an exception when setting default values. Thanks @josejulio
- fixes #534 Adding Unevaluated properties keyword. Thanks @prashanthjos
- fixes #554 removed unnecessary check. Thanks @harishvashistha
- fixes #555 Setting default value even if that value is null. Thanks @harishvashistha
- fixes #544 Fixing unevaluated properties with larger test base. Thanks @prashanthjos
- fixes #552 Add schemaPath to ValidationMessage. Thanks @ymszzq
- fixes #541 Allow fetching properties from map with comparator. Thanks @0x4a616e
- fixes #534 Adding Unevaluated properties keyword. Thanks @prashanthjos
- fixes #537 Fix oneOf bug. Thanks @RenegadeWizard and @sychlak
- fixes #511 Improve validation messages (German and default) Thanks @AndreasALoew
- fixes #539 Refactoring-code. Thanks @Sahil3198
- fixes #532 Invalid (non-string) $schema produces NullPointerException. Thanks @christi-square
- fixes #530 Fixed a typo in the validators documentation. Thanks @jontrost
- fixes #529 Updates to German translation. Thanks @rustermi
- fixes #525 Leap seconds are handled even better Thanks @aznan2 and @Matti Hansson
- fixes #524 Fix handling of leap seconds in date-time validation
- fixes #523 synched ipv4 and ipv6 and fix some gaps for the IP format
- fixes #522 synch the official test suite for draft v4 from schema.org
- fixes #509 NPE with oneOf and custom URI Fetcher or Factory
- fixes #508 Make date-time validation align with RFC3339 Thanks @aznan2 and @Matti Hansson
- fixes #519 Preserve # suffix during metaschema URI normalization Thanks @pondzix
- fixes #516 fix the additionalProperties in oneOf failed test cases
- fixes #505 AdditionalPropertiesOneOfFails test Thanks @huubfleuren
- fixes #510 try to reproduce the issue but failed
- fixes #511 Add German validation messages. Thanks @rustermi
- fixes #500 Support fragment references using $anchor @Whathecode
- fixes #496 Improve type validation of integrals. Thanks @christi-square
- fixes #497 Support fragment references using $anchor @carolkao
- fixes #492 Sort ValidationMessage by its type. Thanks @jsu216
- fixes #490 Handle the situation when context class loader is null. Thanks @vti and @Viacheslav Tykhanovskyi
- fixes #489 Fix flakiness in CollectorContextTest. Thanks @pthariensflame
- upgrade to logback 1.2.7 to resolve some x-ray warnnings
- upgrade to undertow 2.2.14 to resolve some x-ray warnnings.
- fixes #488 Fix violations of Sonar rule 2142. Thanks @khaes-kth
- fixes #477 apply default in objects and arrays. Thanks @SiemelNaran
- fixes #485 FailFast should not cause exception on if. Thanks @gareth-robinson
- fixes #483 Add Java Syntax Highlighting to specversion.md. Thanks @JLLeitschuh
- fixes #482 upgrade to joni 2.1.41 to resolve a security concern
- fixes #480 Time format validation supports milliseconds. Thanks @@MatusSivak
- fixes #479 Add dependentRequired and dependentSchemas validators. Thanks @@kmalski
- fixes #470 OneOfValidator give incorrect message when the wrong json element is not the first one in the list. Thanks @jsu216
- fixes #472 fix i18n doesn't work with locale CHINA. Thanks @wyzfzu
- fixes #456 OneOf only validate the first sub schema. This was a defect introduced in 1.0.58 and everyone should upgrade to 1.0.62 if you are using 1.0.58 to 1.0.61.
- fixes #461 1.0.60 Expects type To Be Array. Thanks @bartoszm
- fixes #459 Correcting the ref listeners config in WalkEvent class when fetching the getRefSchema. Thanks @prashanthjos
- fixes #451 walk method for AnyOfValidator not implemented. Thanks @bartoszm
- fixes #450 changed from isIntegralNumber to canConvertToExactIntegral to support. Thanks @mohsin-sq
- fixes #449 Refactor JSON Schema Test Suite tests. Thanks @olegshtch
- fixes #448 Test CI with JDK 11. Thanks @olegshtch
- fixes #447 Bump JUnit version to 5.7.2. Thanks @olegshtch
- fixes #445 JsonValidator: mark preloadJsonSchema as default. Thanks @DaNizz97
- fixes #443 $ref caching issue. Thanks @prashanthjos
- fixes #426 Adding custom ValidatorTypeCodes. Thanks @adilath18
- fixes #439 add i18n support for ValidationMessage. Thanks @leaves615
- fixes #438 Adding custom message support in the schema. Thanks @adilath18
- fixes #436 Relaxation of the discriminator validation. Thanks FWiesner
- fixes #435 Added exampleSetFlag to nonValidationKeyword. Thanks @ShubhamRwt
- fixes #428 A schema with nullable oneOf does not work as expect. Thanks @rongyj
- fixes #429 Update collector-context.md. Thanks @Petapath
- fixes #425 Cannot distinguish the "TextNode" and the "ArrayNode" with single value for oneOf. Thanks @rongyj
- fixes #423 make sure additionalPropertiesSchema is not null in AdditionalPropertiesValidator. Thanks @flozano
- fixes #421 Wrong validation of MultipleOfValidator. Thanks @ubergrohman
- fixes #418 201909 false flag keywords additonalItems and then. Thanks @pgalbraith
- fixes #416 Circular $ref occurrences with schema.initializeValidators() lead to StackOverflowError. Thanks @FWiesner
- fixes #414 Simplify the uri format validation regexp. Thanks @vmaurin
- fixes #411 uri format regexp is fixed to support empty fragment and query string. Thanks @vmaurin
- fixes #408 uri format regexp is validating invalid URI. Thanks @vmaurin
- fixes #406 Behavior change of $ref resolution. Thanks @FWiesner
- fixes #400 Introduce forceHttps flag in JsonSchemaFactory.Builder. Thanks @hisener
- fixes #398 Two issues with OpenAPI 3 discriminators. Thanks @FWiesner
- fixes #396 Implement propertyNames in terms full schema validation. Thanks @JonasProgrammer
- fixes #392 NPE due to concurrency bug. Thanks @Keymaster65
- fixes #391 override default EmailValidator, if set custom email format. Thanks @whirosan
- fixes #390 Add discriminator support. Thanks @FWiesner
- fixes #387 Resolve the test case errors for TypeFactoryTest
- fixes #385 Fixing concurrency and compilation issues. Thanks @prashanthjos
- fixes #383 Nested oneOf gives incorrect validation error. Thanks @JonasProgrammer
- fixes #379 Add lossless narrowing convertion. Thanks @hkupty
- fixes #378 Upgrade Jackson to 2.12.1 and Undertow to 2.2.4.Final
- fixes #375 PropertyNames to return validator value on error. Thanks @Eivyses
- fixes #335 Fixed parallel processing. @Thanks @mweber03
- fixes #326 pattern validation for propertyNames. @Thanks @LeifRilbeATG
- fixes #366 Fast fail issue with One Of Validator. Thanks @Krishna-capone
- fixes #368 Fixing Walk Listeners Issues. @Thanks prashanthjos
- fixes #363 Date-time validation fails depending on local time zone. Thanks @ennoruijters
- fixes #362 Date-time validation fails depending on local time zone Thanks @ennoruijters
- fixes #361 Validation of oneOf depends on schema order @Thanks ennoruijters
- fixes #360 add four project links to the README.md
- fixes #354 OneOf validator is not throwing valid error if any of the child nodes has invalid schemas Thanks @prubdeploy
- fixes #351 Add anchor and deprecated as NonValidationKeywords for v2019-09 draft Thanks @anicolasgar
- fixes #340 YAML source location handling Thanks @ascertrobw
- fixes #350 Add builder method that accepts iterable Thanks @wheelerlaw
- fixes #347 NPE at JsonSchema.combineCurrentUriWithIds(JsonSchema.java:90) Thanks @wheelerlaw
- fixes #346 Update docs about javaSemantics flag Thanks @oguzhanunlu
- fixes #345 optimize imports in the src folder
- fixes #343 Improve type validation of numeric values Thanks @oguzhanunlu
- fixes #341 Add contentMediaType, contentEncoding and examples as a NonValidationKeyword Thanks @jonnybbb
- fixes #337 JSON Schema Walk Changes Thanks @prashanthjos
- fixes #336 Adding walk capabilities to networknt. Thanks @prashanthjos
- fixes #332 Bump junit from 4.12 to 4.13.1
- fixes #329 JRuby Joni dependency and its dependencies
- fixes #328 Add $comment as a NonValidationKeyword for v7 and v2019 drafts. Thanks @kmalski
- fixes #324 Generate module-info, fix build on JDK11 Thanks @handcraftedbits
- fixes #323 FIX: potential duplicate log entry due to race condition Thanks @kkonrad
- fixes #319 resolve a java doc warning in CollectorContext
- fixes #317 Compatible with Jackson 2.9.x. Thanks @pan3793
- fixes #315 implement propertyNames validator for v6, v7 and v2019-09
- fixes #311 Split the PatternValidator into 2 classes. Thanks @Buuhuu
- fixes #307 Make runtime dependency to org.jruby.joni:joni optional. Thanks @Buuhuu
- fixes #305 Automatically determine schema version from schema file. Thanks @Subhajitdas298
- fixes #297 ValidationContext using is not correct in UUIDValidator. Thanks @qiunju
- fixes #294 fixes unknownMetaSchema error with normalized URI
- fixes #289 Adding getAll method on CollectorContext class. Thanks @prashanthjos
- fixes #281 EmailValidator use ValidatorTypeCode Datetime
- fixes #280 NullPointerException in regex pattern validation if no SchemaValidatorsConfig is passed. Thanks @waizuwolf
- fixes #273 make the getInstance() deprecated
- fixes #258 Cyclic dependencies result in StackOverflowError. Thanks @francesc79
- fixes #272 Use ECMA-262 validator when requested. Thanks @eirnym
- fixes #268 Collector Context changes to handle simple Objects. Thanks @prashanthjos
- fixes #266 reformat the code and resolve javadoc warnnings
- fixes #264 Handling JSONPointer (URI fragment identifier) with no base uri. Thanks @rzukowski
- fixes #255 Dereferencing subschemas by $id with $ref in the same file does not seem to work. Thanks @rzukowski
- fixes #260 Changes for adding collector context. Thanks @prashanthjos
- fixes #226 Implements contains. Thanks @Asamsig
- fixes #244 Android 6 support. Thanks @msattel
- fixes #247 Resolve schema id from the schema document (for v6 and above). Thanks @martin-sladecek
- fixes #243 Improve accuracy of rounding with multipleOf. Thanks @seamusv
- fixes #242 add customized fetcher and meta schema doc
- Update description in pom.xml to match readme.md. Thanks @reftel
- fixes #232 update meta schema URI to https
- fixes #229 move the remotes to resource from draftv4
- fixes #228 support boolean schema in the dependencies validator
- enable const validator test for v6
- fixes #224 support boolean schema for the item validator
- fixes #222 add document for URL mapping
- fixes #219 Fix for oneOf when not all properties are matched. Thanks @aznan2
- fixes #216 Fix remote ref to follow redirects. Thanks @andersonf
- fixes #214 the if-then-else.json is failed in test for V7 and V2019-09. Thanks @andersonf
- fixes #54 support for draft V6, V7 and V2019-09
- fixes #211 move the current test cases from tests to draft4 folder in the resource
- fixes #208 error when same ref name in different ref files. Thanks @andersonf
- fixes #206 IF-THEN-ELSE Conditional (Draft 7). Thanks @andersonf
- fixes #203 String for Number should fail with the default SchemaValidatorsConfig
- fixes #199 More than a million validation errors crashes the application. Thanks @khiftikhar
- fixes #200 Use with obfuscation.Thanks @complex1ty
- fixes #192 upgrade jackson to 2.9.10
- fixes #190 OneOfValidator cannot validate object with multiple properties.Thanks @ddobrin
- fixes #188 couldnot validate the email format in json schema
- fixes #187 SchemaValidatorsConfig not propagated
- fixes #183 Validation error when field is nullable and consumer sends in a null value. Thanks @ddobrin
- fixes #185 Validation issue in oneOf when elements have optional fields. Thanks @ddobrin
- fixes #182 Jackson-databind vulnerability version update
- fixes #180 Stack overflow when using recursive references, $ref. Thanks @davidvisiedo
- fixes #96 stackOverflowError loading schema file. Thanks @davidvisiedo
- fixes #44 Validator hang on validation. Thanks @davidvisiedo
- fixes #28 Validator hangs on large json data files. Thanks @davidvisiedo
- fixes #13 Cannot get the validation result with self-reference schema. Thanks @davidvisiedo
- fixes #177 OneOf Validator Incorrectly Failing. Thanks @jawaff
- fixes #173 AnyOfValidator ignores all previous validations errors if any of the type does not match. Thanks @grssam
- fixes #174 Insights into performance gains of tuning min/max validators. Thanks @kosty
- fixes #171 Support minimum/maximum on quoted numerals. Thanks @kosty
- fixes #166 Allow using URN and not just URLs. Thanks @jawaff
- fixes #160 when schema type is integer but max/min value is a float point number. Thanks @BalloonWen
- fixes #163 update typeLoose to false as before merging the PR 141
- fixes #162 bump up java version to 1.8
- fixes #141 Improved Ref Validator. Thanks @jawaff
- fixes #158 date-time format should consider colon in timezone optional. Thanks @chuwy
- fixes #155 Fix date-time validation. Thanks @jiachen1120
- fixes #151 add validation for string type uuid. Thanks @chenyan71
- fixes #138 validation of date fields. Thanks @jiachen1120
- fixes #147 Fails to validate MIN and MAX when number type is converted to BigInteger. Thanks @jiachen1120
- fixes #145 Fix bug parsing array query params when only one item present. Thanks @jiachen1120
- fixes #142 validation for enum object type. Thanks @jiachen1120
- fixes #136 Maps of URLs can have performance impacts. Thanks @rhwood
- fixes #134 $ref external schema references do not use URL mappings. Thanks @rhwood
- fixes #140 Convert double to BigDecimal in MultipleOfValidator to make the validation more accurate. Thanks @jiachen1120
- fixes #132 minimum/maximum validation of integral numbers prone to overflow. Thanks @kosty
- fixes #123 Add link to Javadocs. Thanks @rhwood
- fixes #127 update license copyright and add NOTICE
- fixes #125 feat: Add URL mappings. Thanks @rhwood
- fixes #119 Almost JSON-spec compliant validation of numeric values. Thanks @kosty
- fixes #120 Update the version in the README.md file. Thanks @chenyan71
- fixes #116 Fail to validate numeric and Integer in TypeValidator. Thanks @jiachen1120
- fixes #114 LocalDateTime validation error. Thanks @chenyan71
- fixes #113 Fixed validation for path parameters and query parameters. Thanks @jiachen1120
- fixes #112 AnyOfValidator: only return expectedTypeList if not empty. Thanks @c14s
- fixes #111 Validation failure for optional field in a schema - in the PropertiesValidator. Thanks @ddobrin
- fixes #110 Validation Error when using OneOf in OpenAPI specs. Thanks @ddobrin
- fixes #108 v0.1.24 error on array union type. Thanks @nitin456
- fixes #107 Fix for perfomance issue Thanks @nitin456
- fixes #106 Fix for enable loose type validator for REST Thanks @BalloonWen
- fixes #105 temporary fix to performance issue. Thanks @nitin456
- fixes #103 Boolean type validation for the string type is incorrect
- fixes #101 enhance TypeValidator trying to convert type from TEXT
- fixes #94 Fix min/max error message of integer fields displayed as doubles. Thanks @NicholasAzar
- fixes #93 Adding support for nullable fields. Thanks @NicholasAzar
- fixes #85 Update version in maven dependnecy sample. Thanks @banterCZ
- fixes #89 Added example for custom keywords in tests. Thanks @Klas Kalaß
- fixes #90 Remove unused dependency to slf4j-ext due to security issue. Thanks @Thorbias
- fixes #91 update one test case to ensure compatibility of Java 6
- fixes #92 rollback type validator for null value as it is against spec.
- fixes #84 remove Java 8 optional to ensure that this library can be Java 6 compatible. Thanks @johnygeorge
- fixes #81 java.lang.NoClassDefFoundError: Failed resolution of: Ljava/util/Optional. Thanks @johnygeorge
- fixes #83 upgrade to undertow 1.4.23.Final in sync with other repo
- Fixes #80 upgrade to jackson 2.9.5 and undertow 1.4.20.Final
- Fixes #77 One of was broken - it did not fail when there were no valid schemas. Thanks @kkalass
- Fixes #76 Make remaining JsonSchema constructors public. Thanks @kkalass
- Fixes #72 build JAR with OSGi support. Thanks @lichtin
- Fixes #71 Github Quickstart section out-of-date. Thanks @lichtin
- Fixes #62 Correct behavior when both allOf and type are present. Thanks @ehrmann
- Fixes #70 Minor optimizations. Thanks @ehrmann
- Fixes #65 enhance day validation regex for date format. Thanks @chenyan71
- Fixes #64 Add simple tests for ValidatorTypeCode. Thanks @ehrmann
- Fixes #61 Restore validator type code from value. Thanks @ehrmann
- Fixes #53 Optimization for OneOf. Thanks @kkalass
- Fixes #52 References that cannot be resolved should be treated as an error. Thanks @kkalass
- Fixes #51 Resolve sub schema node only if really needed. Thanks @kkalass
- Fixes #50 Support custom meta schemas with custom keywords and formats. Thanks @kkalass
- Fixes #49 Use LinkedHashSets for ValidationMessages. Thanks @ehrmann
- Fixes #48 Remove unnecessary todo. Thanks @ehrmann
- Fixes #47 Change access modifiers in ValidationMessage. Thanks @ehrmann
- Fixes #45 Added test case for loading schemas from classpath. Thanks @kenwa
- Fixes #43 Load reference schemas from classpath is supported. Thanks @kenwa
- Release the library in Java 6 as there are still developer using it. Thanks @basinilya
- Fixes #37 adding relative $ref url. Thanks @eskabetxe
- Recursive load fix #36 Thanks @thekensta
- Fixes #25 Enable Undertow server to test remote schemas
- Add test with id schema as url Thanks @eskabetxe
- If schema not valid to oneOf, added all errors. Thanks @eskabetxe
- Fixes #20 added default messages to empty messages on ValidatorTypeCode. Thanks @eskabetxe
- Fixes #22 only check subschema if distinct from schema, and minor changes. Thanks @eskabetxe
- Fixes #24 update dependencies versions. Thanks @eskabetxe
- Fixes #19 make undertow test scope
- Fixes #6 Match subsequence instead of entire input sequence. Thanks @mspiegel
- Sycn with official test suites and documented failed test cases.
- Fixes #4 MinLength and MaxLength validator for unicode string. Thanks for @dola to point me to the right direction.
- Broken escaping in pattern for uris #1
- First version