2.0.8- 2026-10-01
Added
Changed
- Resolve the OpenAPI
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.- With
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.