62 lines
2.3 KiB
Plaintext
62 lines
2.3 KiB
Plaintext
|
Version 2.2 (2012-04-28)
|
||
|
===========
|
||
|
|
||
|
Changes since version 2.1:
|
||
|
|
||
|
* __jsontype is only used for empty tables.
|
||
|
* It is possible to decode tables without assigning metatables.
|
||
|
* Locations for error messages were off by one in the first line.
|
||
|
* There is no LPeg version of json.quotestring anymore.
|
||
|
|
||
|
Version 2.1 (2011-07-08)
|
||
|
===========
|
||
|
|
||
|
Changes since version 2.0:
|
||
|
|
||
|
* Changed the documentation to Markdown format.
|
||
|
* LPeg is now parsing only a single value at a time to avoid running
|
||
|
out of Lua stack for big arrays and objects.
|
||
|
* Read __tojson, __jsontype and __jsonorder even from blocked metatables
|
||
|
through the debug module.
|
||
|
* Fixed decoding single numbers (only affected the non-LPeg mode).
|
||
|
* Corrected the range of escaped Unicode control characters.
|
||
|
|
||
|
Version 1.1 (2011-07-08)
|
||
|
===========
|
||
|
|
||
|
Changes since version 1.0:
|
||
|
|
||
|
* The values NaN/+Inf/-Inf are recognised and encoded as "null" like in
|
||
|
the original JavaScript implementation.
|
||
|
* Read __tojson even from blocked metatables through the debug module.
|
||
|
* Fixed decoding single numbers.
|
||
|
* Corrected the range of escaped Unicode control characters.
|
||
|
|
||
|
Version 2.0 (2011-05-31)
|
||
|
===========
|
||
|
|
||
|
Changes since version 1.0:
|
||
|
|
||
|
* Optional LPeg support.
|
||
|
* Invalid input data for encoding raises errors instead of returning nil
|
||
|
and the error message. (Invalid data for encoding is usually a
|
||
|
programming error. Raising an error removes the work of explicitly
|
||
|
checking the result).
|
||
|
* The metatable field __jsontype can control whether a Lua table is
|
||
|
encoded as a JSON array or object. (Mainly useful for empty tables).
|
||
|
* When decoding, two metatables are created. One is used to mark the arrays
|
||
|
while the other one is used for the objects. (The metatables are
|
||
|
created once for each decoding operation to make sandboxing possible.
|
||
|
However, you can specify your own metatables as arguments).
|
||
|
* There are no spaces added any longer when encoding.
|
||
|
* It is possible to explicitly sort keys for encoding by providing an array with key
|
||
|
names to the option "keyorder" or the metatable field __jsonorder.
|
||
|
* The values NaN/+Inf/-Inf are recognised and encoded as "null" like in
|
||
|
the original JavaScript implementation.
|
||
|
|
||
|
Version 1.0
|
||
|
===========
|
||
|
|
||
|
Initial version, released 2010-08-28.
|
||
|
|