0.670
What's Changed
This week has been focused primarily on bugfixes, with a ton of usability improvements to the new solver, fragment autocomplete, and the concrete syntax tree project.
Community Contributions
- Update Arch Linux installation instructions by @MaidenlessUsr in #1774
Runtime
- Fix an assertion caused by failing to allocate native code pages.
- Expose a
lua_pushrequire
function, which performs the same initialization steps asluaopen_require
but does not register require globally. This lets users create specialized, customrequires
.
New Solver
- Fix a bug in simplification of types caused by combinatorial explosion of intersection and union types.
- Fix a memory leak in fragment autocomplete
- Improve the isolation of modules in fragment autocomplete
- Throw errors when users define a type function with the name
typeof
- Continue to narrow intersection types which might be
never
. - Major rework of generalization continues - we are blazing a new path with eager + non-reentrant generalization and actively working to make these more performant and less error prone.
- Improve the ability of
and/or
type functions to reduce, even when their arguments are generic. - Report arity mismatches for undersaturated calls with unknown parameters
New Non-Strict
- Extends the new non-strict mode to report unknown symbols in types
Old Solver
- Fix a crash caused by excessive stack usage during typechecking
Misc
- Improvements to Concrete Syntax Tree location tracking for string table props.
- Do not store file extensions in module chunknames [Luau CLI] by @vrn-sn in #1772
Full Changelog: 0.669...0.670
Co-authored-by: Andy Friesen afriesen@roblox.com
Co-authored-by: Ariel Weiss aaronweiss@roblox.com
Co-authored-by: Aviral Goel agoel@roblox.com
Co-authored-by: Hunter Goldstein hgoldstein@roblox.com
Co-authored-by: Sora Kanosue skanosue@roblox.com
Co-authored-by: Talha Pathan tpathan@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