0.737
Immutable
release. Only release title and notes can be modified.
This week we have a release with important fixes to the compiler as well as a bunch of typechecking improvements and a new experimental feature for Luau enthusiasts to try out.
Analysis
- Fixed type arguments not being typechecked in explicit instantiation (Fixes #2491)
- Table indexers no longer allow their generics to leak into unsealed tables passed as arguments.
- Fixed two source of frequent internal errors, including one related to the recursion limit during type generalization
- Require cycle length limit has been removed
keyofnow produces unions in lexicographic order, making them consistent across platforms- Fix
luaL_typenametypo in UDTF error reporting by @PhoenixWhitefire in #2675
Runtime
- Fixed handling of upvalues in
repeat..untilloops withcontinue - Fixed a rare issue where large jump distances were not rejected
- Removed generation of unreachable upvalue close instructions in statement blocks
- Fixed an issue with
lua_weakref/lua_weakunrefAPI where new entries could occupy previous collected slots
Bytecode JiT inliner
- Improved removal of dead code blocks
- Fixed handling of userdata namecall instruction
- Improved validation of the produced bytecode
Classes (experimental)
Ongoing work on Classes RFC prototype:
- Constructors are now integrated into the type system
- Fixed __eq metamethod check by @protousr in #2727
(required flags: DebugLuauUserDefinedClasses=true,DebugLuauUserDefinedClassesRuntime=true)
If local (experimental)
Work has started on the if local prototype:
if localstatements have been implemented
(required flags: DebugLuauIfLocalSyntax=true,DebugLuauIfLocalAnalysis=true)
Other Changes
- Add .editorconfig by @nnullcolumn in #2722
New Contributors
- @protousr made their first contribution in #2727
- @nnullcolumn made their first contribution in #2722
Full Changelog: 0.736...0.737