0.651
What's Changed
- Fragment Autocomplete: a new API allows for type checking a small fragment of code against an existing file, significantly speeding up autocomplete performance in large files.
- Requiring a path with a ".lua" or ".luau" extension will now have a bespoke error suggesting to remove said extension.
- Fixes a bug in which whether two
Luau::Symbol
s are equal depends on whether the new solver is enabled. - Fix definition module name & location by @checkraisefold in #1495
- Pre-populate/duplicate check class definitions (new solver) by @checkraisefold in #1493
- Set the defining module even when the new solver cloned the type. by @aatxe in #1506
- Replace old site urls by @Barocena in #1505
New Solver
- E-Graphs have landed: this is an ongoing approach to make the new type solver simplify types in a more consistent and principled manner, based on similar work (see: https://egraphs-good.github.io/).
- Adds support for exporting / local user type functions (previously they were always exported).
- Fixes a set of bugs in which the new solver will fail to complete inference for simple expressions with just literals and operators.
General Updates
New Contributors
- @checkraisefold made their first contribution in #1495
- @Barocena made their first contribution in #1505
Full Changelog: 0.650...651
Internal Contributors:
Co-authored-by: Aaron Weiss aaronweiss@roblox.com
Co-authored-by: Andy Friesen afriesen@roblox.com
Co-authored-by: David Cope dcope@roblox.com
Co-authored-by: Hunter Goldstein hgoldstein@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