Changelog History
Page 3
-
v1.0.0.0 Changes
๐ Bug fixes:
- ๐ Fix JSON Pointer bug. Pointers were being built in reverse order and so were totally invalid.
- ๐ Use
.:!
instead of.:?
to parse the draft 4 schema. The only way to omit optional fields in JSON Schema Draft 4 is to omit them entirely,"null"
can't be used for this.
API Changes:
- โ Add referenced schema loop detection.
- โ Add a new
referencesValidity
function. checkSchema
now checks referenced schema's validity in addition to the starting schema's validity. This change bubbles up to the one-step validation functions as well.- Switch most of the fetching code to use
URISchemaMap
instead ofReferencedSchemas
. It didn't need to know about the more complicated data type. - Rething failure related names. Change
Invalid
toFailure
, add a newInvalid
type alias which is only used for final results. - Failures now include the failing part of the data as well as a JSON Pointer to it, so you don't have to worry about resolving the pointer.
Fundamental Changes:
- ๐ Make
Fail
(previouslyFailure
) an instance ofFunctor
. - โ Add a
Validator
data type which is an instance ofProfunctor
. - โ Add a
Spec
data type for collections ofValidators
.
General:
- Switch from 2 to 4 space indentation.
- โก๏ธ Update the vendored JSON Schema Test Suite.
-
v0.10 Changes
- Rewrite fetching internals.
- ๐ Fix reference resolution defects, add more tests.
- ๐ Switch to a Perl style regex library, which is closer to ECMAScript regexes than the previous Posix style one.
- โ Add one-step validation functions ('fetchFilesystemAndValidate' and 'fetchHTTPAndValidate').
- Alias the validation failure type exported by 'Data.JsonSchema.Draft4' to 'Invalid', change its field names.
-
v0.10.0.3 Changes
- โฌ๏ธ Bump http-client.
-
v0.10.0.2 Changes
- Enable GHC 8.
-
v0.10.0.1 Changes
- ๐ Fix .cabal file.
-
v0.9 Changes
๐ Partial rewrite. The API of the library has changed, see the examples folder for how to use the new one.
๐ Users of the library can now write schemas in Haskell as well as JSON.
-
v0.8 Changes
- ๐ Improve scope updating and resolving.
- Rename RawSchema's _rsObject field to _rsData.
- ๐ Make RawSchema's _rsURI field a Maybe. This way schemas without a starting URI can say so explicitly with Nothing instead of with "".
- ๐ Rename Graph to SchemaGraph. Declare it with data instead of type. Give it a field referencing the starting schema. This field is used to find the curent schema if no URI is in scope and a self-referencing $ref is found (e.g. "#").
- ๐ Change the order of the last two arguments to fetchReferencedSchemas.
-
v0.7.1 Changes
- ๐ Support GHC 7.8 again.
-
v0.7 Changes
๐ Change error type from Text to ValidationFailure.
โช Revert the 0.6 changes to validate. Also switch from Vector to list. Validate is now: Schema err -> Value -> [ValidationFailure err]
โ Add fetchReferencedSchemas', which lets the user provide their own MonadIO function to be used when fetching schemas. This lets them do things like only fetch schemas from particular domains.
-
v0.6 Changes
Break the API so the library doesn't induce boolean blindness.
๐ Change validate was: Schema -> Value -> Vector ValErr now: Schema -> Value -> Either (Vector ValErr) Value
๐ Change Schema was: type Schema = Vector Validator now: newtype Schema = Schema { _unSchema :: [Validator] }