[ANN] Removing Lua 5.1 support from Prosody trunk nightly builds

100 views
Skip to first unread message

Matthew Wild

unread,
Jul 1, 2022, 4:59:51 AM7/1/22
to Prosody IM Users Group, Prosody IM Developers Group
Hi folks,

This is just to let you know that Lua 5.1 support will be removed from
Prosody trunk nightly builds soon. If you are happily using Prosody
0.12 or earlier versions, this announcement does not affect you.

## What is changing?

As planned for some time, Prosody 0.13 (not yet released) will not
support Lua 5.1. We are currently aiming for Prosody 0.13 to support
Lua 5.2, 5.3 and 5.4.

Prosody 0.12.x and earlier versions are *not* changing. These will
continue to support Lua 5.1, even in future bugfix/security releases.
Prosody 0.12.x will continue to emit a warning when using Lua 5.1.

## Does this affect me?

The upcoming change will only affect users of nightly builds from
Prosody's development (trunk) branch (e.g. the prosody-trunk Debian
package) who are running Prosody with Lua 5.1. Both these things can
be verified by examining the output of the command 'prosodyctl about'.

## What can I do if I am affected by this change?

If you are currently using Prosody trunk with Lua 5.1 require Lua 5.1
support, we recommend switching to a newer version of Lua, or
switching to Prosody 0.12 (which also has nightly builds, such as the
prosody-0.12 Debian package).

## When will this change occur?

Removal of Lua 5.1 support actually involves a number of steps,
including code and build infrastructure updates. For this reason,
there is no fixed date yet for when the first 5.1-incompatible build
will arrive.

## What about LuaJIT?

LuaJIT provides compatibility with Lua 5.1 only. It is expected that
Prosody 0.13 will not be compatible with LuaJIT. Even though it may
have worked for some deployments up to now, we don't recommend or
support running Prosody under LuaJIT in any case.

## Why are you removing support for Lua 5.1?

Support for so many Lua versions comes at a cost. We often have to
implement less efficient or less concise solutions to maintain
cross-version compatibility. In particular, the changes from Lua 5.1
to Lua 5.2 were quite substantial (similar to the Python 2 -> Python 3
transition that many Python applications have dealt with).

Removal of Lua 5.1 support will allow us to trim some code, and use
more efficient APIs that are available in newer versions of Lua. These
are in line with our goals of keeping Prosody small and lightweight.

Some specific details are tracked at https://issues.prosody.im/1600

We're happy to answer questions about this change, here or in our
community chat, as usual.

Regards,
Matthew
Reply all
Reply to author
Forward
0 new messages