0.726
Immutable
release. Only release title and notes can be modified.
Release 726 Notes
What a game last night ⚽ 🥳 !
Type System
- Reasonings for subtyping failures with unions are now somewhat abbreviated. In practice this means messages that used to be multiple lines explaining why each element in the union did not relate to the other type are replaced with a single message.
- Fix an error caused by improperly rebinding an erroneous type participating in a cyclic alias. Specifically:
type A = B
type B = { x: C<any> }
type C<T> = A
no longer triggers an assertion.
- Requirers of a module will now see an error type instead of an erroneous type function, which will reduce the amount of cascading errors displayed.
- Fixes a bug where nilable generic functions would erroneously claim there is a generic bounds mismatch. Fixes #2393
Runtime
- General improvements to the Bytecode Graph, including better parsing, serialization, and inlining.
Miscellaneous:
- Reduce stack usage in Luau's parser
- Adds support for attribute lists and parametrized attributes to the CST
- Make the CLI try to find the provided file name with a .luau or .lua extension before erroring by @gaymeowing in #2415
Full Changelog: 0.725...0.726
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: James McNellis jmcnellis@roblox.com
Co-authored-by: Sora Kanosue skanosue@roblox.com
Co-authored-by: Thomas Schollenberger tschollenberger@roblox.com
Co-authored-by: Vighnesh Vijay vvijay@roblox.com