on master help sign in
Update changelog with description of JSONTestSuite deviations
commitbd76aa1fa1ed69c15c3a59f9605efb342f43ee29 authorBryan O'Sullivan <bryano@fb.com> dateFri 28 Oct 2016, 20:43 (10 years ago) parent8ef622c
1 file changed+21−4
changelog.md+21−4
changelog.md+21−4
@@ -2,13 +2,30 @@ For the latest version of this document, please see [https://github.com/bos/aeso
22
33#### WIP
44
5−[JSONTestSuite](https://github.com/nst/JSONTestSuite) cleanups:
5+[JSONTestSuite](https://github.com/nst/JSONTestSuite) cleanups, all
6+motivated by tighter RFC 7159 compliance:
67
78* The parser now rejects numbers for which
8− [the integer portion contains a leading zero](https://github.com/bos/aeson/commit/3fb7c155f2255482b1b9566ec5c1eaf9895d630e)
9− or [a decimal point is not followed by at least one digit](https://github.com/bos/aeson/commit/ecfca35a45286dbe2bbaf5f62354be393bc59b66),
10− per RFC 7159.
9+ [the integer portion contains a leading zero](https://github.com/bos/aeson/commit/3fb7c155f2255482b1b9566ec5c1eaf9895d630e).
10+* The parser now rejects numbers for which
11+ [a decimal point is not followed by at least one digit](https://github.com/bos/aeson/commit/ecfca35a45286dbe2bbaf5f62354be393bc59b66),
12+* The parser now rejects documents that contain [whitespace outside the
13+ set {space, newline, carriage return, tab}](https://github.com/bos/aeson/commit/8ef622c2ad8d4a109884e17c2792238a2a320e44).
14+
15+Over 90% of JSONTestSuite tests currently pass. The remainder can be
16+categorised as follows:
17+
18+* The string parser is strict with Unicode compliance where the RFC
19+ leaves room for implementation-defined behaviour (tests prefixed
20+ with "`i_string_`". (This is necessary because the `text` library
21+ cannot accommodate invalid Unicode.)
22+
23+* The parser does not (and will not) support UTF-16, UTF-32, or byte
24+ order marks (BOM).
1125
26+* The parser accepts unescaped control characters, even though the RFC
27+ states that control characters must be escaped. (This may change at
28+ some point, but doesn't seem important.)
1229
1330
1431#### 1.0.2.1