@hackage / jsonschema

JSON Schema derivation and validation

Latest0.3.0.1

Changelog

Changelog

0.3.0.1

  • Fix local $ref URI-fragment handling to follow RFC 6901: render definition names with JSON Pointer escaping followed by UTF-8 percent encoding, and percent-decode fragments as UTF-8 before resolving the JSON Pointer. Malformed escapes and invalid UTF-8 now fail resolution cleanly.

0.3.0.0

  • Add value-directed schema construction: a structured Schema type (with Field, AdditionalProperties, and SchemaDocument) plus schemaToValue / schemaDocumentToValue renderers, re-exported from Data.JSON.JSONSchema. Build a schema from runtime values when your "types" are data rather than Haskell types. The SRaw constructor is an escape hatch for embedding an arbitrary schema Value (any keyword outside the structured subset) at any node.
  • Expose the detailed-error validation API through Data.JSON.JSONSchema: validate, validateWithErrors, and ValidationError(..) are now re-exported alongside validateJSONSchema (fixes the README's broken JSONSchema.Validation import; resolves #1).
  • Fix derived schemas for non-record products (tuples): emit minItems/maxItems to pin the exact array length. Previously only items: false was emitted, which caps the upper bound but wrongly accepted arrays shorter than the constructor's arity. This changes the generated schema for such types (hence the major bump).

0.2.0.1

  • Widen dependency bounds to support GHC 9.12.2.

0.2.0

  • Move the public API to Data.JSON.JSONSchema and supporting machinery to Data.JSON.ToJSONSchema.
  • Tighten derived record/sum schemas to emit required arrays and discriminator requirements.
  • Fix numeric validation to operate on exact Scientific values.
  • Add regression coverage for large integers and high-precision decimals.

0.1.0

  • Initial release with JSON Schema 2020-12 generation and validation support.