Changelog
View SourceAll notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
[v0.3.0] - 2025-06-09
Added
- Guards for encoded Lua values in 
defluafunctionsis_table/1is_userdata/1is_lua_func/1is_erl_func/1is_mfa/1
 
Fixed
defluafunction can now specify guards when using or not using state
[v0.2.1] - 2025-05-14
Added
Lua.encode_list!/2andLua.decode_list!/2for encoding and decoding function arguments and return values
Fixed
- Ensure that list return values are properly encoded
 
[v0.2.0] - 2025-05-14
Changed
- Any data returned from a 
defluafunction, or a function set byLua.set!/3is now validated. If the data is not an identity value, or an encoded value, it will raise an exception. In the past,Luaand Luerl would happily accept bad values, causing downstream problems in the program. This led to unexpected behavior, where depending on if the data passed was decoded or not, the program would succeed or fail. 
[v0.1.1] - 2025-05-13
Added
Lua.put_private/3,Lua.get_private/2,Lua.get_private!/2, andLua.delete_private/2for working with private state
[v0.1.0] - 2025-05-12
Fixed
- Errors now correctly propagate state updates
 - Fixed version requirements issues, causing references to undefined 
luerl_new - Allow Unicode characters to be used in Lua scripts
 - Files with only comments can be loaded
 
Changed
- Upgrade to Luerl 1.4.1
 - Tables must now be explicitly decoded when receiving as arguments 
defluaand other Elixir callbacks