lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

My LuaJSON project is finally at a 1.0 release.

This marks the stabilization of the API of the encoder and decoder.
Additional 1.x releases will not break old application usage.

There are a great many changes since my 0.9 release announcement...
not to mention the schedule slipping quite a bit... so I'll
concatenate the 0.10 and 1.0 base release notes here.

I will also be posting rockspecs to be incorporated into the standard

luajson v0.10 Release Notes

User Visible Changes
This release changes the system quite a bit from previous versions in
that there is more configurability.  There still is quite a bit of strong
defaulting to make it accept more data formats and encode such that the
most strict decoder *should* decode it.

It is now possible to obtain wrapped-up encoders and decoders with options
"compiled" in.  With decoders this is particularly bound-up (LPEG patterns),
encoders take advantage of this with less closure-count.

Extended features of newer LPEG versions can also be used as they are
available, either via function detection or version # parsing.

New decoder features:

 * Single-quoted strings
 * Function-call decoding
 * Generic string management
   * String post-processing option
   * UTF-16 -> UTF-8 code decoding for "\uXXXX" from Emil Renner
Berthing by default (not req)
 * Handle extended UTF-8 spacing characters and BOF for inter-element spacing

New encoder features:

 * Function-call encoding
 * String pre-processing option
 * Fully modular encoding system
 * Encoding with similar option system as decoding

luajson v1.0 Release Notes

User Visible Changes
This release marks the 1.0 release that has been in the works for
quite some time.
One of the major release items is detailed documentation and a
reasonably stable/
clean API.  Some features have been eliminated since they were not effective or

Features removed:
 * Lax number handling... before this release, numbers with ugly definition were
   permitted, such as leading zeroes, multiple negative signs, ...
 * String post-processing... this feature was unused and appears to serve no
   useful purpose.  Removing it made unifying encoding/decoding options simpler
 * Adds global pre-processing to handle arbitrary conversion of values during

 * String escape codes updated to match what the JSON spec uses for encoding

 * Add optional \x00 character encoding to handle encoding single bytes
 * Custom output stream functionality to create optimal output mechanisms
   that can stream JSON output.

GitHub Release:

LuaForce Project with release:

Thomas Harning Jr.