1 luajson v1.0 Release Notes
2 ==========================
6 This release marks the 1.0 release that has been in the works for quite some time.
7 One of the major release items is detailed documentation and a reasonably stable/
8 clean API. Some features have been eliminated since they were not effective or
12 * Lax number handling... before this release, numbers with ugly definition were
13 permitted, such as leading zeroes, multiple negative signs, ...
14 * String post-processing... this feature was unused and appears to serve no
15 useful purpose. Removing it made unifying encoding/decoding options simpler
16 * Adds global pre-processing to handle arbitrary conversion of values during
20 * String escape codes updated to match what the JSON spec uses for encoding
23 * Add optional \x00 character encoding to handle encoding single bytes
24 * Custom output stream functionality to create optimal output mechanisms
25 that can stream JSON output.
27 Plans for next release
28 ----------------------
29 Currently there is nothing in the works for the next release. The project
30 is very open to outside suggestions and patches for enhanced functionality...
36 Thomas Harning Jr (46):
39 moved lua sources into 'lua' to assist luarocks management
41 makefiles learn high bzip2 and gzip compression
42 adds new rockspec for github
43 updated github rockspec to reference all of the files
44 Makefile learns split-apart checking
45 rockspec 0.10-2 update -- previous one had improper luaforge link
47 removed unused 'postProcess' option
48 removed unused 'null' decoder
49 remove catchall escape handler from default
50 applied minor cleanups
51 added error analysis for strings + generic bad-character utility
53 remove depth limiting support code, implementation, and tests
54 implemented non-defined call captures and updated tests to handle cases
55 removed lax number handling (leading zeroes, multiple negatives, and spaces between - and digits)
56 fixes ambiguous/invalid hex numbers with decimal/scientific format
58 reorders replacements based on spec, adds 'x' escape
59 allow whitespace before strict object/array
60 generalizes decoding using grammar entries
62 preliminary documentation of options
63 created markdown documentation to be translated into manpage-style documentation
64 moves documentation to asciidoc
65 encoder/decoder/tests:
66 moves json.decode.util.merge => json.util.merge
67 call-generation/handling moved to json.util and unified
68 removes discrimination between calls with 1 and * arguments
70 applied license headers to files missing them
72 move preprocessing to root to permit global pre-processor (ex: take special strings and base64-encode to call)
74 add vertical tabulation character to the encoded set
75 adds \xXX encoding and customizable encoding set
76 adds custom output-encoder support while keeping default case optimal using templates
77 adds output-stream writer for encoding
78 consulted JSON specification and updated string definitions to match
79 note encoding > 7F with escapes is hazardous
80 properly capture expected range-of-characters to map
81 updates strict encoding to use correct calls check and ordering
82 correct language of disabled 'undefined' value
83 cleans up code and errors
84 removes extraneous 'defs' from the default options
86 adds \u and \x escape encoding/decoding test cases
87 test strict form of string decoding tests
88 updates strict string test to use strict encoder
89 regression-test uses test strict encoder in strict tests
90 adds strict encoder regression tests
91 report error cause during regressionTest encoding failures
92 added pre-value whitespace tests
93 updated tests to match new stricter default syntax