History
Work in progress
This page is not up to our standards yet.
This can be because is not complete or hasn't been reviewed and copyedited properly. Some details may be poorly worded, wrong, or unclear. Please let me (deviaze) know on Discord if you need clarification on anything.
Luwu comes from Lua 5.1, the version Roblox embedded in its games around 2006. Roblox grew that Lua into Luau and open sourced it in 2021, and Luwu forked from Luau 0.730 in 2026. Every library and function in the Standard Library reference says which of the three added it and what changed since.
Lua 5.1 at Roblox (2006 to 2019)
- February 2006: Lua 5.1 is released with a new module system, incremental garbage collection, a new vararg mechanism, long strings and the
%and#operators. - Around 2006: Roblox starts using Lua 5.1 as the scripting language for its games.
- December 2011: Lua 5.2 comes out. Roblox stays on 5.1.
- February 2012: Lua 5.1.5 is the last release of Lua 5.1.
- 2019: Roblox starts building Luau, a language derived from Lua and compatible with Lua 5.1.
Luau at Roblox (2019 to 2021)
- June 2019: Roblox opens a Studio beta of a faster Lua VM. Its terrain generator runs about twice as fast.
- August 2019: The new VM, named Luau, goes live for every Roblox game on client and server.
- November 2019: The first monthly Luau Recap is posted.
- January 2020: Luau's type checking beta ships with a nonstrict default mode and an opt-in
--!strictmode. - November 2020: Type checking leaves beta.
Open source Luau (2021 to 2026)
- November 2021: Luau is open sourced under the MIT License with release 0.501, which includes the runtime, compiler, type checker and linter.
- May 2022: Work on native code generation starts in Luau's repository with release 0.529.
- August 2022: String interpolation lands.
- August 2023: Native code generation enters a Studio beta. Scripts opt in with
--!native. - October 2023: Luau moves from Roblox's GitHub organization to luau-lang, and release 0.601 adds the
buffertype and library. - May 2024: Native code generation runs on Roblox servers without opting in to a beta.
- September 2024: The new type solver enters beta with type functions, read-only properties and a redesigned nonstrict mode.
- November 2024: Release 0.650 adds the
vectorlibrary. - April 2025: Require-by-string gets a library of its own in release 0.669.
- November 2025: The new type solver reaches general release.
- April 2026: Release 0.715 adds 64-bit integers and the
integerlibrary. - May 2026: Release 0.721 adds classes.
- July 2026: Luau 0.730 is released. Luwu forks from this version.
Luwu (2026 onward)
- February 2026: The repository that becomes Luwu starts as a patched copy of Luau.
- July 2026: Luwu's first features land: externally managed buffers and default arguments. luwu-lsp starts as a fork of JohnnyMorganz's luau-lsp.
- August 2026: The
noneprimitive and generic extern types land. The fork drops its Roblox references, and the documentation is renamed to Luwu. - August 2026: Luau 0.731 is the last upstream release merged into Luwu. Since then Luwu picks upstream changes one at a time.
- September 2026: The classes design replaces inheritance with traits, and Luwu-only FFlags get the
Luwuprefix. - September 2026: Classes land in master, and the tools are renamed
luwuandluwu-analyze. - September and October 2026: Destructuring, traits, expressive control flow, string extensions and the collections library land on the integration branch for testing.