on master help sign in
Finalize 1.0.0.0 changelog
commitb00f84a4da477e64f7f1f9c62403e41ccc7bc586 authorAdam Bergmark <adam@bergmark.nl> dateSat 30 Jul 2016, 16:48 (10 years ago) parent90a6d4b
1 file changed+43−24
changelog.md+43−24
changelog.md+43−24
@@ -2,52 +2,71 @@ For the latest version of this document, please see [https://github.com/bos/aeso
22
33# 1.0.0.0
44
5−* Added list specific members to `ToJSON` and `FromJSON` classes. In the same
6− way `Read` / `Show` handle lists specifically. This removes need for
7− overlapping instances to handle `String`.
5+Major enhancements:
86
9−* Added higher rank classes: `ToJSON1`, `ToJSON2`, `FromJSON1`, and `FromJSON2`.
7+* Introduced new `FromJSONKey` and `ToJSONKey` type classes that are
8+ used to encode maps without going through HashMap
109
11−* Introduced new `FromJSONKey` and `ToJSONKey` type classes that is used to encode maps.
10+* Added higher rank classes: `ToJSON1`, `ToJSON2`, `FromJSON1`, and
11+ `FromJSON2`.
1212
13−* Integral `FromJSON` instances now only accepts integral values. E.g. parsing `3.14` will fail instead of succeeding with the value `3`.
13+* Added `Data.Aeson.Encoding` with functions to safely write `ToJSON`
14+ instances using `toEncoding`.
1415
15−* Over/underflows are now caught for bounded numeric types.
16+Other enhancements:
17+
18+* Added list specific members to `ToJSON` and `FromJSON` classes. In
19+ the same way `Read` and `Show` handle lists specifically. This
20+ removes need for overlapping instances to handle `String`.
1621
17−* Added `Data.Aeson.Encoding` with functions to safely write `ToJSON` instances using `toEncoding`.
22+* Added a new `sumEncoding` option `UntaggedValue` which prevents
23+ objects from being tagged with the constructor name.
1824
19−* Added a new `sumEncoding` option `UntaggedValue` which prevents objects from being tagged with the constructor name.
25+* JSONPaths are now tracked in instances derived with template-haskell
26+ and generics.
27+
28+* Get rid of redundancy of JSONPath error messages in nested records.
29+
30+ `eitherDecode "{\"x\":{\"a\": [1,2,true]}}" :: Either String Y`
31+ previously yielded
32+ `Error in $.x.a[2]: failed to parse field" x: failed to parse field a: expected Int, encountered Boolean`
33+ and now yields `Error in $.x.a[2]: expected Int, encountered Boolean"`.
34+
35+ Some users might prefer to insert `modifyFailure` themselves to
36+ customize error messages, which previously prevented the use of
37+ `(.:)`.
38+
39+* Backwards compatibility with `bytestring-0.9` using the
40+ `bytestring-builder` compatibility package.
2041
2142* Export `decodeWith`, `decodeStrictWith`, `eitherDecodeWith`, and
2243 `eitherDecodeStrictWith` from `Data.Aeson.Parser`. This allows
2344 decoding using explicit parsers instead of using `FromJSON`
2445 instances.
2546
47+* Un-orphan internal instances to render them in haddocks.
48+
49+Other changes:
50+
51+* Integral `FromJSON` instances now only accept integral
52+ values. E.g. parsing `3.14` to `Int` fails instead of succeeding
53+ with the value `3`.
54+
55+* Over/underflows are now caught for bounded numeric types.
56+
2657* Remove the `contents` field encoding with `allNullaryToStringTag = False`,
2758 giving us `{ "tag" : "c1" }` instead of `{ "tag" : "c1", contents : [] }`.
28− The contents field is optional when parsing so this is only a breaking change for ToJSON.
59+ The contents field is optional when parsing so this is only a breaking
60+ change for ToJSON instances.
2961
3062* Fix a bug where `genericToEncoding` with `unwrapUnaryRecords = True`
3163 would produce an invalid encoding: `"unwrap\":""`.
3264
33−* Get rid of redundancy of JSONPath error messages in nested records.
34−
35− `eitherDecode "{\"x\":{\"a\": [1,2,true]}}" :: Either String Y`
36− previously yielded `Error in $.x.a[2]: failed to parse field" x:
37− failed to parse field a: expected Int, encountered Boolean` and now
38− yields `Error in $.x.a[2]: expected Int, encountered Boolean"`.
39−
40− Some users might prefer to insert `modifyFailure` themselves to
41− customize error messages, which previously prevented the use of
42− `(.:)`.
43−
4465* `ToJSON` instances using `genericToEncoding` and `omitNothingFields`
45− no longer produces invalid JSON.
66+ no longer produce invalid JSON.
4667
4768* Added instances for `DList`, `Compose`, `Product`, `Sum`.
4869
49−* Backwards compatibility with `bytestring-0.9` using the `bytestring-builder` compatibility package.
50−
5170### 0.11.2.0
5271
5372* Enable `PolyKinds` to generalize `Proxy`, `Tagged`, and `Const` instances.