Lua 5.4.7

Lua is a versatile and fast, yet lightweight and embeddable scripting language. It combines basic procedural syntax with complex data types, associative dictionaries, and extensible semantics. It is dynamically typed, uses a JIT bytecode and register-based VM with implicit memory management. It's widely used for scripting within applications and games, or as RAD toolkit.

Tags lua programming-language interpreted embeddable
License MITL
State stable

Recent Releases

5.4.723 Apr 2025 12:43 major feature: new generational mode for garbage collection to-be-closed variables const variables userdata can have multiple user values new implementation for math.random warning system debug information about function arguments and returns new semantics for the integer 'for' loop optional 'init' argument to 'string.gmatch' new functions 'lua_resetthread' and 'coroutine.close' string-to-number coercions moved to the string library allocation function allowed to fail when shrinking a memory block new format ' p' in 'string.format' utf8 library accepts codepoints up to 2 31
5.3.012 Jan 2015 23:05 major feature: Main changes include integers being 64-bit by default, official support for 32-bit numbers, bitwise operators, basic UTF-8 support, functions for packing and unpacking values. The language now allows userdata to have any Lua value as uservalue, integer division, more flexible rules for some metamethods. Library changes: ipairs and the table library respect metamethods, strip option in string.dump, table library respects metamethods, new function table.move, new function string.pack, new function string.unpack, new function string.packsize.