Repository navigation
fix(deps): update dependency com.networknt:json-schema-validator to v3 - #313
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
Contributor
|
Important Review skippedBot user detected. To trigger a single review, invoke the
|
renovate
Bot
force-pushed
the
renovate/com.networknt-json-schema-validator-3.x
branch
from
March 13, 2026 22:15
1e48423 to
8bb171a
Compare
renovate
Bot
force-pushed
the
renovate/com.networknt-json-schema-validator-3.x
branch
from
April 18, 2026 01:42
8bb171a to
197d332
Compare
renovate
Bot
force-pushed
the
renovate/com.networknt-json-schema-validator-3.x
branch
from
May 31, 2026 00:29
197d332 to
9d3bb3c
Compare
renovate
Bot
force-pushed
the
renovate/com.networknt-json-schema-validator-3.x
branch
from
June 13, 2026 13:05
9d3bb3c to
e760956
Compare
renovate
Bot
force-pushed
the
renovate/com.networknt-json-schema-validator-3.x
branch
from
June 24, 2026 12:37
e760956 to
2b5d00d
Compare
Member
|
see #333 |
renovate
Bot
force-pushed
the
renovate/com.networknt-json-schema-validator-3.x
branch
from
July 10, 2026 20:39
2b5d00d to
e0d1eb9
Compare
renovate
Bot
force-pushed
the
renovate/com.networknt-json-schema-validator-3.x
branch
from
July 20, 2026 20:43
e0d1eb9 to
a9036a4
Compare
renovate
Bot
force-pushed
the
renovate/com.networknt-json-schema-validator-3.x
branch
2 times, most recently
from
August 20, 2026 14:45
b2d56e6 to
659fc23
Compare
renovate
Bot
force-pushed
the
renovate/com.networknt-json-schema-validator-3.x
branch
from
August 23, 2026 22:34
659fc23 to
f74d4c3
Compare
renovate
Bot
force-pushed
the
renovate/com.networknt-json-schema-validator-3.x
branch
from
October 3, 2026 17:42
f74d4c3 to
6566dc7
Compare
renovate
Bot
force-pushed
the
renovate/com.networknt-json-schema-validator-3.x
branch
2 times, most recently
from
October 26, 2026 18:52
a536a9f to
b146dbe
Compare
renovate
Bot
force-pushed
the
renovate/com.networknt-json-schema-validator-3.x
branch
from
November 6, 2026 21:53
b146dbe to
f1debc3
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.5.9→3.0.9Release Notes
networknt/json-schema-validator (com.networknt:json-schema-validator)
v3.0.9Compare Source
Breaking changes
date-timenow rejects space-separated values such as2020-01-01 12:00:00Zand leap-second strings without an offset such as2016-12-31T23:59:60. Ethlo previously accepted these forms. RFC 3339 requiresT/tand an explicitZ/zor signedHH:MMoffset; callers relying on those spellings must supply the required separator/offset. The fallback already rejected both forms. (#1316)Added
ExecutionConfig.maxEvaluationStepsandmaxEvaluationDepthlimits for validation and schema walking, including walking without assertions. Exhaustion throwsValidationLimitExceededExceptioninstead of returning a partial validity result. Both limits default to unlimited; they bound admitted evaluation steps and schema frames, not work inside a keyword. (#1276, #1289)Changed
nullin validation errors and avoid listing null twice for nullable schemas. #1373JsonMapperFactory.getInstance()andYamlMapperFactory.getInstance()now returnDecimalNodevalues for lossy finite floating-point spellings when reading trees, subject to explicit mapper settings and custom node factories. (#1357)multipleOfnow validate decimal spellings such as9007199254740993.0exactly. Decimal nodes can surface in literals, defaults, examples, annotations and JSON output; finite numeric equality no longer depends on the field name. Lossless doubles and signed zero retain type/sign/serialization. Existing overflow/nonfinite behavior, count-specific precision, explicit mapper settings, custom node factories and scalar/POJO binding policies are retained. This intentionally changes validation where values previously rounded to the same double. (#1357)date-timeformat when format assertions are enabled, while retaining uppercaseTand lowercasetseparators. (#1316, #1331) Thanks @curforeverdate-timespellings with-00:00, offsets through ±23:59 and fractions longer than nine digits when Ethlo is present. Share grammar/range checks while preserving Ethlo's historical leap-second table and the fallback's possible-leap-second policy; inherited historical-table differences remain. (#1316)typeLooseenabled, numericenummembers now match strings by exact decimal value on both master and 2.x:enum: [100]accepts"100","100.0"and"1E+2". Previously master required normalized exponent text while 2.x used plain decimal text. This intentionally broadens accepted numeric spellings. Inputs must follow JSON number syntax; whitespace, leading+, leading integer zeros and numeric separators are rejected. Signed zero and equivalent trailing-zero/exponent forms compare equally. Exponents are scanned with bounded arithmetic without expanding zeros or constructing a large exponent integer. Strict mode, literal string members, container handling, non-finite member text and protected enum conversion hooks retain their existing behavior. The comparison uses the enum node's existing decimal value; precision already lost by schema parsing is not recovered. (#1349)const,enumanduniqueItems, including numbers nested in arrays and objects. Numeric hashing handles extreme decimal scales without overflowing during trailing-zero normalization; non-finite float and double nodes compare consistently. Preserveenumconversion hooks; skip container members during loose string matching and prepare scalar matching values once. (#1307)intrange forminItems,maxItems,minProperties,maxProperties,minLength,maxLength,minContains, andmaxContains. Count-limit error arguments are ungrouped Strings; plain integer limits keep their full decimal spelling, while exponent-form decimals remain bounded in size. Contains annotations use the parsed node's own numeric value and type without int-range coercion. Accepted YAML numeric separators retain their meaning. (#1334, #1346)date-timeformat now checks the date with the rules of thedateformat and the time with the rules of thetimeformat instead ofOffsetDateTime.parse(..). It rejects a time without seconds (2020-01-01T12:00Z), an offset without minutes (+01) and an empty fraction (12:00:00.Z), which Ethlo already rejected, as well as an offset with seconds (+01:00:00). It accepts an offset up to23:59and a fraction longer than nine digits, which RFC 3339 allows, and a leap second at the end of a June 30 or a December 31 in UTC, which it used to reject. Compared with Ethlo, the fallback provides less accurate leap-second validation because it does not check that a leap second was actually inserted on that date. The subsequent shared grammar changes in #1355 also enable these offset/fraction forms with Ethlo and reject space separators on both paths. (#1316, #1337, #1335, #1338) Thanks @Obramstimeformat now rejects a leap second with an hour or minute out of range (24:59:60+01:00,23:89:60+00:30,45:59:60+22:00), which it used to accept. A time without seconds (12:00Z) was already rejected. (#1316, #1337)multipleOfdivisors returned by custom validators, regardless of scale, matching the default conversion. (#1328, #1329) Thanks @PHJ2000multipleOfdivisors in error messages using plain notation when it fits within 32 characters or is no longer thanBigDecimal.toString(), including values returned by custom validators. Check the length before expanding to plain notation to avoid excessive padding for extreme scales. (#1328, #1329) Thanks @PHJ2000MultipleOfValidator.getDivisorandgetDividendnow preserve exact integral and BigDecimal values. Custom validators, including overrides callingsuper, receive these exact values; validation uses hook results without further rounding. Integral dividend scales can change (for example,2.0becomes2), which affects scale-sensitive comparisons in overrides. Mixed integral/Double or Float inputs above 2^53 can produce different results. Precision already lost when parsing floating-point values is tracked separately in #1293. (#1286, #1290) Thanks @PHJ2000$refJSON Pointer targets. Keep container and direct-schema caches separate so direct registry loads retain normal diagnostics regardless of registry load order, including rejection byDisallowUnknownKeywordFactory. Within one schema, a whole-document reference following a JSON Pointer reference can still reuse the container and suppress root diagnostics, including strict-factory rejection. Apply the container annotation fallback after nullable/discriminator special handling and make the container marker volatile. (#1325, #1326)DisallowUnknownKeywordFactory, such fragment loads now succeed instead of throwing on unknown root fields; direct document loads still throw. If the selected schema references the root with$ref: "#", unknown root fields also remain annotations and do not reach the unknown-keyword factory. (#1205, #1323)ExecutionContext.isEvaluationAborted()andgetEvaluationAbort()during cleanup; an empty error slice after abort is not a validity verdict. Subclass builders supporting limits must use the protected builder constructor or forward both limits explicitly, since the legacy seven-argument constructor remains unlimited.Error.getMessageKey()now returns the message key when the schema supplies a custom message, such astypeorrequired, instead of the custom message text. Unresolved$ref,$dynamicRefand$recursiveReferrors returninternal.unresolvedRefinstead ofReference {0} cannot be resolved. UsegetMessage()for the text andisCustomMessage()to detect custom messages. Errors created without a key still use their message pattern as the key. (#1319, #1320)timeformat. (#1308, #1314) Thanks @MoChiUaenaminContainsandmaxContainsbefore Draft 2019-09, and treatmaxContains < minContainsas a validation failure rather than a schema error. (#1303, #1295) Thanks @ItsDeadlyProgrammeruniqueItemsvalidation for non-array inputs and compare items without copying them. (#1297, #1305) Thanks @PHJ2000 and @ItsDeadlyProgrammermultipleOfdivisors and bounds. (#1317, #1287, #1332, #1358)231c34b,377877b,558cc18)95825f3,83905ab,16f3495,f2d22d1,5515315,276fd58)v3.0.8Compare Source
Added
Changed
Error.isCustomMessage()to identify messages supplied by the schema through the configured error message keyword, while preserving the existingErrorconstructor's binary compatibility and JSON serialization format. (680d7b3,f8c7659)idn-hostnameformat (#1274) Thanks @dngr2uri-templateliterals (#1275) Thanks @dngr2PathTypewhen formatting schema locations inDiscriminatorValidatorexceptions (#1281) Thanks @youdie006nullablekeyword throughallOf/oneOf/anyOf,if/then/elseand$ref/$dynamicRef/$recursiveRefancestors, to any depth and in any order.nullableon a schema composed through these keywords now applies to the value they describe, for both thetypeandenumkeywords (#1278, #1279, #1283) Thanks @tomakehurstnullableon a container no longer applies to the values described by itsproperties,itemsandadditionalPropertiessubschemas. Previously anullablecontainer made its children acceptnull. Schemas relying on that must declarenullableon the child itself. (#1283) Thanks @tomakehurstoneOfno longer requires exactly one matching branch when the value isnulland anullableancestor permits it. Every branch acceptsnullin that case, so{"nullable": true, "oneOf": [ ... ]}previously reported that more than one branch matched. Branch errors are still reported when no branch matches. (#1283) Thanks @tomakehurstnullableno longer applies inside anotsubschema, so{"nullable": true, "not": {"type": "string"}}now acceptsnullwhere it previously reported anoterror. (#1283) Thanks @tomakehursttypeLooseenabled, the empty string no longer satisfies anenumon anullableschema.nullwas previously held in the accepted set and compared as text, where it renders as the empty string, so{"enum": ["a"], "nullable": true}accepted"". Only an actualnullis accepted now. (#1283) Thanks @tomakehurstnullabledeclared alongside$refis now ignored at the root of an OpenAPI 3.0 schema as it already was elsewhere, so{"$ref": "...", "nullable": true}rejectsnull. Siblings of a Reference Object are ignored in OpenAPI 3.0. (#1283) Thanks @tomakehurst.nan,.infand-.infvalues producing validation type errors instead of parser exceptions with Jackson 3.2.1 (#1228, #1282) Thanks @patpatpat123759445b,3d9971d,2575a02)f26327c,4649209)actions/checkout@v7andactions/setup-java@v6. (6f5d6c1)v3.0.7Compare Source
Added
Changed
v3.0.6Compare Source
Added
Changed
v3.0.5Compare Source
Added
Changed
v3.0.4Compare Source
Added
Changed
v3.0.3Compare Source
Added
Changed
v3.0.2Compare Source
Added
Changed
v3.0.1Compare Source
Added
Changed
v3.0.0Compare Source
Added
Changed
v2.0.8Compare Source
2.0.8- 2026-10-01
Added
Changed
nullablekeyword throughallOf/oneOf/anyOf,if/then/elseand$ref/$dynamicRef/$recursiveRefancestors, to any depth and in any order.nullableon a schema composed through these keywords now applies to the value they describe, for both thetypeandenumkeywords.nullableon a container no longer applies to the values described by itsproperties,itemsandadditionalPropertiessubschemas. Previously anullablecontainer made an inline (non-$ref) child acceptnull. Schemas relying on that must declarenullableon the child itself.oneOfno longer requires exactly one matching branch when the value isnulland anullableancestor permits it. Every branch acceptsnullin that case, so{"nullable": true, "oneOf": [ ... ]}previously reported that more than one branch matched. Branch errors are still reported when no branch matches.nullableno longer applies inside anotsubschema, so{"nullable": true, "not": {"type": "string"}}now acceptsnullwhere it previously reported anoterror.typeLooseenabled, the string"null"no longer satisfies anenumon anullableschema.{"enum": ["a"], "nullable": true}previously accepted the string"null"as well as an actualnull; only an actualnullis accepted now.v2.0.7Compare Source
2.0.7- 2026-08-20
Added
Changed
Errorconstructor after adding custom-message metadata.GitHub tag correction: this tag previously pointed to a 3.x commit on master. It now points to the verified 2.x release commit
ae64ed637f743c4a88b2a391f20b639fe7f7d8e3, whose POM and all 222 published Java source files match Maven Central. The published Maven artifacts were already correct.v2.0.6Compare Source
2.0.6- 2026-08-20
Added
Error.isCustomMessage()to identify schema-supplied validation messages.Changed
Restored missing GitHub tag and release. The release commit was verified against the existing Maven Central POM and all 222 published Java source files.
v2.0.5Compare Source
2.0.5- 2026-08-20
Added
Changed
GitHub tag correction: this tag previously pointed to a 3.x commit on master. It now points to the verified 2.x release commit
1fedf7133bb9ba4b41c7e3575abea01a6d5b61d0, whose POM and all 222 published Java source files match Maven Central. The published Maven artifacts were already correct.v2.0.4Compare Source
2.0.4- 2026-07-07
Added
Changed
GitHub tag correction: this tag previously pointed to a 3.x commit on master. It now points to the verified 2.x release commit
2ad25293fe9f28a43867b2e57fabb0a01f68317f, whose POM and all 222 published Java source files match Maven Central. The published Maven artifacts were already correct.v2.0.3Compare Source
2.0.3- 2026-06-23
Added
Changed
GitHub tag correction: this tag previously pointed to a 3.x commit on master. It now points to the verified 2.x release commit
8f2afe9090b1745b920fdbebf8f2a4f707eba0a5, whose POM and all 222 published Java source files match Maven Central. The published Maven artifacts were already correct.v2.0.2Compare Source
2.0.2- 2026-06-21
Added
Changed
fixes #1248 validating draft4 schemas (#1249)
fixes #1248 validating draft4 schemas
Address regex factory review comments
Rename regex specification version variable
fixes #1174 TextNodes as schema seem to validate any value (#1250)
fixes #1174 TextNodes as schema seem to validate any value
Address loaded schema validation for issue 1174
Address schema node validation review comments
Preserve mapped schema override path
Validate referenced document fragment schemas
Remove duplicate schema type validation
Validate loaded schemas for anchor refs
fixes #1252 problem with additionalProperties schema in jsconfig schema (#1253)
Add method to SpecificationVersion to determine from schema node (#1221)
Manual adjustments for Jackson 2 compatibility and CVE fix
GitHub tag correction: this tag previously pointed to a 3.x commit on master. It now points to the verified 2.x release commit
a3e58d9e55754e940277d2a1342bb1d3c2061e69, whose POM and all 222 published Java source files match Maven Central. The published Maven artifacts were already correct.v2.0.1Compare Source
Added
Changed
v2.0.0Compare Source
Added
Changed
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.