Skip to content

0.739

Choose a tag to compare

@github-actions github-actions released this 18 Sep 22:26
Immutable release. Only release title and notes can be modified.
a62362a

Hello again! Another week, another release.

We have a handful of nice optimizations and a new language feature to try out.

Language

  • Experimental support for if local expressions:
local raycast_instance =
    if local r = workspace:Raycast(Vector3.zero, Vector3.new(0, 1000, 0))
        then r.Instance
        else nil

print(r) -- nil: The local `r` is only available within the expression

This is behind an experimental flag and is may likely change in the future, so for now treat it as unstable.

  • Improve the error that's produced when attempting to index from a type refined to table. Fixes #2712
  • Typecheck generics within function bodies more strictly.
local function call<T>(fn: (T) -> T)
    fn(nil) -- this should not be accepted.  Fixed!
end
call(function(x: number)
    return x + 1
end)

VM

  • Inline Luau-to-Luau metamethod call path.
  • Improve performance of slow paths in Luau VM table get/set.
  • Fixed integer overflow after table.move causing an OOB access.
  • Add a metamethod lookup cache to frozen metatables.

Other

  • Fix an autocomplete bug which prevented suggestions being surfaced correctly.
  • Introduce a golden test framework for testing of Luau itself. See tests/golden/analysis/README.md for details.

Co-authored-by: Andy Friesen afriesen@roblox.com
Co-authored-by: Annie Tang annietang@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: Vighnesh Vijay vvijay@roblox.com
Co-authored-by: Vyacheslav Egorov vegorov@roblox.com