- Add
base-compat-batteries
dependency, and remove test dependency onaeson-utils
.
- aeson-0.10 produces new error messages so the test-suite was updated to reflect this.
- Raise upper length limit of
UTCTime
since aeson-0.9 increased the precision. - Add
JSONSchema Aeson.Value
instance.
- Allow
generic-deriving 1.8.*
- Allow
vector 0.11.*
- Allow
aeson 0.9.*
- Allow
attoparsec 0.13.*
- Fix compilation on GHC 7.2 and 7.4
- Allow
tagged 0.8.*
in test-suite
- Allow
tagged 0.8.*
- test-suite: Allow
aeson-utils 0.3.*
- Add
JSONSchema
instances for all standard Num types and Scientific.
- Add
JSONSchema
instances for Double, Float, Fixed
- Allow
generic-deriving 1.7.*
- Export
GJSONSchema
type to allow clients to write type signatures forgSchema
andgSchemaWithSettings
.
- Allow time 1.5.*
- Drop support for old tasty versions
-
Removed the
Null
constructor fromSchema
, useData.JSON.Schema.Combinators.nullable
instead. -
Added the
Validation
module that can be used to validate a json object against a schema and to get descriptive error messages. -
Updates for
Maybe
fixes ingeneric-aeson 0.2.0.0
including more thorough test cases.
- Bugfix: Remove underscores from fields and constructors in generated schemas to match generic-aeson.
- Add JSONSchema instances for tuples up to length 15 (matching aeson 0.8 instances)
- Specify uniqueness for JSONSchema instances for Set.
Breaking changes:
- Add
Constant Aeson.Value
type toSchema
- Change Number to take a
Bound
for the boundary. Before this the upper bound could not be-1
. - Change
Value
andArray
to take aLengthBound
. The difference from Number is that these values should always be>= 0
if present.
Minor:
- Add
Bound { lower :: Maybe Int, upper :: Maybe Int }
- Add
unbounded
as a shorthand for aBound
without restrictions - Add
LengthBound { lowerLength :: Maybe Int, upperLength :: Maybe Int }
- Add
unboundedLength
as a shorthand for aLengthBound
without restrictions - Add remaining
JSONSchema
instances based on existing Aeson instances.UTCTime
,Set
, LazyText
, and tuples up to length 7. - Add
enum
combinator as a shorthand for creating aChoice
ofConstant
s
JSONSchema
instances forData.Vector
,Data.Map
, andData.HashMap
- Add
Map
type for json objects with arbitrary keys - Add
Any
type for any json value - Don't generate empty field names in ojbects for constructors without labeled fields