1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192
|
# Changelog
`hslua-aeson` uses [PVP Versioning][].
## hslua-aeson-2.3.1.1
Released 2024-07-09.
- Relaxed upper bound for hashable, allowing hashable-1.5.
## hslua-aeson-2.3.1
Released 2024-01-18.
- Relaxed upper bound for aeson. This required changes to the
testsuite: The arbitrary JSON values produced by current aeson
versions include numbers that cannot be converted to Lua
numbers without loss of precision. Those are first converted
to representable numbers before round-tripping is tested.
- Relaxed upper bound for text, containers, and bytestring,
allowing text-2.1, containers-0.7, and bytestring-0.12.
## hslua-aeson-2.3.0.1
Released 2023-03-13.
- Relax upper bound for hslua-marshalling, allow version 2.3.
## hslua-aeson-2.3.0
Released 2023-02-21.
- The `peekValue` peeker now checks for a `__toaeson` metafield
or `__tojson` metamethod and uses them to compute the `Value`
of an object:
The `__toaeson` metafield, if set, must be a function pushed
via `pushToAeson`. That function is called on a given object,
and the returned *Value* becomes the result of calling
`peekValue`.
Likewise, the `__tojson` metamethod must be a function that
returns a valid JSON string. The result in that case is the
decoded string.
If both, `__toaeson` and `__tojson` are set, then `__toaeson`
takes precedent.
- The test suite now has *tasty-hunit* as an additional
dependency.
## hslua-aeson-2.2.1
Released 2022-06-23.
- Export `jsonarray`, which is the name of the registry slot
holding the metatable given to array tables. Setting the
corresponding registry value will affect all newly created
array values.
## hslua-aeson-2.2.0.1
Released 2022-06-16.
- Relaxed upper bound for mtl, allowing mtl-2.3.
- Relaxed upper bound for aeson, allowing aeson-2.1.
## hslua-aeson-2.2.0
Released 2022-02-19.
- Relaxed upper bound for hslua-core and hslua-marshalling,
allowing version 2.2 of both packages.
## hslua-aeson-2.1.0
Released 2022-01-29.
- Update to hslua 2.1.
- Encode `null` as light userdata: The `NULL` pointer wrapped
into a light userdata is used to encode the JSON null value.
The `pushNull` function has been removed; use
`pushValue Null` instead.
- Types that are instances of `ToJSON` and `FromJSON` can be
marshalled/unmarshalled by using the new functions
`pushViaJSON` and `peekViaJSON`, respectively.
- The functions `peekVector`, `pushVector`, `peekScientific`,
`pushScientific`, `peekKeyMap`, and `pushKeyMap` are
considered an implementation detail and are no longer
exported.
- Array elements are now marked with a metatable. This avoids
the need for an extra `0` element in the table and offers
flexibility for users who want to give special behavior to
lists. The newly exported value `jsonarray` contains the name
of the registry slot under which the metatable is stored. The
table can be modified or replaced as required.
## hslua-aeson-2.0.1
Released 2021-12-28.
- Restored compatibility with aeson 1.5.
## hslua-aeson-2.0.0
Released 2021-12-17.
- Changed module name from `Foreign.Lua.Aeson` to
`HsLua.Aeson`.
- The Peekable and Pushable instances have been removed. The
package no longer defines orphaned instances.
- Updated hslua and aeson to the respective 2.0 version.
## hslua-aeson-1.0.3.1
Released 2020-10-16.
- Allow hslua-1.3.\*.
## hslua-aeson-1.0.3
Released 2020-08-15.
- Relaxed version constraint for hslua, allowing `hslua-1.2.*`.
## hslua-aeson-1.0.2
Released 2020-05-28
- Relaxed version constraint for aeson, allowing `aeson-1.5.*`.
- Update CI tests to check with GHC versions 8.0 through 8.10.
Compilation with GHC 7.10 is no longer tested.
- Bump to stackage LTS-14.
## hslua-aeson-1.0.1
Released 2020-04-03
- Relax version constraint for packages hashable and hslua,
allow `hashable-1.3` and `hslua-1.1.*`.
## hslua-aeson-1.0.0
Released 2019-09-24.
- Update to hslua 1.0.0
- Function `registerNull` has been replaced by `pushNull`.
Using `pushNull` has the advantage that users won’t have to
remember to register a special variable. Users who need a
global variable can set it by running
pushNull
setglobal "HSLUA_AESON_NULL"
## hslua-aeson-0.3.0
Released 2017-08-18.
- Update to hslua 0.8.0.
## hslua-aeson-0.2.0
Not publicly released.
- Update to hslua 0.6.0.
## hslua-aeson-0.1.0.4
Released 2017-04-17.
- Ensure compatibility with hslua 0.5.0.
## hslua-aeson-0.1.0.0
Released 2017-02-03.
- Initial release.
[PVP Versioning]: https://pvp.haskell.org
|