lua-2.1.0: CHANGELOG.md
# Changelog
`lua` uses [PVP Versioning][].
## lua-2.1.0
Released 29-01-2022.
- The functions `lua_rawget` and `lua_rawgeti` now return the
type of the value that was pushed to the stack.
- Added bindings to unsafe function `lua_arith`. A new type
`ArithOPCode` for arithmetic operations is added, as are
pattern synonyms for the supported operations. These are:
- LUA_OPADD
- LUA_OPSUB
- LUA_OPMUL
- LUA_OPDIV
- LUA_OPIDIV
- LUA_OPMOD
- LUA_OPPOW
- LUA_OPUNM
- LUA_OPBNOT
- LUA_OPBAND
- LUA_OPBOR
- LUA_OPBXOR
- LUA_OPSHL
- LUA_OPSHR
- Added ersatz functions `hslua_arith` and `hsluaL_requiref`,
wrapping `lua_artih` and `luaL_requiref`, respectively. Both
functions catch any error resulting from the call.
- Made types `OPCode`, `StatusCode`, and `GCCode` instances of
type class `Show`.
- The `Show` instances of Integer and Number now behave like
those of the wrapped types. Both types are now also instance
of `Read`.
- Removed `hslua_userdata_gc` from `hslua.h`.
## lua-2.0.2
Released 2021-11-26.
- Make sure lualib.h is available through this package. The
header file contains info on how and under which name the
standard library is loaded.
## lua-2.0.1
Released 2021-11-03.
- Added bindings to `lua_rotate` and `lua_version`.
## lua-2.0.0.1
Released 2021-10-30.
- Only install includes when using the Lua code shipped with the
package (Ellie Hermaszewska). Cabal no longer tries to install
the header files if a system-wide installation is used.
## lua-2.0.0
Released 2021-10-21.
- Module hierarchy moved from `Foreign.Lua.Raw` to `Lua`.
- Documentation has been improved.
- Added new function `withNewState` to run Lua operations.
- New modules `Lua.Ersatz` containing all bindings to safe
ersatz functions.
- Higher level and enum types have been removed, only the
low-level “code” types are kept in this package.
- Constants are now represented as pattern synonyms like
`LUA_OK`.
- Provide bindings to more functions:
- `lua_is...` type-checking functions;
- `lua_pushstring` to push plain CStrings;
- auxiliary functions
- `luaL_loadfile`, and
- `luaL_loadfilex`;
- unsafe functions
- `lua_gettable`,
- `lua_settable`,
- `lua_getglobal`, and
- `lua_setglobal`.
- The function `lua_pop` now expects a `CInt` instead of a
`StackIndex`.
- New StackIndex constructor functions `nthTop`, `nthBottom`,
`nth`, and `top`.
- Avoid unnecessary modification of HSFUN metatable.
- Various cleanups and test improvements.
## lua-1.0.0
Released 2021-02-18.
- Initially created. Contains all modules in the
`Foreign.Lua.Raw` hierarchy from `hslua-1.3`. Documentation
has been improved.
[PVP Versioning]: https://pvp.haskell.org