Announcement: rlua and mlua merged together

309 points aleksru

mlua started as a fork of rlua about 5 years ago, but it has been developed independently for a long time. The initial motivation for the fork was to provide a module mode to rlua, then support multiple Lua versions, and finally async. However after making a lot of changes, the fork and the main repo have become very different, even api-wise (rlua switched to a new context-based API) so I decided to keep the fork as a separate project called mlua.

Since then, mlua has been improved a lot and has become a mature and stable library while rlua went into maintenance mode. Many new features have been added to mlua such as async support, Lua 5.1/5.2/5.3/5.4 + LuaJIT support, Roblox Luau, module mode, serialization, new userdata api, webassembly and many other less visible changes. mlua is tuned for performance and about twice faster than rlua in most cases.

Now, I'm happy to announce that after the separation, mlua and rlua have been merged together. They both moved to a new org called mlua-rs. The further development will be continued under the mlua name. The latest rlua release v0.20 is a thin transitional wrapper around mlua and it's recommended to use mlua directly for new projects.

rlua was a solid foundation and a great inspiration for mlua. I'm very grateful to the original author and all contributors for their work.