Changelog for hslua-aeson-2.3.0
Changelog
hslua-aeson
uses PVP Versioning.
hslua-aeson-2.3.0
Release pending.
-
The
peekValue
peeker now checks for a__toaeson
metafield or__tojson
metamethod and uses them to compute theValue
of an object:The
__toaeson
metafield, if set, must be a function pushed viapushToAeson
. That function is called on a given object, and the returned Value becomes the result of callingpeekValue
.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: TheNULL
pointer wrapped into a light userdata is used to encode the JSON null value.The
pushNull
function has been removed; usepushValue Null
instead. -
Types that are instances of
ToJSON
andFromJSON
can be marshalled/unmarshalled by using the new functionspushViaJSON
andpeekViaJSON
, respectively. -
The functions
peekVector
,pushVector
,peekScientific
,pushScientific
,peekKeyMap
, andpushKeyMap
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 valuejsonarray
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
toHsLua.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
andhslua-1.1.*
.
hslua-aeson-1.0.0
Released 2019-09-24.
-
Update to hslua 1.0.0
-
Function
registerNull
has been replaced bypushNull
.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 runningpushNull 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.