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 used. 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 encoding. Changes: * String escape codes updated to match what the JSON spec uses for encoding Additions: * Add optional \x00 character encoding to handle encoding single bytes * Custom output stream functionality to create optimal output mechanisms that can stream JSON output. Plans for next release ---------------------- Currently there is nothing in the works for the next release. The project is very open to outside suggestions and patches for enhanced functionality... so please contribute. Updates since 0.10 ================== Thomas Harning Jr (46): -ungrouped- Rockspec 0.10 moved lua sources into 'lua' to assist luarocks management base: makefiles learn high bzip2 and gzip compression adds new rockspec for github updated github rockspec to reference all of the files Makefile learns split-apart checking rockspec 0.10-2 update -- previous one had improper luaforge link decoder/strings: removed unused 'postProcess' option removed unused 'null' decoder remove catchall escape handler from default applied minor cleanups added error analysis for strings + generic bad-character utility decoder/tests: remove depth limiting support code, implementation, and tests implemented non-defined call captures and updated tests to handle cases removed lax number handling (leading zeroes, multiple negatives, and spaces between - and digits) fixes ambiguous/invalid hex numbers with decimal/scientific format decoder: reorders replacements based on spec, adds 'x' escape allow whitespace before strict object/array generalizes decoding using grammar entries docs: preliminary documentation of options created markdown documentation to be translated into manpage-style documentation moves documentation to asciidoc encoder/decoder/tests: moves json.decode.util.merge => json.util.merge call-generation/handling moved to json.util and unified removes discrimination between calls with 1 and * arguments encoder/decoder: applied license headers to files missing them encoder/tests: move preprocessing to root to permit global pre-processor (ex: take special strings and base64-encode to call) encoder: add vertical tabulation character to the encoded set adds \xXX encoding and customizable encoding set adds custom output-encoder support while keeping default case optimal using templates adds output-stream writer for encoding consulted JSON specification and updated string definitions to match note encoding > 7F with escapes is hazardous properly capture expected range-of-characters to map updates strict encoding to use correct calls check and ordering correct language of disabled 'undefined' value cleans up code and errors removes extraneous 'defs' from the default options tests: adds \u and \x escape encoding/decoding test cases test strict form of string decoding tests updates strict string test to use strict encoder regression-test uses test strict encoder in strict tests adds strict encoder regression tests report error cause during regressionTest encoding failures added pre-value whitespace tests updated tests to match new stricter default syntax