git.iko.soy/typeable/hjsonschema
on 1.0.0.0 help sign in
typeable/hjsonschema/changelog.txt
123 lines 3.6 kB history raw
1# 1.0.0.0
3## Bug fixes:
5+ Fix JSON Pointer bug. Pointers were being built in reverse order and so were
6totally invalid.
7+ Use `.:!` instead of `.:?` to parse the draft 4 schema. The only way to omit
8optional fields in JSON Schema Draft 4 is to omit them entirely, `"null"`
9can't be used for this.
11## API Changes:
13+ Add referenced schema loop detection.
14+ Add a new `referencesValidity` function.
15+ `checkSchema` now checks referenced schema's validity in addition to the
16starting schema's validity. This change bubbles up to the one-step validation
17functions as well.
18+ Switch most of the fetching code to use `URISchemaMap` instead of
19`ReferencedSchemas`. It didn't need to know about the more complicated data
20type.
21+ Rething failure related names. Change `Invalid` to `Failure`, add a new
22`Invalid` type alias which is only used for final results.
23+ Failures now include the failing part of the data as well as a JSON Pointer to
24it, so you don't have to worry about resolving the pointer.
26## Fundamental Changes:
28+ Make `Fail` (previously `Failure`) an instance of `Functor`.
29+ Add a `Validator` data type which is an instance of `Profunctor`.
30+ Add a `Spec` data type for collections of `Validators`.
32## General:
34+ Switch from 2 to 4 space indentation.
35+ Update the vendored JSON Schema Test Suite.
37# 0.10.0.3
39+ Bump http-client.
41# 0.10.0.2
43+ Enable GHC 8.
45# 0.10.0.1
47+ Fix .cabal file.
49# 0.10
51+ Rewrite fetching internals.
52+ Fix reference resolution defects, add more tests.
53+ Switch to a Perl style regex library, which is closer to ECMAScript regexes
54than the previous Posix style one.
55+ Add one-step validation functions ('fetchFilesystemAndValidate' and 'fetchHTTPAndValidate').
56+ Alias the validation failure type exported by 'Data.JsonSchema.Draft4' to
57'Invalid', change its field names.
59# 0.9
61+ Partial rewrite. The API of the library has changed, see the examples
62folder for how to use the new one.
64+ Users of the library can now write schemas in Haskell as well as JSON.
66# 0.8
68+ Improve scope updating and resolving.
69+ Rename RawSchema's _rsObject field to _rsData.
70+ Make RawSchema's _rsURI field a Maybe. This way schemas without a starting
71URI can say so explicitly with Nothing instead of with "".
72+ Rename Graph to SchemaGraph. Declare it with data instead of type. Give it a
73field referencing the starting schema. This field is used to find the curent
74schema if no URI is in scope and a self-referencing $ref is found (e.g. "#").
75+ Change the order of the last two arguments to fetchReferencedSchemas.
77# 0.7.1
79+ Support GHC 7.8 again.
81# 0.7
83Change error type from Text to ValidationFailure.
85Revert the 0.6 changes to validate. Also switch from Vector
86to list. Validate is now:
87 Schema err -> Value -> [ValidationFailure err]
89Add fetchReferencedSchemas', which lets the user provide their
90own MonadIO function to be used when fetching schemas. This lets
91them do things like only fetch schemas from particular domains.
93# 0.6
95Break the API so the library doesn't induce boolean blindness.
97Change validate
98 was: Schema -> Value -> Vector ValErr
99 now: Schema -> Value -> Either (Vector ValErr) Value
101Change Schema
102 was: type Schema = Vector Validator
103 now: newtype Schema = Schema { _unSchema :: [Validator] }
105# 0.5.3
107+ Switch from http-conduit to http-client.
109# 0.5.2
111+ Add convenience function for validating and compiling draft 4 schemas
112simultaneously.
114# 0.5.1
116+ Switch from wreq to http-conduit; drop lens dependency.
118# 0.5
120+ Start changelog.
121+ Rename Utils.hs to Helpers.hs.
122+ Move all non-ValidatorGen functions in Validators.hs to Helpers.hs.
123+ Various touchups.