[ANN] Lua 5.5.0 now available

1,160 views
Skip to first unread message

Luiz Henrique de Figueiredo

unread,
Dec 22, 2025, 9:10:16 AM12/22/25
to lua-l
Lua 5.5.0 has been frozen and is now the current version of Lua.

Lua 5.5.0 is available at
https://www.lua.org/ftp/lua-5.5.0.tar.gz

The SHA256 checksum is
57ccc32bbbd005cab75bcc52444052535af691789dba2b9016d5c50640d68b3d

The reference manual is available at
https://www.lua.org/manual/5.5/

For installation and building instructions, see
https://www.lua.org/manual/5.5/readme.html

A test suite for Lua 5.5.0 is available at
https://www.lua.org/tests/

The complete source code of Lua 5.5.0 is available for browsing at
https://www.lua.org/source/5.5/

We thank everyone for their feedback on Lua 5.5.

All feedback welcome. Thanks.
--lhf

Marc Balmer

unread,
Dec 22, 2025, 4:34:40 PM12/22/25
to lu...@googlegroups.com, lua-l
Thank you and the whole team for this christmas present!

- mb

Am 22.12.2025 um 15:10 schrieb Luiz Henrique de Figueiredo <l...@tecgraf.puc-rio.br>:

Lua 5.5.0 has been frozen and is now the current version of Lua.
--
You received this message because you are subscribed to the Google Groups "lua-l" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lua-l+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/lua-l/fc597a8b-dff8-4a54-9d21-9930174f1166n%40googlegroups.com.

Thijs Schreijer

unread,
Dec 22, 2025, 4:40:44 PM12/22/25
to lu...@googlegroups.com


On Mon, 22 Dec 2025, at 15:10, Luiz Henrique de Figueiredo wrote:
Lua 5.5.0 has been frozen and is now the current version of Lua.


Congrats to the whole team on the new release!

Thijs

Bas Groothedde

unread,
Dec 22, 2025, 5:13:30 PM12/22/25
to lu...@googlegroups.com

> On 22 Dec 2025, at 15:10, Luiz Henrique de Figueiredo <l...@tecgraf.puc-rio.br> wrote:
>
> Lua 5.5.0 has been frozen and is now the current version of Lua.

Thank you and congratulations. Happy holidays!

~b

Andrew Starks

unread,
Dec 22, 2025, 8:41:10 PM12/22/25
to lu...@googlegroups.com
Congratulations!

-- Andrew Starks


--
You received this message because you are subscribed to the Google Groups "lua-l" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lua-l+un...@googlegroups.com.

Jason Lethbridge

unread,
Dec 22, 2025, 9:46:56 PM12/22/25
to lu...@googlegroups.com
What a great early Christmas gift! Thank you team.

The Open Watcom port has been successfully updated.
> --
> You received this message because you are subscribed to the Google
> Groups "lua-l" group.
> To unsubscribe from this group and stop receiving emails from it,
> send an email to lua-l+un...@googlegroups.com.
> To view this discussion visit
> https://groups.google.com/d/msgid/lua-l/fc597a8b-dff8-4a54-9d21-9930174f1166n%40googlegroups.com
> .

Błażej Roszkowski

unread,
Dec 23, 2025, 4:18:01 AM12/23/25
to lua-l
Is " large arrays use about 60% less memory" right?

Lua 5.4 and earlier stored arrays as 8 byte value, 1 byte type
tag, and 7 byte padding, so 16 bytes per value.

Lua 5.5 splits those and packs them tightly, so the 7 byte padding
is gone, so it's just 8 + 1 = 9 bytes per value.

This means 5.5 has 43% (7 div 16) smaller arrays, so
they take 57% of space they did before, not 60% less.

And thank you for this release - B.R.

blogdron (BLOGDRON)

unread,
Dec 23, 2025, 9:29:56 AM12/23/25
to lua-l
Thanks all who develop and/or use Lua!  Congratulations! ^.^
 
вторник, 23 декабря 2025 г. в 12:18:01 UTC+3, Błażej Roszkowski:

Martin Eden

unread,
Dec 24, 2025, 3:46:57 AM12/24/25
to lu...@googlegroups.com
On 2025-12-22 16:10, Luiz Henrique de Figueiredo wrote:
> Lua 5.5.0 has been frozen and is now the current version of Lua.

Congratulations with release and merry Christmas!

-- Martin


Luau Project

unread,
Dec 25, 2025, 6:53:57 PM12/25/25
to lua-l
Hi Lua Team,

In the part of the manual related to
changes ( https://www.lua.org/manual/5.5/readme.html#changes ),
it says:

> for-loop variables are read only

I performed a few tests on that
matter with Lua 5.5 on
Linux + Windows, and I have a doubt.

1. Executing the following statement:

    lua -e "for i, v in ipairs({1}) do i = 3 end"

    it throws the error
    `lua: (command line):1: attempt to assign to const variable 'i'`

2. Executing this statement:

    lua -e "for i, v in ipairs({1}) do v = 3 end"

    it does not throw any error.
    Then I thought: hmm, probably
    it assigns the value back.
    However, the next test shows
    it does not.

3. Executing this statement:

    lua -e "local t = {1}; for i, v in ipairs(t) do v = 3 end; print(t[1]);"

    prints 1, showing that the
    t[1] value didn't change.

So, my question is: according to
the manual

> for-loop variables are read only

the second part above (2.) shouldn't throw?

云风 Cloud Wu

unread,
Dec 25, 2025, 7:17:44 PM12/25/25
to lu...@googlegroups.com
Luau Project <luau.p...@gmail.com> 于2025年12月26日周五 07:54写道:
>
> Hi Lua Team,
>
> 2. Executing this statement:
>
> lua -e "for i, v in ipairs({1}) do v = 3 end"
>
> it does not throw any error.
> Then I thought: hmm, probably
> it assigns the value back.
> However, the next test shows
> it does not.
>
> 3. Executing this statement:
>
> lua -e "local t = {1}; for i, v in ipairs(t) do v = 3 end; print(t[1]);"
>
> prints 1, showing that the
> t[1] value didn't change.
>
> So, my question is: according to
> the manual
>
> > for-loop variables are read only
>
> the second part above (2.) shouldn't throw?

The manual says "The first of these variables is the control variable,
which is a read-only (const) variable."

So the "i" is ready-only (control variable) , but the "v" is not.


--
http://blog.codingnow.com

Martin Eden

unread,
Dec 26, 2025, 9:57:02 AM12/26/25
to lu...@googlegroups.com

On 2025-12-26 02:17, 云风 Cloud Wu wrote:
> The manual says "The first of these variables is the control variable,
> which is a read-only (const) variable."
>
> So the "i" is ready-only (control variable) , but the "v" is not.


Damn, I just wanted to paste same quote from refman. You're ~2 minutes
faster


[[

A *for* statement like

for/var_1/, ···,/var_n/ in/explist/ do/body/ end

works as follows.

The names /var_i/ declare loop variables local to the loop body. The
first of these variables is the /control variable/, which is a read-only
(|const|) variable.

]]

-- Martin

Luau Project

unread,
Dec 26, 2025, 12:28:17 PM12/26/25
to lu...@googlegroups.com
> The manual says "The first of these variables is the control variable,
> which is a read-only (const) variable."
>
> So the "i" is ready-only (control variable) , but the "v" is not.

Thank you all for the insightful answers.

Scott Morgan

unread,
Dec 26, 2025, 10:49:51 PM12/26/25
to lu...@googlegroups.com
On 25/12/2025 23:53, Luau Project wrote:
> 3. Executing this statement:
>
>     lua -e "local t = {1}; for i, v in ipairs(t) do v = 3 end;
> print(t[1]);"
>
>     prints 1, showing that the
>     t[1] value didn't change.

That's because v is a variable holding a value, not a reference.

Similarly:

t = { 1 }
a = t[1]
a = 2
print(t[1], a)
-- 1 2

Scott

Reply all
Reply to author
Forward
0 new messages