blob: d75fafdba4247c388ded7053862e8191abe742f0 [file] [log] [blame]
luajson v1.1.1 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
----------------------
The next version should hopefully have more error reporting capabilities,
such as returning where an error occurred and possibly details.
How this will be done is a research-item.
Updates since 1.1
=================
Thomas Harning Jr (3):
-ungrouped-
Merge branch '1.0.x'
decoder/encoder:
better handles number encoding/decoding for cases where tonumber/tostring don't work as expected