@epoberezkin epoberezkin released this Jan 7, 2018 · 117 commits to master since this release

Assets 2

Changes from v5.5.2

draft-07 support:

  • if/then/else keywords
  • $comment keyword
  • default meta-schema is draft-07

Schema IDs

  • only $id keyword is used as schema ID by default.
  • schemaId option should be set to "id" or "auto" for id keyword to be used.
    See Options.


  • date, date-time, time: support leap year and leap second
  • json-pointer: only validates a string format of JSON pointer
  • json-pointer-uri-fragment: to validate uri-fragment format of JSON pointer

Keyword changes

  • Improved algorithm for uniqueItems keyword to validate an array of same-type scalars in one pass
  • Keywords uniqueItems and contains are validated after items and type coercion (with coerceTypes option)
  • Additional error parameters for oneOf keyword
  • Removed deprecated patternGroups keyword
  • Reserved annotation keywords: examples, readOnly, writeOnly, contentEncoding, contentMediaType.


  • Defaults are now assigned inside schemas of then/else keywords.
  • Option $comment to log/pass to a function strings from $comment keyword.
  • Async schemas can only be compiled to async functions, compilation to generator functions is no longer supported.
  • Documented convention for plugins.
  • Removed v5 meta-schema.
  • Removed nodent bundle, ajv-async bundle includes nodent now.