| 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 |