Download Latest Version 0.740 source code.zip (4.0 MB) Google Add to Preferred Sources
Home / 0.738
Name Modified Size InfoDownloads / Week
Parent folder
luau-windows.zip 2026-09-11 3.1 MB
luau-ubuntu.zip 2026-09-11 7.6 MB
luau-macos.zip 2026-09-11 5.7 MB
Luau.Web.js 2026-09-11 4.2 MB
0.738 source code.tar.gz 2026-09-11 3.3 MB
0.738 source code.zip 2026-09-11 3.8 MB
README.md 2026-09-11 2.7 kB
Totals: 7 Items   27.9 MB 2

Hey all!

We've got a bunch of bugfixes and some initial prototypes for upcoming features and experiments.

Analysis

  • Improve type generalization by ensuring that free types are associated with the enclosing function scope, not just the block scope.
  • Prototype code for an upcoming experiment: Requiring top-level functions to be annotated
  • Improve inference of read-only table indexers. Fixes https://github.com/luau-lang/luau/issues/2669
  • Expose integer types to UDTFs https://github.com/luau-lang/luau/pull/2618
  • The logic to replace generics by unknown was overly aggressive. This simplification is only valid when the generic occurs exactly once in negative position. This is now fixed.

    :::luau local function get(model) model:Find("leg") end

    -- Previously: -- (t1) -> () where t1 = { read Find: (t1, string) -> (unknown, ...unknown) } -- -- Now: -- <t...>(t1) -> () where t1 = { read Find: (t1, string) -> T... }

  • Retain type function state when cloning type function instances. Fixes https://github.com/luau-lang/luau/issues/2707 and https://github.com/luau-lang/luau/issues/2273

  • The linter now properly reports deprecation warnings for deprecated APIs that occur within intersection and union types.
  • Special handling for bidirectional inference of table literals that are passed to setmetatable. eg

    :::luau type A = setmetatable<{}, { test: DateTime? }>; local x: A = setmetatable({}, { test = nil })

VM

  • Add initial embedder support for isolated heaps.
  • Fix luaV_equalval passing t1's metatable twice for TOBJECT __eq. See https://github.com/luau-lang/luau/pull/2727
  • Improvement to the Luau SCCP pass
  • Adjust local debug and type info range after undoEmit
  • Prototype coroutine.finally implementation on the Luau VM side. See https://github.com/luau-lang/rfcs/pull/187
  • Add local names to the Dump_Locals output in the Luau compiler
  • Fix off-by-one bug in BytecodeBuilder::expandJumps
  • Unrolling of loops with a trip count of zero should be zero cost

Native Codegen

  • Fixed incorrect tag propagation to the entry block. This could cause incorrect optimization.

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: Sora Kanosue skanosue@roblox.com Co-authored-by: Thomas Schollenberger tschollenberger@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

Source: README.md, updated 2026-09-11