- [Breaking] error data to always contain
schema
andvalue
- [Breaking] getSchema arguments changed to options-object
- [Add] withSchemaWarning option for getSchema to always return an error fpr undefined schema
- [Breaking] renamed
JSON
types and variables toJson
- [Breaking] remove
oneOfSchema
helper property in favor ofgetOneOfOrigin()
non-enumerable function - [Breaking]
getTemplate
will add only required properties per default. UseaddOptionalProps:true
to change this behaviour - [Breaking] change
unique-items-error
to point to error for duplicated item. - [add] introduce
mergeSchema
,reduceSchema
andresolveDynamicSchema
- [refactor] move dynamic resolvers
anyOf
,allOf
,oneOf
,dependencies
andif
to features modules
- changed core interface to draft for simpler configuration using a configuration map
Breaking Changes
- replaced
Core
interface by newDraft
interface - changed export of
Interface
toDraft
- changed export of
Interface
toDraft
- renamed
addSchema
toaddRemoteSchema
- changed api of
compileSchema
to have an additional schema-parameter for rootSchema reference - changed
compileSchema
andaddRemoteSchema
to work on instance state, instead of global state addRemoteSchema
,compileSchema
now requires draft instance as first parameter- removed direct export of following functions:
addValidator
,compileSchema
,createSchemaOf
,each
,eachSchema
,getChildSchemaSelection
,getSchema
,getTemplate
,isValid
,step
,validate
. They are still accessible under the draftConfigs of each draft-version - changed draft version of
JsonEditor
to draft07
Milestone
- [✓] configurable and consistent draft api
- [✓] expose all function under their draft-version
- [✓] remove global states in remotes
- [✓] Feature -- add support for dependencies in getSchema and getTemplate
- [✓] Feature -- added isJSONError type guard
- fixe and improve types
- [✓] Fix -- latest benchmark tests
- [✓] Fix -- iterate schema (using typeDefs)
- [✓] Fix -- scopes per schema-instance
- [✓] Fix -- insane $ref resolution 'node' can be in 'root/node' or 'root/folder/node'
- [✓] Refactor -- remove duplication from resolveRef.strict and resolveRef.withOverwrite
- [✓] Change -- improve function apis (param order, rootSchema per default)
- [✓] Fix --
getTemplate
to resolve $ref to infinity
Breaking Changes
iterateSchema
renamed toeachSchema
validate
andisValid
changed signature from (schema, data, [pointer]) to (data, [schema], [pointer])validateAsync
changed signature from (schema, data, [pointer], [onError]) to (data, [{ schema, pointer, onError }])getTemplate
changed signature from (schema, data) to (data, [schema])getSchema
changed signature from (schema, data, [pointer]) to (pointer, [data], [schema])each
changed signature from (schema, data, [pointer]) to (data, [schema], [pointer])resolveOneOf
changed signature from (schema, data, [pointer]) to (data, [schema], [pointer])precompileSchema
renamed tocompileSchema
Milestone consistent feature support
- [✓] no side-effects on added remote-schemas
- [✓] rootSchema should always be compiled
- [✓] Add missing support for allOf and anyOf type definitions in 'step' and 'getTemplate'
- [✓] Complete schema support in iterateSchema
- [~] Features -- Improve validation maps to add & hook (!) custom entries (WIP, Add tests)
- [✓] Fix -- Return all errors in oneOf-validation
- [✓] Feature -- Error progress notification for async validation
- [✓] Refactor -- Keyword validators should only be called for defined keyword
- [✓] Feature -- getSchema of patternProperties
Milestone add remaining draft04 features
- [✓] remote references
- [✓] default format validations
- [✓] definitions
- [✓] dependencies
- [✓] Features -- allOf
- [✓] Features -- anyOf
- [✓] Features -- type-array
- [✓] Features -- patternProperties
- [✓] Features -- uniqueItems
- [✓] Features -- oneOf: fail for multiple matching oneof-schemas
- [✓] Features -- oneOf: for non-arrays
- [✓] Features -- required (array of properties). Currently every property is required by default
- [✓] Testing (validate real json files)
- [✓] Test + document core differences
- [✓] Add async validation
Milestone customizable default and form (json-editor) validation
- [✓] Sanitize Errors
- [✓] Features -- Add core: Form, fix core: Draft04 - by using separate functions
- [✓] Add getTemplate to core (resolveOneOf)
- [✓] Breaking -- Add sort of 'core' to customize validation, stepper, errors etc and reduce requried arguments
Milestone custom validator (form-validation, oneOfProperty)
- [✓] Features -- additionalProperties: Boolean | Schema
- [✓] Features -- additionalItems: Boolean | Schema
- [✓] Features -- Add support for type "integer"
- [✓] Features -- oneOf -> oneOfProperty ( + Documentation)
- [✓] Breaking -- change isValid to return boolean
- [✓] Breaking -- use
step
in isValid -- bad: circular dependencies with step -> guessOneOfSchema -> isValid --X-> step - [✓] Features -- items: [] schema (order/defined indices)
- [✓] Features -- not
- [✓] Features -- return custom errors in data validation
- [✓] Basics