Releases: mlua-rs/mlua
Releases · mlua-rs/mlua
v0.11.2
What's Changed
- Faster stack push for
Variadic<T>
- Fix handling Windows paths with drive letter in Luau require (#623) by @piz-ewing
- Make Luau registered aliases ascii case-insensitive (#620)
- Fix deserializing negative zeros
-0.0
(#618)
Full Changelog: v0.11.1...v0.11.2
v0.11.1
v0.11.0
What's Changed (since v0.11.0-beta.3)
- Allow linking external Lua libraries in a build script (e.g. pluto) using
external
mlua-sys feature flag Lua::inspect_stack
takes a callback with&Debug
argument, instead of returningDebug
directly- Added
Debug::function
method to get function running at a given level Debug::curr_line
is deprecated in favour ofDebug::current_line
that returnsOption<usize>
- Added
Lua::set_globals
method to replace global environment Table::set_metatable
now returnsResult<()>
(this operation can fail in sandboxed Luau mode)impl ToString
replaced withInto<StdString>
inUserData
registrationValue::as_str
andValue::as_string_lossy
methods are deprecated (as they are non-idiomatic)- Bugfixes and improvements
Full Changelog: v0.11.0-beta.3...v0.11.0
v0.11.0-beta.3
What's Changed
- Luau in sandboxed mode has reduced options in
collectgarbage
function (to follow the official doc) Function::deep_clone
now returnsResult<Function>
as this operation can fail with OOM- Luau "Require" resolves included Lua files relative to the current directory (#605)
- Fixed bug when finalizing
AsyncThread
on drop (call_async
methods family)
Full Changelog: v0.11.0-beta.2...v0.11.0-beta.3
v0.11.0-beta.2
What's Changed
- Lua 5.4 updated to 5.4.8
- Terminate Rust
Future
whenAsyncThread
is dropped (without relying on Lua GC) - Added
loadstring
function to Luau - Make
AsChunk
trait dyn-friendly - Luau
Require
trait synced with Luau 0.674 - Luau
Require
trait methods now can returnError
variant (inNavigateError
enum) - Added
__type
toError
's userdata metatable (fortypeof
function) parking_log/send_guard
is moved touserdata-wrappers
feature flag- New
serde
feature flag to replaceserialize
(the old one is still available)
Full Changelog: v0.11.0-beta.1...v0.11.0-beta.2
v0.10.5
What's Changed
- mlua-sys is back to v0.6.x (Luau 0.663)
- Reverted: Trigger abort when Luau userdata destructors are panic (requires new mlua-sys)
- Reverted: Added large (52bit) integers support for Luau (breaking change)
Full Changelog: v0.10.4...v0.10.5
v0.11.0-beta.1
What's Changed
- New require-by-string for Luau (with
Require
trait and async support) - Added
Thread::resume_error
support for Luau - 52 bit integers support for Luau (this is a breaking change)
- New features for Luau compiler (constants, disabled builtins, known members)
AsyncThread<A, R>
changed toAsyncThread<R>
(A
pushed to stack immediately)- Lifetime
'a
moved fromAsChunk<'a>
toAsChunk::source
Lua::scope
pass&Scope
instead of&mut Scope
to closure- Added global hooks support (Lua 5.1+)
- Added per-thread hooks support (Lua 5.1+)
Lua::init_from_ptr
renamed toLua::get_or_init_from_ptr
and returns&Lua
Lua:load_from_function
is deprecated (this isregister_module
now)- Added
Lua::register_module
andLua::preload_module
Full Changelog: v0.10.4...v0.11.0-beta.1
v0.10.4
What's Changed
yanked because of breaking semver (large integers for Luau changed type from i32 to i64)
- Luau updated to 0.672
- New serde option
encode_empty_tables_as_array
to serialize empty tables as array - Added
WeakLua
andLua::weak()
to create weak references to Lua state - Trigger abort when Luau userdata destructors are panicing (Luau GC does not support it)
- Added
AnyUserData::type_id()
method to get the type id of the userdata - Added
Chunk::name()
,Chunk::environment()
andChunk::mode()
functions - Support borrowing underlying wrapped types for
UserDataRef
andUserDataRefMut
(underuserdata-wrappers
feature) - Added large (52bit) integers support for Luau
- Enable
serde
forbstr
ifserialize
feature flag is enabled - Recursive warnings (Lua 5.4) are no longer allowed
- Implemented
IntoLua
/FromLua
forBorrowedString
andBorrowedBytes
- Implemented
IntoLua
/FromLua
forchar
- Enable
Thread::reset()
for all Lua versions (limited support for 5.1-5.3) - Bugfixes and improvements
Full Changelog: v0.10.3...v0.10.4
v0.10.2
What's Changed
- Switch proc-macro-error to proc-macro-error2 by @evie-calico in #493
- Do not allow Lua to run GC finalizers on ref thread (#491)
- Fix chunks loading in Luau when memory limit is enforced (#488)
- Added
String::wrap
method to wrap arbitraryAsRef<[u8]>
intoimpl IntoLua
- Better FreeBSD/OpenBSD support (thanks to cos)
- Delay "any" userdata metatable creation until first instance is created (#482)
- Reduce amount of generated code for
UserData
(less generics)
Full Changelog: v0.10.1...v0.10.2
v0.10.1
What's Changed
- Minimal Luau updated to 0.650
- Added Luau native vector library support (this can change behavior if you use
vector
function!) - Added Lua
String::display
method - Improved pretty-printing for Lua tables (#478)
- Added
Scope::create_any_userdata
to create Lua objects from any non-'static
Rust types - Added
AnyUserData::destroy
method - New
userdata-wrappers
feature toimpl UserData
forRc<T>
/Arc<T>
/Rc<RefCell<T>>
/Arc<Mutex<T>>
(similar to v0.9) UserDataRef
insend
mode now uses shared lock ifT: Sync
(and exclusive lock otherwise)- Added
Scope::add_destructor
to attach custom destructors - Added
Lua::try_app_data_ref
andLua::try_app_data_mut
methods - Added
From<Vec>
andInto<Vec>
support toMultiValue
andVariadic
types - Bug fixes and improvements (#477 #479)