Repository navigation
0.742
Immutable
release. Only release title and notes can be modified.
Ding, dong, 馃毆 馃敂 , what's that, another Luau release???
What's Changed
- Hash TypeId, TypePackId, void* and Constraint* by address by @Pyseph in #3007
- Improve UDTF chunk names in error messages by @PhoenixWhitefire in #2434
- Remove
loadstringfrom built-in type definitions by @PhoenixWhitefire in #2367 - Optimize string.gsub for patterns without special characters by @gemtool in #2988
- Fix grouped error calls in control flow analysis by @Companion in #2694
- Update copyright year in LICENSE.txt by @Alexanderfem in #2446
- Add link to C API in README by @PhoenixWhitefire in #3033
- Fix ~nil refinements of blocked types never simplifying by @haziscool in #3027
- Fix assertion in IrAssemblyTest for Windows by @skberkeley in #3040
New Contributors
- @Alexanderfem made their first contribution in #2446
Analysis
- Stop sharing internal error reporters between threads to avoid data races. Fixes #3020.
- Implement MLStruct-style unifier rewrite rules. Fixes #3001, #3002.
- Cache the absence of type functions for all types involved in
InstanceCollector. - Improve scope handling for strict mode type checker. Fixes #2991.
- Implement autocomplete for function statements.
- Fix bug in fragment autocomplete and union discriminant recommendation.
- More end-to-end golden tests.
Compiler / NCG
- Mark table as mutable for constant propagation if metamethods are involved.
- Correctly remap
CALLFBslot instruction targets inexpandJumps. - Fix LuauCompileMoveElision when current argument target still needs evaluation.
- Fix fuzzer crash where
CALLFBProtos were stale. - NCG: Continue applying possible optimizations when
ConstPropStatehits a limit. - NCG: Fix bug in Proto counter logic.
- NCG: Do not mark lazy restore locations as materialized under a conditional spill block.
- NCG: Exit sync anti-clobber restores have to be delayed until after the state synchronization is complete.
- NCG: Do not let buffer offset scale go down to zero.
- NCG: In exit sync, restore registers in rematerializable locations that can be clobbered.
Runtime / C API
- Stop gating
coroutine.finallybehind a debug flag. - Allow the Luau finalizer function to only be called once.
- Resume protected calls started by error continuations in Luau.
- Support cancellation in
lua_pushfinalizerfunctionand fix coroutine.close issues.
Full Changelog: 0.741...0.742
Co-authored-by: Alexander Youngblood ayoungblood@roblox.com
Co-authored-by: Ariel Weiss arielweiss@roblox.com
Co-authored-by: Hunter Goldstein hgoldstein@roblox.com
Co-authored-by: Ilya Rezvov irezvov@roblox.com
Co-authored-by: Thomas Schollenberger tschollenberger@roblox.com
Co-authored-by: Varun Saini vsaini@roblox.com
Co-authored-by: Vighnesh Vijay vvijay@roblox.com
Co-authored-by: Vyacheslav Egorov vegorov@roblox.com