Skip to content

v0.10.0-beta.2

Pre-release
Pre-release
Compare
Choose a tag to compare
@khvzak khvzak released this 07 Sep 23:23
· 109 commits to main since this release
7c2e9b5

Notes

mlua is getting close to v0.10 stable release. Send+Sync works well and hopefully all unsoundness are fixed.

Few (planned) features left:

  • Scope support
  • Getting/setting metatable for primitives
  • Support yielding in hooks for Lua 5.3+ (similar to yielding in Luau interrupt callback)
  • Access to raw Lua state (lock protected but unsafe)
  • Either<A, B> enum that implements FromLua
  • LuaNativeFn trait to wrap Rust functions with non-tuple args (will be used in Function::wrap*)
  • More code coverage
  • (possibly) IntoLua derive macro

What's Changed

  • Updated ThreadStatus enum to include Running and Finished variants.
  • Error::CoroutineInactive renamed to Error::CoroutineUnresumable.
  • IntoLua/IntoLuaMulti now uses impl trait syntax for args (shorten from a.get::<_, T> to a.get::<T>).
  • Removed undocumented Lua::into_static/from_static methods.
  • Futures now require Send bound if send feature is enabled.
  • Dropped lifetime from UserDataMethods and UserDataFields traits.
  • Compiler::compile() now returns Result (Luau).
  • Removed Clone requirement from UserDataFields::add_field().
  • TableExt and AnyUserDataExt traits were combined into ObjectLike trait.
  • Disabled send feature in module mode (since we don't have exclusive access to Lua).
  • Chunk::set_environment() takes Table instead of IntoLua type.
  • Reduced the compile time contribution of next_key_seed and next_value_seed.
  • Reduced the compile time contribution of serde_userdata.
  • Performance improvements.

New Contributors

Full Changelog: v0.10.0-beta.1...v0.10.0-beta.2