all: sets _ENV to nil using local _ENV = nil to avoid global writing
[luajson.git] / docs / ReleaseNotes-1.0.2.txt
bloba73e20f9b04637f80cc238d92d2c548977862b09
1 luajson v1.0.2 Release Notes
2 ============================
4 User Visible Changes
5 --------------------
6 In Windows, Lua's tostring and tonumber handling occur differently for
7 the boundary cases of NaN, Infinity, and -Infinity values.  This broke
8 Windows encoding/decoding of JSON for which these values are present.
10 Example input/outputs:
12 Windows:
14  * tonumber("Infinity") == nil
15  * tostring(1/0) == "1.#INF"
16  * tostring(0/0) == "-1.#IND"
18 Linux:
20  * tonumber("Infinity") == inf
21  * tostring(1/0) == "inf"
22  * tostring(0/0) == "nan"
24 The code that decoded was changed to report the output manually on decode
25 rather than decode 'generically' using 'tonumber'.
27 The code that encoded was changed to use numerical equivalence checking
28 before returning what 'tostring' would have, which should catch nearly
29 all cases.
31 Checks were updated to do:
33  * nan  =>  value ~= value
34  * inf  =>  value == math.huge
35  * -inf =>  value == -math.huge
37 Plans for next release
38 ----------------------
39 Bugfixes only in the 1.0.x series.
41 Updates since 1.0.1
42 ===================
44 Thomas Harning Jr (2):
45         decoder/encoder:
46                 better handles number encoding/decoding for cases where tonumber/tostring don't work as expected