1# Change Log 2All notable changes to this project will be documented in this file. 3 4This format is based on [Keep a Changelog](http://keepachangelog.com/). 5 6This project does not adhere to [Semantic Versioning](https://semver.org/) and minor version changes can have incompatible API changes. These incompatible API changes will largely affect those who have custom validator or walker implementations. Those who just use the library to validate using the standard JSON Schema Draft specifications may not need changes. 7 8## [Unreleased] 9 10### Added 11 12### Changed 13 14## 1.4.0 - 2024-03-16 15 16### Added 17 18### Changed 19 20- Explicitly handle if the discriminator property value is null (#988) Thanks @justin-tay 21- Refactor walk (#986) Thanks @justin-tay 22- Fixes uri, uri-reference, iri, iri-reference formats and does iri to uri conversion (#983) Thanks @justin-tay 23- Support custom vocabularies and unknown keyword and meta-schema handling (#980) Thanks @justin-tay 24- Fix message (#975) Thanks @justin-tay 25- Make ethlo excludable (#974) Thanks @justin-tay 26 27## 1.3.3 - 2024-02-19 28 29### Added 30 31- Support GraalVM and refactor (#972) Thanks @justin-tay 32 33### Changed 34 35- Fixes for discriminator (#971) Thanks @justin-tay 36- Fix validation messages (#969) Thanks @justin-tay 37- Add unevaluatedProperties test (#968) Thanks @justin-tay 38- Reduce memory usage and improve performance (#966) Thanks @justin-tay 39- Set result at the end of schema processing (#963) Thanks @justin-tay 40 41 42## 1.3.2 - 2024-02-07 43 44### Added 45 46### Changed 47 48 49- Update upgrading doc on fail fast (#961) Thanks @justin-tay 50- Improve schema retrieval docs (#959) Thanks @justin-tay 51- Refactor format validation (#958) Thanks @justin-tay 52- Add test for OpenAPI 3.1 schema validation (#956) Thanks @justin-tay 53- Fix patternProperties annotation (#955) Thanks @justin-tay 54- Add test for type integer (#954) Thanks @justin-tay 55- Improve vocabulary support (#953) Thanks @justin-tay 56- Fix resolve (#952) Thanks @justin-tay 57- Locale.ENGLISH should set. (#951) Thanks @justin-tay 58- Fix issues with hierarchy output report (#947) Thanks @justin-tay 59- Add test for type loose for array and update doc for behavior (#946) Thanks @justin-tay 60- Support type loose for multipleOf validator (#945) Thanks @justin-tay 61- Fix for required annotations for evaluation not collected (#944) Thanks @justin-tay 62 63 64## 1.3.1 - 2024-01-31 65 66### Added 67 68### Changed 69 70- fixes #942 Add annotation support refactor keywords to use annotations implement output formats. Thanks @justin-tay 71 72## 1.3.0 - 2024-01-26 73 74### Added 75 76### Changed 77 78- fixes #934 update javadoc and a test case. 79- fixes #931 Support Draft 2020-12 and refactor schema retrieval. Thanks @justin-tay 80- fixes #930 Fix getSchema() anchor fragment lookup. Thanks @justin-tay 81- fixes #929 Upgrade ITU library to version 1.8. Thanks @ethlo 82 83### Upgrade Guide 84 85With #931 implemented, it breaks the API. Users code might need to change in order to move to this version. 86 87## 1.2.0 - 2024-01-19 88 89### Added 90 91### Changed 92 93- fixes #913 Update docs on CollectorContext. Thanks @justin-tay 94- fixes #910 Refactor validation message generation. Thanks @justin-tay 95- fixes #923 Basic test on URI create to improve coverage. Thanks @pradoshtnair 96- fixes #915 Refactor of paths. Thanks @justin-tay 97- fixes #922 Support schema resource. Thanks @justin-tay 98 99### Upgrade Guide 100 101With #915 and #922 implemented, it breaks the API. Users code might need to change in order to move to this version. 102 103## 1.1.0 - 2023-12-15 104 105### Added 106 107### Changed 108 109- fixes #906 Cannot load JSON schemas with URN value in id field. Thanks @martin-sladecek 110- upgrade logback to 1.4.14 111- fixes #896 Refactor to remove ThreadLocal usage. Thanks @justin-tay 112- upgrade slf4j to 2.0.9 113- fixes #900 compile configuration is depricated. Thanks @saurvkmr 114- fixes #898 Escape single quotes in validation messages. Thanks @sdurrenmatt 115- fixes #888 Fix JDK regex support. Thanks @Stephan202 116- fixes #891 fix: make JsonSchemaFactory more thread-safe. Thanks @mpayne-coveo 117- fixes #876 Adapt collector context documentation. Thanks @holgpar 118- fixes #890 Added test cases for not allowed validator, Handled invalid keyword. Thanks @Ketul3012 119- fixes #887 Fix pl_PL message translations. Thanks @brempusz 120- fixes #886 Fix invalid class passed to getLogger. Thanks @brempusz 121- upgrade jackson to 2.15.3 122- fixes #883 docs clarify commons-lang3 exclusion only required for 1.0.81. Thanks @JonasGroeger 123- fixes #866 Fix identation in example in walkers.md. Thanks @bpaquet 124 125### Upgrade Guide 126 127With #896 implemented, it breaks the API. Users code might need to change in order to move to this version. 128 129 130## 1.0.87 - 2023-09-08 131 132### Added 133 134- fixes #852 New resource bundle languages added for issue. Thanks @channaveer1 135 136### Changed 137 138- fixes #837 Use correct namespace URI to pass XML validation. Thanks @@jbliznak 139 140 141## 1.0.86 - 2023-07-05 142 143### Added 144 145- fixes #825 Adds support for $recursiveAnchor and $recursiveRef. Thanks @fdutton 146 147### Changed 148 149- fixes #827 Stops unevaluatedProperties and unevaluatedItems being applied recursively. Thanks @aznan2 150- fixes #834 Always normalize uri keys of JsonSchemaFactory.jsonMetaSchemas on both read and write. Thanks @stacywsmith 151 152 153## 1.0.85 - 2023-06-22 154 155### Added 156 157- fixes #823 Adds support for writeOnly. Thanks @fdutton 158 159### Changed 160 161- fixes #819 Reverts Undertow version to 2.2.25.Final. Thanks @fdutton 162 163 164## 1.0.84 - 2023-06-09 165 166### Added 167 168- fixes #813 Adds support for walking if-then-else. Thanks @fdutton 169- fixes #811 Adds support for walking dependentSchemas. Thanks @fdutton 170 171### Changed 172 173- fixes #816 Ignores fail-fast when evaluating a member of an applicator. Thanks @fdutton 174- fixes #815 Corrects Java's failure to match an end anchor when immediately preceded by a quantifier. Thanks @fdutton 175- fixes #812 Ensures context is reset after validating regardless of which method is used by the client. Thanks @fdutton 176- fixes #809 Ignores siblings of $ref when dialect is Draft 4, 6 or 7. Thanks @fdutton 177- fixes #807 Updates Jacoco configuration to ignore the embedded Apache code. Thanks @fdutton 178- fixes #790 Simplifies how evaluated properties and array items are tracked. Thanks @fdutton 179- fixes #806 Enables unit-tests for refRemote validation. Thanks @fdutton 180- fixes #805 Corrects issue with deserializing JSON Schema Test Suite tests. Thanks @fdutton 181- fixes #801 Support config param to disable custom messages from schema. Thanks @anjnerajat 182- fixes #795 Supports fail-fast when a pattern does not match. Thanks @fdutton 183- fixes #793 Updating jackson version to 2.15.2 184 185## 1.0.83 - 2023-05-26 186 187### Added 188- fixes #779 Adds support for cross-draft validation. Thanks @fdutton 189- fixes #777 Adds support for handling integer overflow. Thanks @fdutton 190 191### Changed 192 193- fixes #788 update JsonSchema to fix the javadoc issues 194- fixes #787 Allows to override date-time and duration validators. Thanks @josejulio 195- fixes #786 Allow walking of schema for items keyword when non-array node is provided. Thanks @anjnerajat 196- fixes #783 Resolves improper anchoring of patternProperties. Thanks @fdutton 197 198 199## 1.0.82 - 2023-05-20 200 201### Added 202- fixes #775 Adds support for validating idn-hostname and idn-email. Thanks @fdutton 203- fixes #769 Add minContains / maxContains correct keywords. Thanks @vwuilbea-in 204- fixes #768 Adds support for validating an IRI. Thanks @fdutton 205- fixes #766 Supports iri-reference format validation. Thanks @fdutton 206- fixes #764 Supports uri-reference format. Thanks @fdutton 207- fixes #762 Supports relative-json-pointer validation. Thanks @fdutton 208- fixes #758 Adds support for validating uri-template formats. Thanks @fdutton 209 210### Changed 211 212- fixes #760 Enables validation of json-pointer formats. Thanks @fdutton 213- fixes #752 Bug fix for JSON Pointer parsing. Thanks @costas80 214- fixes #754 Resolves incomplete validation of unevaluatedProperties. Thanks @fdutton 215- fixes #750 Escape double-quote in produced JSON Path expressions. Thanks @costas80 216- fixes #749 Enables unit-tests for the unevaluatedItems keyword. Thanks @fdutton 217- fixes #686 Better localisation support. Thanks @costas80 218- fixes #741 Updates LICENSE and NOTICE to comply with section 4d of the Apache License. Thanks @fdutton 219- fixes #738 Enables unit-tests for ECMA 262 regular expressions. Thanks @fdutton 220- fixes #735 Enables unit-tests for 'not' keyword. Thanks @fdutton 221- fixes #733 Updates tests from JSON Schema Test Suite. Thanks @fdutton 222 223 224## 1.0.81 - 2023-04-30 225 226### Added 227 228### Changed 229 230- fixes #731 Improves performance. Thanks @fdutton 231- fixes #730 Removes need for network access when executing unit-tests. Thanks @fdutton 232- fixes #728 Adds explicit Java module descriptor for JDK9+. Thanks @aalmiray 233- fixes #725 custom uri fetcher doc. Thanks @michapojo 234- update the contributors and sponsors 235- fixes #720 Produces validation messages when oneOf has no valid schemas. Thanks @fdutton 236 237## 1.0.80 - 2023-04-18 238 239### Added 240 241### Changed 242 243- fixes #709 Throw the exception as it is in I18nSupport. Thanks @rishabh413 244- update javadoc comments 245- fixe #716 Adds support for unevaluatedProperties that uses a non-boolean schema. Thanks @fdutton 246- fixes #714 Adds explicit support for tracking evaluated properties. Thanks @fdutton 247- fixes #712 Corrects malformed tests. Thanks @fdutton 248- fixes #710 Add support for the Draft 2020-12 interpretation of prefixItems. Thanks @fdutton 249- fixes #708 remove System.exit from I18nSupport. 250- fixes #707 Corrects treating 1.0 as an integer. Thanks @fdutton 251- fixes #706 Adds support for validating regular expressions. Thanks @fdutton 252- fixes #705 Adds support for email addresses containing an IPv6 literal value. Thanks @fdutton 253- fixes #704 Adds support for validating leap seconds. Thanks @fdutton 254- fixes #703 Corrects validation of duration and provides the option to validate against the ISO 8601 duration format. Thanks @fdutton 255- fixes #720 Adds support for minContains and maxContains. Thanks @fdutton 256- Updates tests from JSON Schema Test Suite. Thanks @fdutton 257- fixes #698 avoid warning for additionalItems keyword 258- fixes #697 Moves JSON Schema Test Suite to a separate test-resources folder. Thanks @fdutton 259- fixes #696 add then and else to as NonValidationKeyword for v7 260- fixes #690 Uses JUnit dynamic tests to generate tests from specification files. Thanks @fdutton 261- upgrade slf4j to 2.0.7 262- upgrade logback to 1.4.6. 263- fixes #687 Return valid JSONPath (or JSONPointer) expressions for each ValidationMessage. Thanks @costas80 264- fixes #688 CI Bump used latest non-LTS Java: 19 -> 20. Thanks @valfirst 265 266## 1.0.79 - 2023-03-27 267 268### Added 269 270### Changed 271 272- add a doc for metaschema validation 273- fixes #682 Adds support for translating one URI into another. Thanks @fdutton 274- fixes #604 add disabled test case to reproduce the NPE. 275- fixes changing ReadOnlyValidator to use boolean property instead of array. Thanks @jorgesartori 276- fixes #679 Add option to disable uri schema cache in JsonSchemaFactory. Thanks @Kaaviyan 277- fixes #664 Avoid throwing exceptions and error-level logging. Thanks @CremboC 278- fixes #675 Update README.md file. Thanks @hcnicepink 279- fixes #672 add multiple language doc. 280- fixes #671 Support time offsets in the time format. Thanks @JDziurlaj 281 282 283## 1.0.78 - 2023-03-04 284 285### Added 286 287### Changed 288 289- update the README.md to indicate that 202012 version is only partially supported. 290- fixes #668 handle references to yaml sub-schemas. Thanks @danfelicetta-RL 291- fixes #664 Provide/unify schema path for applicator schemas. Thanks @htdan 292- fixes #666 Clarify usage of Apache commons lang in README.md. Thanks @loadedice 293- fixes #663 Use full schema path to look up type validators for anyOf operator. Thanks @pshevche 294- fixes #661 Make DependentRequired error message more helpful. Thanks @bernie-schelberg-mywave 295 296 297## 1.0.77 - 2023-02-13 298 299### Added 300 301- fixes #637 Setup CI based on GH Actions. Thanks @valfirst 302- fixes #635 add persian language to json validator. Thanks @mahdimalverdi 303### Changed 304 305- upgrade jackson to 2.14.2 306- fixes #651 Map BinaryNodes to type string. Thanks @k-oliver 307- fixes #649 Improve logging performance. Thanks @valfirst 308- fixes #648 Drop unused test dependency: Mockito. Thanks @valfirst 309- fixes #647 Use Javadoc badge with dynamic version instead of plain link in README. Thanks @valfirst 310- fixes #646 Add ability to detect spec version optionally. Thanks @valfirst 311- fixes #645 Add MavenCentral badge to README. Thanks @valfirst 312- fixes #644 Improve example of Gradle dependency in README. Thanks @valfirst 313- fixes #643 Make sure all constants are static final. Thanks @valfirst 314- fixes #642 Remove unused fields from JsonSchemaVersion. Thanks @valfirst 315- fixes #641 Improve error messages on spec version detection. Thanks @valfirst 316- fixes #640 Update build badge from README to point GH Actions CI. Thanks @valfirst 317- fixes #639 Drop Travis CI config. Thanks @valfirst 318- fixes #638 Restore code coverage calculation. Thanks @valfirst 319- fixes #636 Adding tests for overriding error messages at schema level for individual keywords. Thanks @anjnerajat 320- fixes #634 Quick fix for issue causing the wrong custom message to be used. Thanks @chaosape 321- fixes #627 custom message for format. Thanks @vickyrathod 322 323## 1.0.76 - 2022-12-19 324 325### Added 326 327### Changed 328 329- fixes #629 adding new walk method to start walking from a specific part of a given schema node. Thanks @prashanthjos 330 331## 1.0.75 - 2022-12-10 332 333### Added 334 335### Changed 336 337- fixes #628 schema path fixes in oneOf,allOf and anyOf validators. Thanks @prashanthjos 338 339## 1.0.74 - 2022-12-02 340 341### Added 342 343### Changed 344 345- upgrade undertow to 2.3.0.Final 346- upgrade jackson to 2.14.0 347- fixes #620 upgrade commons-lang3 to 3.12.0 348- fixes #619 Add support for subschema references in getSchema. Thanks @aznan2 349- fixes #626 Correcting the oneOf,anyOf and allOf child schema validators. Thanks @prashanthjos 350- fixes #617 Beautify code blocks. Thanks @limboinf 351- fixes #614 Update spec version tests. Thanks @tuncererdogan 352- fixes #613 Update the specversion.md and pom.xml. Thanks @tuncererdogan 353 354## 1.0.73 - 2022-09-19 355 356### Added 357- fixes #593 Add validator for duration format. Thanks @iouakrim 358 359### Changed 360 361- upgrade undertow to 2.2.18.Final to 2.2.19.Final 362- fixes #563 Support adding custom message at attribute level. Thanks @makeItEasyQ 363- fixes #606 Handle matched state in AnyOfValidator. Thanks @sgerke-1L 364- fixes #598 Add italian translation. Thanks @sbernardo 365- fixes #594 Remove commons lang as a compile time dependency. Thanks @agentgt 366- fixes #592 Add NonValidationKeyword "else" on 201909 and 202012. Thanks @ionutalex88 367 368 369## 1.0.72 - 2022-07-17 370 371### Added 372 373### Changed 374 375- upgrade undertow to 2.2.14.Final to 2.2.18.Final 376- fixes #586 Add V202012 to SpecVersionDetector And JsonMetaSchema Thanks @Tuxzx 377- fixes #585 Changed data type to preserve order of schema attributes. Thanks @sabarinathan590 378 379## 1.0.71 - 2022-06-15 380 381### Added 382 383### Changed 384 385- upgrade jackson to 2.13.3 386- upgrade logback to 1.2.11 387- upgrade slf4j to 1.7.36 388- fixes #575 upgrade com.ethlo.time:itu to version 1.7.0 Thanks @jody-mcdonnell 389- fixes #380 Add support for draft 2020-12 Thanks @open-abbott 390- fixes #582 Fix unevaluatedPropeties with patternProperties and type union. Thanks @jkevan 391 392## 1.0.70 - 2022-05-23 393 394### Added 395 396- fixes #558 Add French translation for validation messages. Thanks @sebastienrospars 397 398### Changed 399 400- fixes #535 part 2 fix the same issue in AnyOfValidator. Thanks @AndreasALoew 401- fixes #570 Upgrade javadoc plugin. Thanks @poorguy-tech 402- fixes #569 Fix broken tests on non-english setup. Thanks @dreis2211 403- fixes #566 Remove unused variable in JsonNodeUtil. Thanks @dreis2211 404- fixes #565 Improve performance of URLFactory.create. Thanks @dreis2211 405- fixes #561 Prevent from throwing an exception when setting default values. Thanks @josejulio 406 407## 1.0.69 - 2022-04-18 408 409### Added 410 411- fixes #534 Adding Unevaluated properties keyword. Thanks @prashanthjos 412 413### Changed 414 415- fixes #554 removed unnecessary check. Thanks @harishvashistha 416- fixes #555 Setting default value even if that value is null. Thanks @harishvashistha 417- fixes #544 Fixing unevaluated properties with larger test base. Thanks @prashanthjos 418- fixes #552 Add schemaPath to ValidationMessage. Thanks @ymszzq 419- fixes #541 Allow fetching properties from map with comparator. Thanks @0x4a616e 420 421 422## 1.0.68 - 2022-03-27 423 424### Added 425 426- fixes #534 Adding Unevaluated properties keyword. Thanks @prashanthjos 427 428### Changed 429 430- fixes #537 Fix oneOf bug. Thanks @RenegadeWizard and @sychlak 431- fixes #511 Improve validation messages (German and default) Thanks @AndreasALoew 432- fixes #539 Refactoring-code. Thanks @Sahil3198 433- fixes #532 Invalid (non-string) $schema produces NullPointerException. Thanks @christi-square 434- fixes #530 Fixed a typo in the validators documentation. Thanks @jontrost 435- fixes #529 Updates to German translation. Thanks @rustermi 436 437## 1.0.67 - 2022-03-05 438 439### Changed 440 441- fixes #525 Leap seconds are handled even better Thanks @aznan2 and @Matti Hansson 442- fixes #524 Fix handling of leap seconds in date-time validation 443- fixes #523 synched ipv4 and ipv6 and fix some gaps for the IP format 444- fixes #522 synch the official test suite for draft v4 from schema.org 445- fixes #509 NPE with oneOf and custom URI Fetcher or Factory 446- fixes #508 Make date-time validation align with RFC3339 Thanks @aznan2 and @Matti Hansson 447- fixes #519 Preserve # suffix during metaschema URI normalization Thanks @pondzix 448- fixes #516 fix the additionalProperties in oneOf failed test cases 449- fixes #505 AdditionalPropertiesOneOfFails test Thanks @huubfleuren 450- fixes #510 try to reproduce the issue but failed 451- fixes #511 Add German validation messages. Thanks @rustermi 452- fixes #500 Support fragment references using $anchor @Whathecode 453 454## 1.0.66 - 2022-01-24 455 456### Changed 457 458- fixes #496 Improve type validation of integrals. Thanks @christi-square 459- fixes #497 Support fragment references using $anchor @carolkao 460 461## 1.0.65 - 2022-01-07 462 463### Changed 464 465- fixes #492 Sort ValidationMessage by its type. Thanks @jsu216 466- fixes #490 Handle the situation when context class loader is null. Thanks @vti and @Viacheslav Tykhanovskyi 467- fixes #489 Fix flakiness in CollectorContextTest. Thanks @pthariensflame 468- upgrade to logback 1.2.7 to resolve some x-ray warnnings 469- upgrade to undertow 2.2.14 to resolve some x-ray warnnings. 470- fixes #488 Fix violations of Sonar rule 2142. Thanks @khaes-kth 471- fixes #477 apply default in objects and arrays. Thanks @SiemelNaran 472- fixes #485 FailFast should not cause exception on if. Thanks @gareth-robinson 473- fixes #483 Add Java Syntax Highlighting to specversion.md. Thanks @JLLeitschuh 474- fixes #482 upgrade to joni 2.1.41 to resolve a security concern 475 476## 1.0.64 - 2021-11-10 477 478### Changed 479 480- fixes #480 Time format validation supports milliseconds. Thanks @@MatusSivak 481- fixes #479 Add dependentRequired and dependentSchemas validators. Thanks @@kmalski 482 483## 1.0.63 - 2021-10-21 484 485### Changed 486 487- fixes #470 OneOfValidator give incorrect message when the wrong json element is not the first one in the list. Thanks @jsu216 488- fixes #472 fix i18n doesn't work with locale CHINA. Thanks @wyzfzu 489 490 491## 1.0.62 - 2021-10-16 492 493### Changed 494 495- 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. 496 497## 1.0.61 - 2021-10-09 498 499### Changed 500 501- fixes #461 1.0.60 Expects type To Be Array. Thanks @bartoszm 502- fixes #459 Correcting the ref listeners config in WalkEvent class when fetching the getRefSchema. Thanks @prashanthjos 503 504## 1.0.60 - 2021-09-22 505 506### Changed 507 508- fixes #451 walk method for AnyOfValidator not implemented. Thanks @bartoszm 509- fixes #450 changed from isIntegralNumber to canConvertToExactIntegral to support. Thanks @mohsin-sq 510- fixes #449 Refactor JSON Schema Test Suite tests. Thanks @olegshtch 511- fixes #448 Test CI with JDK 11. Thanks @olegshtch 512- fixes #447 Bump JUnit version to 5.7.2. Thanks @olegshtch 513 514## 1.0.59 - 2021-09-11 515 516### Changed 517 518- fixes #445 JsonValidator: mark preloadJsonSchema as default. Thanks @DaNizz97 519- fixes #443 $ref caching issue. Thanks @prashanthjos 520- fixes #426 Adding custom ValidatorTypeCodes. Thanks @adilath18 521 522## 1.0.58 - 2021-08-23 523 524### Added 525- 526- fixes #439 add i18n support for ValidationMessage. Thanks @leaves615 527- fixes #438 Adding custom message support in the schema. Thanks @adilath18 528 529### Changed 530 531- fixes #436 Relaxation of the discriminator validation. Thanks FWiesner 532- fixes #435 Added exampleSetFlag to nonValidationKeyword. Thanks @ShubhamRwt 533- fixes #428 A schema with nullable oneOf does not work as expect. Thanks @rongyj 534- fixes #429 Update collector-context.md. Thanks @Petapath 535- fixes #425 Cannot distinguish the "TextNode" and the "ArrayNode" with single value for oneOf. Thanks @rongyj 536 537## 1.0.57 - 2021-07-09 538 539### Added 540 541### Changed 542 543- fixes #423 make sure additionalPropertiesSchema is not null in AdditionalPropertiesValidator. Thanks @flozano 544- fixes #421 Wrong validation of MultipleOfValidator. Thanks @ubergrohman 545- fixes #418 201909 false flag keywords additonalItems and then. Thanks @pgalbraith 546 547 548## 1.0.56 - 2021-07-02 549 550### Added 551 552### Changed 553 554- fixes #416 Circular $ref occurrences with schema.initializeValidators() lead to StackOverflowError. Thanks @FWiesner 555- fixes #414 Simplify the uri format validation regexp. Thanks @vmaurin 556 557## 1.0.55 - 2021-06-23 558 559### Added 560 561### Changed 562 563- fixes #411 uri format regexp is fixed to support empty fragment and query string. Thanks @vmaurin 564 565## 1.0.54 - 2021-06-22 566 567### Added 568 569### Changed 570 571- fixes #408 uri format regexp is validating invalid URI. Thanks @vmaurin 572- fixes #406 Behavior change of $ref resolution. Thanks @FWiesner 573 574## 1.0.53 - 2021-05-19 575 576### Added 577 578### Changed 579 580- fixes #400 Introduce forceHttps flag in JsonSchemaFactory.Builder. Thanks @hisener 581 582## 1.0.52 - 2021-04-13 583 584### Added 585 586### Changed 587 588- fixes #398 Two issues with OpenAPI 3 discriminators. Thanks @FWiesner 589- fixes #396 Implement propertyNames in terms full schema validation. Thanks @JonasProgrammer 590 591## 1.0.51 - 2021-03-30 592 593### Added 594 595### Changed 596 597- fixes #392 NPE due to concurrency bug. Thanks @Keymaster65 598- fixes #391 override default EmailValidator, if set custom email format. Thanks @whirosan 599- fixes #390 Add discriminator support. Thanks @FWiesner 600 601## 1.0.50 - 2021-03-18 602 603### Added 604 605### Changed 606 607- fixes #387 Resolve the test case errors for TypeFactoryTest 608- fixes #385 Fixing concurrency and compilation issues. Thanks @prashanthjos 609- fixes #383 Nested oneOf gives incorrect validation error. Thanks @JonasProgrammer 610- fixes #379 Add lossless narrowing convertion. Thanks @hkupty 611- fixes #378 Upgrade Jackson to 2.12.1 and Undertow to 2.2.4.Final 612 613## 1.0.49 - 2021-02-17 614 615### Added 616 617### Changed 618 619- fixes #375 PropertyNames to return validator value on error. Thanks @Eivyses 620- fixes #335 Fixed parallel processing. @Thanks @mweber03 621 622## 1.0.48 - 2021-02-04 623 624### Added 625 626### Changed 627 628- fixes #326 pattern validation for propertyNames. @Thanks @LeifRilbeATG 629- fixes #366 Fast fail issue with One Of Validator. Thanks @Krishna-capone 630 631## 1.0.47 - 2021-01-16 632 633### Added 634 635### Changed 636 637- fixes #368 Fixing Walk Listeners Issues. @Thanks prashanthjos 638- fixes #363 Date-time validation fails depending on local time zone. Thanks @ennoruijters 639 640## 1.0.46 - 2020-12-30 641 642### Added 643 644### Changed 645 646- fixes #362 Date-time validation fails depending on local time zone Thanks @ennoruijters 647- fixes #361 Validation of oneOf depends on schema order @Thanks ennoruijters 648- fixes #360 add four project links to the README.md 649- fixes #354 OneOf validator is not throwing valid error if any of the child nodes has invalid schemas Thanks @prubdeploy 650- fixes #351 Add anchor and deprecated as NonValidationKeywords for v2019-09 draft Thanks @anicolasgar 651- fixes #340 YAML source location handling Thanks @ascertrobw 652 653## 1.0.45 - 2020-11-21 654 655### Added 656 657### Changed 658 659- fixes #350 Add builder method that accepts iterable Thanks @wheelerlaw 660- fixes #347 NPE at JsonSchema.combineCurrentUriWithIds(JsonSchema.java:90) Thanks @wheelerlaw 661- fixes #346 Update docs about javaSemantics flag Thanks @oguzhanunlu 662- fixes #345 optimize imports in the src folder 663- fixes #343 Improve type validation of numeric values Thanks @oguzhanunlu 664- fixes #341 Add contentMediaType, contentEncoding and examples as a NonValidationKeyword Thanks @jonnybbb 665- fixes #337 JSON Schema Walk Changes Thanks @prashanthjos 666 667## 1.0.44 - 2020-10-20 668 669### Added 670 671### Changed 672- fixes #336 Adding walk capabilities to networknt. Thanks @prashanthjos 673- fixes #332 Bump junit from 4.12 to 4.13.1 674- fixes #329 JRuby Joni dependency and its dependencies 675- fixes #328 Add $comment as a NonValidationKeyword for v7 and v2019 drafts. Thanks @kmalski 676- fixes #324 Generate module-info, fix build on JDK11 Thanks @handcraftedbits 677- fixes #323 FIX: potential duplicate log entry due to race condition Thanks @kkonrad 678- fixes #319 resolve a java doc warning in CollectorContext 679 680## 1.0.43 - 2020-08-10 681 682### Added 683 684### Changed 685 686- fixes #317 Compatible with Jackson 2.9.x. Thanks @pan3793 687- fixes #315 implement propertyNames validator for v6, v7 and v2019-09 688 689## 1.0.42 - 2020-06-30 690 691### Added 692 693### Changed 694 695- fixes #311 Split the PatternValidator into 2 classes. Thanks @Buuhuu 696 697## 1.0.41 - 2020-06-25 698 699### Added 700 701### Changed 702 703- fixes #307 Make runtime dependency to org.jruby.joni:joni optional. Thanks @Buuhuu 704- fixes #305 Automatically determine schema version from schema file. Thanks @Subhajitdas298 705- fixes #297 ValidationContext using is not correct in UUIDValidator. Thanks @qiunju 706 707 708## 1.0.40 - 2020-05-27 709 710### Added 711 712### Changed 713 714- fixes #294 fixes unknownMetaSchema error with normalized URI 715 716## 1.0.39 - 2020-04-28 717 718### Added 719 720### Changed 721 722- fixes #289 Adding getAll method on CollectorContext class. Thanks @prashanthjos 723 724## 1.0.38 - 2020-04-12 725 726### Added 727 728### Changed 729 730- fixes #281 EmailValidator use ValidatorTypeCode Datetime 731 732## 1.0.37 - 2020-04-06 733 734### Added 735 736### Changed 737 738- fixes #280 NullPointerException in regex pattern validation if no SchemaValidatorsConfig is passed. Thanks @waizuwolf 739 740## 1.0.36 - 2020-03-22 741 742### Added 743 744### Changed 745 746- fixes #273 make the getInstance() deprecated 747- fixes #258 Cyclic dependencies result in StackOverflowError. Thanks @francesc79 748 749## 1.0.35 - 2020-03-13 750 751### Added 752 753### Changed 754 755- fixes #272 Use ECMA-262 validator when requested. Thanks @eirnym 756 757## 1.0.34 - 2020-03-12 758 759### Added 760 761### Changed 762 763- fixes #268 Collector Context changes to handle simple Objects. Thanks @prashanthjos 764- fixes #266 reformat the code and resolve javadoc warnnings 765 766## 1.0.33 - 2020-03-09 767 768### Added 769 770### Changed 771 772- fixes #264 Handling JSONPointer (URI fragment identifier) with no base uri. Thanks @rzukowski 773- fixes #255 Dereferencing subschemas by $id with $ref in the same file does not seem to work. Thanks @rzukowski 774 775## 1.0.32 - 2020-03-07 776 777### Added 778 779### Changed 780 781- fixes #260 Changes for adding collector context. Thanks @prashanthjos 782 783## 1.0.31 - 2020-02-21 784 785### Added 786 787### Changed 788 789- fixes #226 Implements contains. Thanks @Asamsig 790 791## 1.0.30 - 2020-02-11 792 793### Added 794 795### Changed 796 797- fixes #244 Android 6 support. Thanks @msattel 798- fixes #247 Resolve schema id from the schema document (for v6 and above). Thanks @martin-sladecek 799- fixes #243 Improve accuracy of rounding with multipleOf. Thanks @seamusv 800- fixes #242 add customized fetcher and meta schema doc 801 802## 1.0.29 - 2019-12-16 803 804### Added 805 806### Changed 807 808- Update description in pom.xml to match readme.md. Thanks @reftel 809- fixes #232 update meta schema URI to https 810- fixes #229 move the remotes to resource from draftv4 811- fixes #228 support boolean schema in the dependencies validator 812- enable const validator test for v6 813- fixes #224 support boolean schema for the item validator 814- fixes #222 add document for URL mapping 815 816## 1.0.28 - 2019-11-25 817 818### Added 819 820### Changed 821 822- fixes #219 Fix for oneOf when not all properties are matched. Thanks @aznan2 823 824## 1.0.27 - 2019-11-18 825 826### Added 827 828### Changed 829 830- fixes #216 Fix remote ref to follow redirects. Thanks @andersonf 831- fixes #214 the if-then-else.json is failed in test for V7 and V2019-09. Thanks @andersonf 832- fixes #54 support for draft V6, V7 and V2019-09 833- fixes #211 move the current test cases from tests to draft4 folder in the resource 834 835## 1.0.26 - 2019-11-07 836 837### Added 838 839### Changed 840 841- fixes #208 error when same ref name in different ref files. Thanks @andersonf 842 843## 1.0.25 - 2019-11-06 844 845### Added 846 847### Changed 848 849- fixes #206 IF-THEN-ELSE Conditional (Draft 7). Thanks @andersonf 850 851## 1.0.24 - 2019-10-28 852 853### Added 854 855### Changed 856 857- fixes #203 String for Number should fail with the default SchemaValidatorsConfig 858 859## 1.0.23 - 2019-10-28 860 861### Added 862 863### Changed 864 865- fixes #199 More than a million validation errors crashes the application. Thanks @khiftikhar 866 867 868## 1.0.22 - 2019-10-22 869 870### Added 871 872### Changed 873 874- fixes #200 Use with obfuscation.Thanks @complex1ty 875 876## 1.0.21 - 2019-10-17 877 878### Added 879 880### Changed 881 882- fixes #192 upgrade jackson to 2.9.10 883- fixes #190 OneOfValidator cannot validate object with multiple properties.Thanks @ddobrin 884- fixes #188 couldnot validate the email format in json schema 885- fixes #187 SchemaValidatorsConfig not propagated 886 887## 1.0.20 - 2019-09-10 888 889### Added 890 891### Changed 892 893- fixes #183 Validation error when field is nullable and consumer sends in a null value. Thanks @ddobrin 894- fixes #185 Validation issue in oneOf when elements have optional fields. Thanks @ddobrin 895 896## 1.0.19 - 2019-08-13 897 898### Added 899 900### Changed 901 902- fixes #182 Jackson-databind vulnerability version update 903- fixes #180 Stack overflow when using recursive references, $ref. Thanks @davidvisiedo 904- fixes #96 stackOverflowError loading schema file. Thanks @davidvisiedo 905- fixes #44 Validator hang on validation. Thanks @davidvisiedo 906- fixes #28 Validator hangs on large json data files. Thanks @davidvisiedo 907- fixes #13 Cannot get the validation result with self-reference schema. Thanks @davidvisiedo 908- fixes #177 OneOf Validator Incorrectly Failing. Thanks @jawaff 909 910## 1.0.18 - 2019-07-29 911 912### Added 913 914### Changed 915 916- fixes #173 AnyOfValidator ignores all previous validations errors if any of the type does not match. Thanks @grssam 917 918## 1.0.17 - 2019-07-20 919 920### Added 921 922### Changed 923 924- fixes #174 Insights into performance gains of tuning min/max validators. Thanks @kosty 925- fixes #171 Support minimum/maximum on quoted numerals. Thanks @kosty 926 927## 1.0.16 - 2019-06-24 928 929### Added 930 931### Changed 932 933- fixes #166 Allow using URN and not just URLs. Thanks @jawaff 934 935## 1.0.15 - 2019-06-14 936 937### Added 938 939### Changed 940 941- fixes #160 when schema type is integer but max/min value is a float point number. Thanks @BalloonWen 942 943## 1.0.14 - 2019-06-06 944 945### Added 946 947### Changed 948 949- fixes #163 update typeLoose to false as before merging the PR 141 950- fixes #162 bump up java version to 1.8 951- fixes #141 Improved Ref Validator. Thanks @jawaff 952 953## 1.0.13 - 2019-06-05 954 955### Added 956 957### Changed 958 959- fixes #158 date-time format should consider colon in timezone optional. Thanks @chuwy 960 961## 1.0.12 - 2019-05-30 962 963### Added 964 965### Changed 966 967- fixes #155 Fix date-time validation. Thanks @jiachen1120 968 969## 1.0.11 - 2019-05-28 970 971### Added 972 973### Changed 974 975- fixes #151 add validation for string type uuid. Thanks @chenyan71 976 977## 1.0.10 - 2019-05-22 978 979### Added 980 981### Changed 982 983- fixes #138 validation of date fields. Thanks @jiachen1120 984 985## 1.0.9 - 2019-05-21 986 987### Added 988 989### Changed 990 991- fixes #147 Fails to validate MIN and MAX when number type is converted to BigInteger. Thanks @jiachen1120 992 993## 1.0.8 - 2019-05-17 994 995### Added 996 997### Changed 998 999- fixes #145 Fix bug parsing array query params when only one item present. Thanks @jiachen1120 1000- fixes #142 validation for enum object type. Thanks @jiachen1120 1001- fixes #136 Maps of URLs can have performance impacts. Thanks @rhwood 1002- fixes #134 $ref external schema references do not use URL mappings. Thanks @rhwood 1003 1004## 1.0.7 - 2019-04-29 1005 1006### Added 1007 1008### Changed 1009 1010- fixes #140 Convert double to BigDecimal in MultipleOfValidator to make the validation more accurate. Thanks @jiachen1120 1011 1012## 1.0.6 - 2019-04-10 1013 1014### Added 1015 1016### Changed 1017 1018- fixes #132 minimum/maximum validation of integral numbers prone to overflow. Thanks @kosty 1019- fixes #123 Add link to Javadocs. Thanks @rhwood 1020 1021## 1.0.5 - 2019-04-01 1022 1023### Added 1024 1025### Changed 1026 1027- fixes #127 update license copyright and add NOTICE 1028- fixes #125 feat: Add URL mappings. Thanks @rhwood 1029 1030## 1.0.4 - 2019-03-14 1031 1032### Added 1033 1034### Changed 1035 1036- fixes #119 Almost JSON-spec compliant validation of numeric values. Thanks @kosty 1037- fixes #120 Update the version in the README.md file. Thanks @chenyan71 1038 1039## 1.0.3 - 2019-02-10 1040 1041### Added 1042 1043### Changed 1044 1045- fixes #116 Fail to validate numeric and Integer in TypeValidator. Thanks @jiachen1120 1046 1047## 1.0.2 - 2019-02-05 1048 1049### Added 1050 1051### Changed 1052 1053- fixes #114 LocalDateTime validation error. Thanks @chenyan71 1054- fixes #113 Fixed validation for path parameters and query parameters. Thanks @jiachen1120 1055 1056## 1.0.1 - 2019-01-10 1057 1058### Added 1059 1060### Changed 1061- fixes #112 AnyOfValidator: only return expectedTypeList if not empty. Thanks @c14s 1062- fixes #111 Validation failure for optional field in a schema - in the PropertiesValidator. Thanks @ddobrin 1063 1064## 0.1.26 - 2018-12-24 1065 1066### Added 1067 1068### Changed 1069- fixes #110 Validation Error when using OneOf in OpenAPI specs. Thanks @ddobrin 1070 1071## 0.1.25 - 2018-12-12 1072 1073### Added 1074 1075### Changed 1076- fixes #108 v0.1.24 error on array union type. Thanks @nitin456 1077- fixes #107 Fix for perfomance issue Thanks @nitin456 1078- fixes #106 Fix for enable loose type validator for REST Thanks @BalloonWen 1079 1080## 0.1.24 - 2018-11-21 1081 1082### Added 1083 1084### Changed 1085- fixes #105 temporary fix to performance issue. Thanks @nitin456 1086 1087## 0.1.23 - 2018-10-02 1088 1089### Added 1090 1091### Changed 1092- fixes #103 Boolean type validation for the string type is incorrect 1093 1094## 0.1.22 - 2018-09-11 1095 1096### Added 1097 1098### Changed 1099- fixes #101 enhance TypeValidator trying to convert type from TEXT 1100 1101## 0.1.21 - 2018-08-14 1102 1103### Added 1104 1105### Changed 1106- fixes #94 Fix min/max error message of integer fields displayed as doubles. Thanks @NicholasAzar 1107- fixes #93 Adding support for nullable fields. Thanks @NicholasAzar 1108 1109## 0.1.20 - 2018-07-30 1110 1111### Added 1112 1113### Changed 1114- fixes #85 Update version in maven dependnecy sample. Thanks @banterCZ 1115- fixes #89 Added example for custom keywords in tests. Thanks @Klas Kalaß 1116- fixes #90 Remove unused dependency to slf4j-ext due to security issue. Thanks @Thorbias 1117- fixes #91 update one test case to ensure compatibility of Java 6 1118- fixes #92 rollback type validator for null value as it is against spec. 1119 1120## 0.1.19 - 2018-04-07 1121 1122### Added 1123 1124### Changed 1125- fixes #84 remove Java 8 optional to ensure that this library can be Java 6 compatible. Thanks @johnygeorge 1126- fixes #81 java.lang.NoClassDefFoundError: Failed resolution of: Ljava/util/Optional. Thanks @johnygeorge 1127- fixes #83 upgrade to undertow 1.4.23.Final in sync with other repo 1128 1129## 0.1.18 - 2018-04-04 1130 1131### Added 1132 1133### Changed 1134- Fixes #80 upgrade to jackson 2.9.5 and undertow 1.4.20.Final 1135- Fixes #77 One of was broken - it did not fail when there were no valid schemas. Thanks @kkalass 1136- Fixes #76 Make remaining JsonSchema constructors public. Thanks @kkalass 1137 1138## 0.1.17 - 2018-03-09 1139 1140### Added 1141 1142### Changed 1143- Fixes #72 build JAR with OSGi support. Thanks @lichtin 1144- Fixes #71 Github Quickstart section out-of-date. Thanks @lichtin 1145 1146## 0.1.16 - 2018-03-03 1147 1148### Added 1149 1150### Changed 1151- Fixes #62 Correct behavior when both allOf and type are present. Thanks @ehrmann 1152- Fixes #70 Minor optimizations. Thanks @ehrmann 1153 1154## 0.1.15 - 2018-02-16 1155 1156### Added 1157 1158### Changed 1159- Fixes #65 enhance day validation regex for date format. Thanks @chenyan71 1160 1161 1162## 0.1.14 - 2018-02-14 1163 1164### Added 1165 1166### Changed 1167- Fixes #64 Add simple tests for ValidatorTypeCode. Thanks @ehrmann 1168- Fixes #61 Restore validator type code from value. Thanks @ehrmann 1169 1170## 0.1.13 - 2017-12-10 1171 1172### Added 1173 1174### Changed 1175- Fixes #53 Optimization for OneOf. Thanks @kkalass 1176- Fixes #52 References that cannot be resolved should be treated as an error. Thanks @kkalass 1177- Fixes #51 Resolve sub schema node only if really needed. Thanks @kkalass 1178 1179## 0.1.12 - 2017-11-23 1180 1181### Added 1182 1183### Changed 1184- Fixes #50 Support custom meta schemas with custom keywords and formats. Thanks @kkalass 1185- Fixes #49 Use LinkedHashSets for ValidationMessages. Thanks @ehrmann 1186- Fixes #48 Remove unnecessary todo. Thanks @ehrmann 1187- Fixes #47 Change access modifiers in ValidationMessage. Thanks @ehrmann 1188- Fixes #45 Added test case for loading schemas from classpath. Thanks @kenwa 1189 1190 1191## 0.1.11 - 2017-10-18 1192### Added 1193- Fixes #43 Load reference schemas from classpath is supported. Thanks @kenwa 1194 1195### Changed 1196 1197## 0.1.10 - 2017-07-22 1198### Added 1199 1200### Changed 1201- Release the library in Java 6 as there are still developer using it. Thanks @basinilya 1202 1203## 0.1.9 - 2017-07-03 1204### Added 1205 1206### Changed 1207- Fixes #37 adding relative $ref url. Thanks @eskabetxe 1208 1209## 0.1.8 - 2017-06-17 1210### Added 1211 1212### Changed 1213- Recursive load fix #36 Thanks @thekensta 1214 1215## 0.1.7 - 2017-04-26 1216### Added 1217 1218### Changed 1219- Fixes #25 Enable Undertow server to test remote schemas 1220- Add test with id schema as url Thanks @eskabetxe 1221- If schema not valid to oneOf, added all errors. Thanks @eskabetxe 1222 1223## 0.1.6 - 2017-04-03 1224### Added 1225 1226### Changed 1227- Fixes #20 added default messages to empty messages on ValidatorTypeCode. Thanks @eskabetxe 1228- Fixes #22 only check subschema if distinct from schema, and minor changes. Thanks @eskabetxe 1229- Fixes #24 update dependencies versions. Thanks @eskabetxe 1230 1231## 0.1.5 - 2017-03-25 1232### Added 1233 1234### Changed 1235- Fixes #19 make undertow test scope 1236 1237## 0.1.4 - 2017-02-06 1238### Added 1239 1240### Changed 1241- Fixes #6 Match subsequence instead of entire input sequence. Thanks @mspiegel 1242 1243## 0.1.3 - 2016-11-03 1244### Added 1245 1246### Changed 1247- Sycn with official test suites and documented failed test cases. 1248- Fixes #4 MinLength and MaxLength validator for unicode string. Thanks for @dola to point me to the right direction. 1249 1250## 0.1.2 - 2016-10-20 1251### Added 1252 1253### Changed 1254- Broken escaping in pattern for uris [#1](https://github.com/networknt/json-schema-validator/issues/1) 1255 1256 1257## 0.1.1 - 2016-08-16 1258### Added 1259- First version 1260