Skip to content

0.747

Latest

Choose a tag to compare

@github-actions github-actions released this 13 Nov 21:07
Immutable release. Only release title and notes can be modified.
c87565b

✈️ !!!

Analysis

  • Avoid stack overflow in degenerate unions and intersection types
  • Fix a bug where analysis would permit iteration over non-iterable types in certain circumstances:
local function foo(t: boolean | number | vector | {})
    -- This used to be erroneously permitted
    for i, v in t do
    end
end
  • Fix an ICE in certain scenarios involving global function definitions within type functions
  • Fix an issue where error suppression was too eager to fire. eg
-- The error here used to be improperly suppressed.
local _: { read [number]: "hello" } = ... :: { read [any]: string }

Runtime

  • Add luau_loadlazy: This function is the same as luau_load, but only the main function is built. Other functions are lazy stubs that are loaded on their first use.
  • Do not use removed collapsed phis in BytecodeGraphParser
  • Fix #3082
  • Implement buffer.readvector*f32 and buffer.writevector*f32 per luau-lang/rfcs#198
  • Clip all in-progress integer code. See luau-lang/rfcs#269 for details

Native Codegen

  • Add support accelerated direct userdata access
  • Add support for frozen metatable cache access
  • Improved runtime rebuild error handling and a loop trip fix
  • Exit sync restore for expected tags
  • Runtime rebuild log and result callbacks
  • Lower thresholds before promotion to native code
  • Add a runtime rebuild log and result callbacks to better track VM promotion.
  • Fix register array overflow in LOP_FASTCALL bytecode analysis
  • Perform store forwarding for split stores as well

Classes (experimental)

  • Report an error if a class's base constructor isn't called before a read or write to self in its constructor
  • Add support for nested and local classes

Co-authored-by: Andy Friesen afriesen@roblox.com
Co-authored-by: Hunter Goldstein hgoldstein@roblox.com
Co-authored-by: Ilya Rezvov irezvov@roblox.com
Co-authored-by: Sora Kanosue skanosue@roblox.com
Co-authored-by: Thomas Schollenberger tschollenberger@roblox.com
Co-authored-by: Vyacheslav Egorov vegorov@roblox.com