Releases: luau-lang/luau
Releases · luau-lang/luau
0.562
Language Changes
A new language feature - string interpolation, is now stable and available for use in default configuration.
Read more about it in the announcement.
Analysis Changes
- Fixed rare use-after-free in analysis during table unification
For extra notes about internal development, you can read #828
0.561
What's Changed
- Fix a potential debugger crash by adding checks for invalid stack index values
0.560
Autocomplete Changes
- Additional information is included in Scope for type alias name locations and names of imported modules
- Improved suggestions in 'for' and 'while' loop headers
Analysis Changes
- String match functions return types are now optional strings and numbers because match is not guaranteed at runtime
Runtime Changes
- Fix lua_*upvalue() when upvalue names aren't in debug info by @HaroldCindy in #787
Other Changes
- Fixed build issue on gcc 11 and up (Fixes #806)
0.559
Autocomplete Changes
- Fix autocompletion of if-then-else expressions
- Pass string content to autocomplete callback by @JohnnyMorganz in #800
- Attach definition location to
TableType
by @JohnnyMorganz in #801
Runtime Changes
- Fix a potential crash surrounding improper use of
%*
in a string format specifier - Improved error handling for string interpolation with too many arguments
Other Changes
- All Python scripts now invoke Python via
python3
rather thanpython
0.558
0.557
Analysis changes
- Fixed unions of
nil
types displaying as?
- Internal normalization now handles class types which can make previously failing (incorrectly) sub-typing checks to succeed
0.556
What's Changed
- The AST JSON encoder will now stringify infinity and NaN according to the JSON5 spec using the tokens
Infinity
,-Infinity
, andNaN
. - Improve autocompletion of table keys if the type of that key is a union of string singletons.
0.555
Analysis changes
- Type mismatch errors now mention if unification failed in covariant or invariant context, to explain why sometimes derived class can't be converted to base class or why
T
can't be converted intoT?
and so on - Class type indexing is no longer an error in non-strict mode (still an error in strict mode)
- Fixed cyclic type packs not being displayed in the type
- Added an error when unrelated types are compared with
==
/~=
- Fixed false positive errors involving sub-type tests with a
never
type
Runtime changes
- Fixed miscompilation of multiple assignment statements (Fixes #754)
Community contributions
- Handle cyclically referenced declared classes by @JohnnyMorganz in #729
- Support
__call
on class type vars by @JohnnyMorganz in #762
0.554
What's Changed
- Fix string interpolation autocomplete and location by @Kampfkarren in #748
Full Changelog: 0.553...0.554
0.553
Analysis Changes
- Type inference of
a and b
anda or b
has been improved (Fixes #730) - Improved error message when
for ... in x
loop iterates over a value that could be 'nil' - Return type of
next
not includes 'nil' (Fixes #706) - Improved type inference of
string
type - Luau library table type names are now reported as
typeof(string)
/etc instead of juststring
which was misleading - Added parsing error when optional type alias type parameter wasn't provided after
=
token - Improved tagged union type refinement in conditional expressions, type in
else
branch should no longer include previously handled union options