Skip to content

0.588

Compare
Choose a tag to compare
@github-actions github-actions released this 28 Jul 15:24
76f67e0

Analysis and Autocomplete Changes

  • Luau::autocomplete no longer performs typechecking internally, make sure to run Frontend::check before performing autocomplete requests
  • Autocomplete string suggestions without "" are now only suggested inside the ""
  • Autocomplete suggestions now include function (anonymous autofilled) key with a full suggestion for the function expression (with arguments included) stored in AutocompleteEntry::insertText
  • AutocompleteEntry::indexedWithSelf is provided for function call suggestions made with :
  • Cyclic modules now see each other type exports as any to prevent memory use-after-free (similar to module return type)

Runtime Changes

  • Updated inline/loop unroll cost model to better handle assignments (Fixes #978)
  • math.noise speed was improved by ~30%
  • table.concat speed was improved by ~5-7%
  • tonumber and tostring now have fastcall paths that execute ~1.5x and ~2.5x faster respectively (Fixes #777)
  • Fixed crash in luaL_typename when index refers to a non-existing value
  • Fixed potential out of memory scenario when using string.sub or string.char in a loop
  • Fixed behavior of some fastcall builtins when called without arguments under -O2 to match original functions
  • Support for native code execution in VM is now enabled by default (note: native code still has to be generated explicitly)
  • CodeGen::compile now accepts CodeGen_OnlyNativeModules flag. When set, only modules that have a --!native hot-comment at the top will be compiled to native code

Other Changes

New Type Solver

  • Generic type packs are no longer considered to be variadic during unification
  • Timeout and cancellation now works in new solver
  • Fixed false positive errors around 'table' and 'function' type refinements
  • Table literals now use covariant unification rules. This is sound since literal has no type specified and has no aliases
  • Fixed issues with blocked types escaping the constraint solver
  • Fixed more places where error messages that should've been suppressed were still reported
  • Fixed errors when iterating over a top table type

JIT

  • 'DebugLuauAbortingChecks' flag is now supported on A64
  • LOP_NEWCLOSURE has been translated to IR

New Contributors