3.6 KiB
3.6 KiB
v0.6.0-beta.3
- Errors are always
Send + Sync
to be compatible with anyhow crate - Implement
UserData
forRc<RefCell>
/Arc<Mutex>
/Arc<RwLock>
- Added
__ipairs
metamethod for Lua 5.2 - Added
String::to_string_lossy
- Various bugfixes and improvements
v0.6.0-beta.2
- [Breaking] Removed
AnyUserData::has_metamethod()
- Added
Thread::reset()
for luajit/lua54 to recycle threads. It's possible to attach a new function to a thread (coroutine). - Added
chunk!
macro support to load chunks of Lua code using the Rust tokenizer and optinally capturing Rust variables. - Improved error reporting (
Error
's__tostring
method formats full stacktraces). This is useful in the module mode.
v0.6.0-beta.1
- New
UserDataFields
API - Allow to define arbitrary MetaMethods
MetaMethods::name()
is public- Do not trigger longjmp in Rust to prevent unwinding across FFI boundaries. See https://github.com/rust-lang/rust/issues/83541
- Added
SerializeOptions
to to change default Lua serializer behaviour (eg. nil/null/array serialization) - [Breaking] Removed
Result
fromLuaSerdeExt::null()
andLuaSerdeExt::array_metatable()
(never fails) - [Breaking] Removed
Result
fromFunction::dump()
(never fails) ToLua
/FromLua
implementation forBox<str>
andBox<[T]>
- [Breaking] Added
LuaOptions
to customize Lua/Rust behaviour (currently panic handling) - Various bugfixes and performance improvements
v0.5.4
- Build script improvements
- Improvements in panic handling (resume panic on value popping)
- Fixed bug serializing 3rd party userdata (causes segfault)
- Make error::Error non exhaustive
v0.5.3
- Fixed bug when returning nil-prefixed multi values from async function (+ test)
- Performance optimisation for async callbacks (polling)
v0.5.2
- Some performance optimisations (callbacks)
ToLua
implementation forCow<str>
andCow<CStr>
- Fixed bug with
Scope
destruction of partially polled futures
v0.5.1
- Support cross compilation that should work well for vendored builds (including LuaJIT with some restrictions)
- Fix numeric types conversion for 32bit Lua
- Update tokio to 1.0 for async examples
v0.5.0
- Serde support under
serialize
feature flag. - Re-export
mlua_derive
. - impl
ToLua
andFromLua
forHashSet
andBTreeSet
v0.4.2
- Added
Function::dump()
to dump lua function to a binary chunk - Added
ChunkMode
enum to mark chunks as text or binary - Updated
set_memory_limit
doc
v0.4.0
- Lua 5.4 support with
MetaMethod::Close
. lua53
feature is disabled by default. Now preferred Lua version have to be chosen explicitly.- Provide safety guaraness for Lua state, which means that potenially unsafe operations, like loading C modules (using
require
orpackage.loadlib
) are disabled. Equalient for the previousLua::new()
function isLua::unsafe_new()
. - New
send
feature to requireSend
. - New
module
feature, that disables linking to Lua Core Libraries. Required for modules. - Don't allow
'callback
outlive'lua
inLua::create_function()
to fix the unsoundness. - Added
Lua::into_static()
to make'static
Lua state. This is useful to spawn async Lua threads that requires'static
. - New function
Lua::set_memory_limit()
(similar torlua
) to enable memory restrictions in Lua VM (requires Lua >= 5.2). Scope
, temporary removed in v0.3, is back with async support.- Removed deprecated
Table::call()
function. - Added hooks support (backported from rlua 0.17).
- New
AnyUserData::has_metamethod()
function. - LuaJIT 2.0.5 (the latest stable) support.
- Various bug fixes and improvements.