Release 0.689
General Improvements
- Fix a crash that could occur when the
deprecatedattribute is used in a syntactically incorrect way. - Improve stack utilization in the parser. This should make it harder for deeply nested constructs to exhaust the C stack.
- Fixed the
xpcallcontinuation to handle errors handling the same way as main execution path. - The fuzzer now enables all Luau flags..
- The fuzzer will now add attributes and create table literal expressions.
- The type of
rawgetis now<K, V>(tab: {[K]: V}, k: K) -> V?to reflect the fact that it returnsnilwhen the key is not present. - Implement native codegen lowering for
vector.lerp
Autocomplete
- Autocomplete will also now suggest hot comments like
--!strictand--!optimize - Incremental autocomplete had a bug where it wasn't selecting the correct refinement of the autocomplete subject. This is now fixed.
New Solver
- Fix an incorrect refinement that caused autocomplete to fail on statements of the following form:
if #some_local. - Improve the error feedback when a type function is not passed required arguments. (ie no
<>afterward at all) - Improvements to bidirectional table inference
Internal Contributors
Co-authored-by: Andy Friesen afriesen@roblox.com
Co-authored-by: Annie Tang annietang@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: Varun Saini vsaini@roblox.com
Co-authored-by: Vighnesh Vijay vvijay@roblox.com
Co-authored-by: Vyacheslav Egorov vegorov@roblox.com
Full Changelog: 0.688...0.689