1 luajson v1.2 Release Notes
2 ==========================
9 * 0.6 - fail : cannot handle 'nil' returns -> tranforms into booleans
11 Note that 0.6 passes strict mode tests and behaviors. It just breaks
12 down when decoding the plain return value `null` or `undefined` that
13 would result in a `nil` return value.
20 Thanks to Alexander Gladysh, we now have the "setObjectKey"
21 hook to permit more customizable behavior during object construction.
23 There is a new 'object' option that you can set to handle custom
24 key-value setting. If you set in the configuration table
25 .object.setObjectKey to a function with the signature
26 `(tab, key, value)`, you will override the `rawset` style behavior.
29 json.decode("{'1':true, x:true}")
30 --> { ["1"] = true, x = true }
31 function newSetObjectKey(tab, key, value)
32 local numkey = tonumber(key)
34 rawset(tab, key, value)
36 json.decode("{'1':true, x:true}", { object = { setObjectKey = newSetObjectKey } })
37 --> { [1] = true, x = true }
39 require builtins update
40 ~~~~~~~~~~~~~~~~~~~~~~~
41 Also changed is the major change to `require` as many of the default
42 packages as possible to better help custom embedding scenarios where
43 'default' tables such as `io` and `os` may require on-demand loading
46 Plans for next release
47 ----------------------
48 For the next feature release, I plan on better fleshing out the enhanced
49 error handling and possibly adding in the more customizable output
50 system. For previews of the features that might make it into the
51 next release, please see the "next" branch. Note that this branch
52 is volatile and features may vanish rather than be reverted for cleanliness.
57 Thomas Harning Jr (4):
59 pulls in all but base/package modules via require (io,os,string,table,math)
61 implements setObjectKey for LPeg < 0.9
62 Moves 'setObjectKey' from root of `options` to `options.object`
64 adds reference for where bug reporting should go
65 Alexander Gladysh (1):
67 configurable object key filter