base: applies required branch list to travis
[luajson.git] / docs / ReleaseNotes-1.0.txt
blobf69e5567fe2d4d9e69f1be0bc4848a625f231e84
1 luajson v1.0 Release Notes
2 ==========================
4 User Visible Changes
5 --------------------
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
9 used.
11 Features removed:
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
17    encoding.
19 Changes:
20  * String escape codes updated to match what the JSON spec uses for encoding
22 Additions:
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...
31 so please contribute.
33 Updates since 0.10
34 ==================
36 Thomas Harning Jr (46):
37         -ungrouped-
38                 Rockspec 0.10
39                 moved lua sources into 'lua' to assist luarocks management
40         base:
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
46         decoder/strings:
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
52         decoder/tests:
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
57         decoder:
58                 reorders replacements based on spec, adds 'x' escape
59                 allow whitespace before strict object/array
60                 generalizes decoding using grammar entries
61         docs:
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
69         encoder/decoder:
70                 applied license headers to files missing them
71         encoder/tests:
72                 move preprocessing to root to permit global pre-processor (ex: take special strings and base64-encode to call)
73         encoder:
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
85         tests:
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