All notable changes to this project will be documented in this file. Please keep to the changelog format described on keepachangelog.com. This project adheres to Semantic Versioning.
- All limit classes are now stored in their own files in 'json-schema/attributes/limits'
- All attribute classes are now stored in their own files in 'json-schema/attributes'
- Corrected the draft6 schema id to
http://json-schema.org/draft/schema#
- Rescue URI error when initializing a data string that contains a colon
- Fragments with an odd number of components no longer raise an
undefined method
validate'` error
- Ruby 2.4 support
- Made the
:clear_cache
option forvalidate
also clear the URI parse cache - Moved
JSON::Validator.absolutize_ref
and the ref manipulating code inJSON::Schema::RefAttribute
intoJSON::Util::URI
- Made validation errors refer to json schema types not ruby types
JSON::Validator#validator_for
in favor ofJSON::Validator#validator_for_uri
JSON::Validator.validate2
in favor ofJSON::Validator.validate!
JSON::Schema::Validator#extend_schema_definition
in favour of subclassing
- Made sure we really do clear the cache when instructed to
- It's now possible to use reserved words in property names
- Removed support for setting "extends" to a string (it's invalid json-schema - use a "$ref" instead)
- Relaxed 'items' and 'allowedItems' validation to permit arrays to pass even when they contain fewer elements than the 'items' array. To require full tuples, use 'minItems'.
- Made all
validate*
methods onJSON::Validator
ultimately callvalidate!
- Updated addressable dependency to 2.4.0
- Attached failed
uri
orpathname
to read errors for more meaning
- Made it possible to include colons in a $ref
- Reformatted examples in the readme
- Made sure schemas of an unrecognized type raise a SchemaParseError (not Name error)
- Readme was converted from textile to markdown
- Added a changelog
- Improved performance by caching the parsing and normalization of URIs
- Made validation failures raise a
JSON::Schema::SchemaParseError
and data loading failures aJSON::Schema::JsonLoadError