| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| luau-windows.zip | 2026-09-25 | 3.2 MB | |
| luau-macos.zip | 2026-09-25 | 5.8 MB | |
| Luau.Web.js | 2026-09-25 | 4.2 MB | |
| luau-ubuntu.zip | 2026-09-25 | 7.6 MB | |
| 0.740 source code.tar.gz | 2026-09-25 | 3.4 MB | |
| 0.740 source code.zip | 2026-09-25 | 4.0 MB | |
| README.md | 2026-09-25 | 3.6 kB | |
| Totals: 7 Items | 28.1 MB | 1 | |
Language
-
Introducing an experimental feature to make tables "exact" by default. See https://github.com/luau-lang/rfcs/pull/11 for full details, but the gist is to differentiate between tables that may have extraneous fields and tables that do not. We believe that this behavior better aligns with user expectations, and allows us to make the type system more predictable.
:::luau -- This table may have extra fields type Inexact = { x: number, y: number, ... } -- This table does not have extra fields type Exact = { x: number, y: number }
local : Inexact = { x = 3, y = 4, foo = "spooky" } -- OK! local : Exact = { x = 3, y = 4, foo = "spooky" } -- Not OK!
-
if localis still experimental but is moving closer to a full release.
Analysis
- Removed
Luau::Set, now entirely subsumed by the newDenseHashSetimplementation. - Fixed an internal error that could occur when processing exceptionally large types ("Internal recursion counter limit exceeded in ReferenceCountInitializer").
-
Fixed a bug in function normalization that meant we'd use argument types as return types:
:::luau function g(x : (() -> string | number) & (() -> number | boolean)) local z : () -> () = x -- This should not be allowed end
Runtime
- Fixed an issue where OOMing during table re-hashing or freezing could leave the underlying table in an unexpected state.
- When dumping bytecode, upvalues are now prefixed with
U - Fixed
integer.idiv(x, y)not being floored in some configurations, resulting in differing behavior across the interpreter, NCG backends, and constant folding. - Add array iteration fast-path to A64
FORGLOOPlowering by @green-real in https://github.com/luau-lang/luau/pull/2683 - Freeze
vectormetatable inluaL_sandboxif it is set by @PhoenixWhitefire in https://github.com/luau-lang/luau/pull/2583 - Fix optional tagged userdata types not being remapped at load time by @green-real in https://github.com/luau-lang/luau/pull/2699
- Optimize string.split by @gemtool in https://github.com/luau-lang/luau/pull/2981
- Fix x64 regalloc converting a stack spill on reload by @green-real in https://github.com/luau-lang/luau/pull/2987
Etc.
- Add CMake options for four-wide and double-precision vectors. by @xCynDev in https://github.com/luau-lang/luau/pull/2622
- Fix missing direct includes by @Aesthete in https://github.com/luau-lang/luau/pull/2687
- Fix CMake configuration when tests are disabled on MSVC by @mrcjkb in https://github.com/luau-lang/luau/pull/2980
New Contributors
- @xCynDev made their first contribution in https://github.com/luau-lang/luau/pull/2622
- @Aesthete made their first contribution in https://github.com/luau-lang/luau/pull/2687
- @mrcjkb made their first contribution in https://github.com/luau-lang/luau/pull/2980
- @gemtool made their first contribution in https://github.com/luau-lang/luau/pull/2981
Co-authored-by: Andreas Haeberlen andreas.haeberlen@roblox.com Co-authored-by: Andy Friesen afriesen@roblox.com Co-authored-by: Annie Tang annietang@roblox.com Co-authored-by: Ariel Weiss arielweiss@roblox.com Co-authored-by: Hunter Goldstein hgoldstein@roblox.com Co-authored-by: Ilya Rezvov irezvov@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 Co-authored-by: Vyacheslav Egorov vegorov@roblox.com
Full Changelog: https://github.com/luau-lang/luau/compare/0.739...0.740