RelaxedSchema: allow additional properties
#2626
Draft
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.
Description:
Fixes RelaxedSchema to properly relax closed object schemas by dropping
additionalProperties: falseduring deserialization.This aligns relaxed schemas with their intended use for schema intersection and forward-compatible document validation.
Workflow steps:
(How does one use this feature, and how has it changed)
Documentation links affected:
(list any documentation links that you created, or existing ones that you've identified as needing updates, along with a brief description)
Notes for reviewers:
Unit tests pass and test:
additionalProperties: falseis removed during relaxation, ensuring relaxed schemas no longer enforce closed objects and accept unknown fields.additionalProperties: trueis preserved, proving the relaxation does not alter schemas that explicitly allow arbitrary properties.additionalPropertiesis retained while its internal constraints are relaxed, maintaining structural intent without over-restricting validation.