base: rockspec 1.3.1-1 final tagging
[luajson.git] / docs / ReleaseNotes-1.1.1.txt
blobd75fafdba4247c388ded7053862e8191abe742f0
2 luajson v1.1.1 Release Notes
3 ============================
5 User Visible Changes
6 --------------------
7 In Windows, Lua's tostring and tonumber handling occur differently for
8 the boundary cases of NaN, Infinity, and -Infinity values.  This broke
9 Windows encoding/decoding of JSON for which these values are present.
11 Example input/outputs:
13 Windows:
15  * tonumber("Infinity") == nil
16  * tostring(1/0) == "1.#INF"
17  * tostring(0/0) == "-1.#IND"
19 Linux:
21  * tonumber("Infinity") == inf
22  * tostring(1/0) == "inf"
23  * tostring(0/0) == "nan"
25 The code that decoded was changed to report the output manually on decode
26 rather than decode 'generically' using 'tonumber'.
28 The code that encoded was changed to use numerical equivalence checking
29 before returning what 'tostring' would have, which should catch nearly
30 all cases.
32 Checks were updated to do:
34  * nan  =>  value ~= value
35  * inf  =>  value == math.huge
36  * -inf =>  value == -math.huge
38 Plans for next release
39 ----------------------
40 The next version should hopefully have more error reporting capabilities,
41 such as returning where an error occurred and possibly details.
42 How this will be done is a research-item.
44 Updates since 1.1
45 =================
47 Thomas Harning Jr (3):
48         -ungrouped-
49                 Merge branch '1.0.x'
50         decoder/encoder:
51                 better handles number encoding/decoding for cases where tonumber/tostring don't work as expected