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
|
# Changelog
`hslua-marshalling` uses [PVP Versioning][].
## hslua-marshalling-2.3.1
Released 2024-01-18.
- Relaxed upper bound for text, containers, and bytestring,
allowing text-2.1, containers-0.7, and bytestring-0.12.
## hslua-marshalling-2.3.0
Released 2023-03-13.
- `Result` is now an instance of `MonadFail`.
- New peeker and pusher functions for `NonEmpty`.
- Peeker combinators for optional values: The new combinators
`peekNilOr`, `peekNoneOr`, and `peekNoneOrNil` can be used to
retrieve optional values.
## hslua-marshalling-2.2.1
Released 2022-06-19.
- Require hslua-core-2.2.1.
- Relax upper bound for mtl, allow mtl-2.3.
## hslua-marshalling-2.2.0
Released 2022-02-19.
- `Result` is now an instance of Foldable and Traversable.
Both `Result` and `Peek` are made instances of `MonadPlus`.
- Require hslua-core-2.2.0.
## hslua-marshalling-2.1.0
Released 29-01-2022.
- Updated to hslua-core-2.1.0.
- The `Success` constructor of the `Result` type is now strict;
the `Failure` constructor remains lazy.
- The stack is checked before pushing or retrieving nested
structures: Pushing or peeking a deeply nested structure could
lead an overflow of the Lua stack. The functions `pushList`,
`pushSet`, and `pushKeyValuePairs`, as well as `peekList`,
`peekSet`, and `peekKeyValuePairs` now check that sufficient
stack space is available before pushing another value to the
stack.
- The function `toByteString` now requires a slot on the stack
if the value at the given index is a number. It checks for
available space before pushing to the stack, returning
`Nothing` if no space is left on the stack.
- The `withContext` function is made more useful and now
differs from `retrieving`. The string “retrieving” is added
to the error context by `retrieving`, so `withContext` allows
to define contexts without this prefix.
- New convenience function `pushAsTable`, making it easier to
define a pusher function for values marshaled as tables.
## hslua-marshalling-2.0.1
Released 2021-11-04.
- Allow `pushIterator` to skip values: If the function that
pushes the values of a list item signals that it didn’t push
any values, then that value will be skipped.
## hslua-marshalling-2.0.0
Released 2021-10-21.
- Initially created. Contains modules previously found in the
modules `Foreign.Lua.Peek` and `Foreign.Lua.Push` from
`hslua-1.3`.
- Removed most functions from the Userdata module,
incl. peekAny, pushAny. The functions don’t add much value
over those in `HsLua.Core.Userdata`. Use UDTypes from
hslua-packaging for a more comfortable method of exposing data
via userdata values.
[PVP Versioning]: https://pvp.haskell.org
|