blob: a73e20f9b04637f80cc238d92d2c548977862b09 [file] [log] [blame]
luajson v1.0.2 Release Notes
============================
User Visible Changes
--------------------
In Windows, Lua's tostring and tonumber handling occur differently for
the boundary cases of NaN, Infinity, and -Infinity values. This broke
Windows encoding/decoding of JSON for which these values are present.
Example input/outputs:
Windows:
* tonumber("Infinity") == nil
* tostring(1/0) == "1.#INF"
* tostring(0/0) == "-1.#IND"
Linux:
* tonumber("Infinity") == inf
* tostring(1/0) == "inf"
* tostring(0/0) == "nan"
The code that decoded was changed to report the output manually on decode
rather than decode 'generically' using 'tonumber'.
The code that encoded was changed to use numerical equivalence checking
before returning what 'tostring' would have, which should catch nearly
all cases.
Checks were updated to do:
* nan => value ~= value
* inf => value == math.huge
* -inf => value == -math.huge
Plans for next release
----------------------
Bugfixes only in the 1.0.x series.
Updates since 1.0.1
===================
Thomas Harning Jr (2):
decoder/encoder:
better handles number encoding/decoding for cases where tonumber/tostring don't work as expected