
Lua 5.5 brings support for declarations of global variables, more compact arrays, and other refined language features. Large arrays in Lua are as using around 60% less memory with the Lua 5.5 build. Lua 5.5 also continues work on garbage collection "GC" improvements with a new generational mode and major garbage collections being done in an incremental manner.
The Lua.org README lists the Lua 5.5 highlights as:
- declarations for global variables
- for-loop variables are read only
- floats are printed in decimal with enough digits to be read back correctly.
- more levels for constructors
- table.create
- utf8.offset returns also final position of character
- external strings (that use memory not managed by Lua)
- new functions luaL_openselectedlibs and luaL_makeseed
- major garbage collections done incrementally
- more compact arrays (large arrays use about 60% less memory)
- lua.c loads 'readline' dynamically
- static (fixed) binaries (when loading a binary chunk in memory, Lua can reuse its original memory in some of the internal structures)
- dump and undump reuse all strings
- auxiliary buffer reuses buffer when it creates final string
A nice Lua 5.5 release for ending out 2025.