Release Schema Tools v0.1.2

This commit is contained in:
2026-09-01 16:20:37 +02:00
parent 2f60a6d0a7
commit 754608e52b
21 changed files with 1351 additions and 238 deletions
+12
View File
@@ -1,5 +1,17 @@
# Changelog
## 0.1.2 - 2026-09-01
- Refused invalid sample claims when `false` JSON Schemas are reached through local references or required combiners, while selecting the first viable `anyOf` or `oneOf` branch.
- Centralized sample budgets across JSON Schema, OpenAPI, XSD, Relax NG, and Schematron output.
- Applied the 512 KiB aggregate text budget to repeated XML names, attributes, and values, and corrected XML/JSON ceilings to never exceed 2,000 generated values or elements and exactly 20 generated nesting levels.
- Made text truncation UTF-16-safe so it never splits a surrogate pair and corrupts generated XML.
- Preserved direct-root Relax NG `element` patterns in generated samples.
- Added a monotonic 50,000-step work ceiling that refuses over-budget generation, so repeated references, failed alternatives, and non-emitting pattern fan-out cannot amplify work or bypass later mandatory constraints.
- Replaced costly live DOM child-collection conversions with linear sibling-pointer walks and cached bounded XSD type shapes.
- Cached reused schema/reference and XML pattern lookups, and omitted duplicate derived XML attributes so generated samples remain well formed.
- Added adversarial regressions for referenced boolean schemas, exhausted combiners and required values, amplified shared XSD values, wide XML containers, repeated Relax NG references, and exact JSON/XML node limits.
## 0.1.1 - 2026-09-01
- Bounded literal values, aggregate text, derived XML names, collections, and final output during sample generation.