diff --git a/CHANGELOG.md b/CHANGELOG.md index 878e726..ef4e57c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -362,6 +362,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- The validation framework's public types are renamed to match the + OpenAPIKit validation idiom's canonical names: `Check` is now + `Validation`, `Issue` is `ValidationError`, `Issue.Collection` is the + top-level `ValidationErrorCollection` (with `.issues` renamed to + `.values`), `SubjectContext` is `ValidationContext`, `BuiltinCheck` is + `BuiltinValidation`, and `AnyCheck` is `AnyValidation`. `ValidationError.description` + drops its severity prefix and renders `" at root of document"` / + `" at path: "`. `Validator` is now a reference-type + `final class` with a two-tier `nonReferenceDefaultValidations`/ + `referenceDefaultValidations` split, generic over both the walked + `Subject` type and the cross-cutting `Document` via a new `Traversable` + protocol; `Tagged.Validator` is now a type alias over the same shared + class instead of its own duplicated traversal implementation. The JSON + representability rule set (`PureYAMLJSON`) is built with the same tiered + constructor. Adds the `unwrap` combinator. - `parseTagged(_:)`/`parseTaggedStream(_:)` now preserve alias references as `alias` nodes instead of expanding them into copies of the anchored node, and populate the new `anchor`/`style` fields from the source.