Several bugfixes (including memory leaks and graphical fixes)
A few new features
Many API documentation improvements
LUANTI_GAME_PATH and LUANTI_WORLD_PATH environment variables (renamed with compat)
cURL proxy setting
Support for more mouse buttons
Cleanups and code maintenance
Kind reminder: If you encounter graphical glitches as reported in https://github.com/luanti-org/luanti/issues/16896, please do share your device (GPU + driver) information. We currently have exactly one sample. Another one using renderdoc + the opengl3 driver would be helpful.
player:set_wielded_item(item, true) skips the item change animation. This allows games and mods to fix the bad compass animations when changing the compass needle
HUD text size can now be multiplied by fractional numbers, e.g. 1.5 now increases size by 50%. Previously, only whole numbers worked, which was very coarse
Very experimental SSCSM (see doc/ssscm_api.md). Not sure what we can do with it atm. I don’t see any functions to display something on the screen (which is probably the main "selling point" of SSCSMs?). No promise of stability is made, we should expect breakage. I guess this feature is too incomplete right now and we just have to wait longer.
object:set_properties({step_up_mode=<string>}) allows to change the "step-up" behavior of players and entities when walking towards node edges. Three modes are supported:
legacy: Always "step up" when walking towards edge. (default). This is the old behavior. I believe this means the "step up" happens even during the jump when you still rise. It allows you also to walk over short gaps without falling.
floaty: Only "step up" when on ground or falling. Same as legacy, but you can no longer "step up" during the "rising" phase of a jump. Also allows you to walk over short gaps without falling.
rigid: Only "step up" when on ground. This one is unique. It is no longer possible to walk over short gaps, if you try, you just fall
Can specify game aliases in game.conf
core.get_loaded_blocks, core.get_loadable_blocks, core.get_active_blocks: Returns a list of loaded/loadable/active mapblocks in memory
vector2 functions (2D vectors)
math.isfinite: Returns true if argument is a finite number and not NaN
player:set_camera(nil) resets camera stuff to defaults
core.get_modnames can now optionally return mods in their load order
auto_dim_skybox=false disables the automatic dimming of the skybox in caves
player:set_lighting now allows to set lighting direction
floaty: Only "step up" when on ground or falling. Same as legacy, but you can no longer "step up" during the "rising" phase of a jump. Also allows you to walk over short gaps without falling.
rigid: Only "step up" when on ground. This one is unique. It is no longer possible to walk over short gaps, if you try, you just fall
In my humble opinion, one of the things about Luanti's movement that makes it more fun to me than Minecraft's is that you can walk over those 1 node gaps. The other main one is that Steve seems to weigh an inordinately large amount but Sam glides up hills with ease. But rigid movement is still an option to be supported for some, so I won't be slamming it.
Choices are always more fun, but I'm sure the engine devs will say that choices make maintenance more complicated.
I haven't played MC in a very long time, and didn't realize we had a better feature than they've got: the ability to walk over a single-node gap. I like that feature very much. The halon client-side mod for Luanti disabled that, but its intention is to mimic MC so I guess I've got to live with it.
Very experimental SSCSM (see doc/ssscm_api.md). Not sure what we can do with it atm. I don’t see any functions to display something on the screen (which is probably the main "selling point" of SSCSMs?). No promise of stability is made, we should expect breakage. I guess this feature is too incomplete right now and we just have to wait longer.
Please consider it only code maintenance. There is no SSCSM yet.
Choices are always more fun, but I'm sure the engine devs will say that choices make maintenance more complicated.
I haven't played MC in a very long time, and didn't realize we had a better feature than they've got: the ability to walk over a single-node gap. I like that feature very much. The halon client-side mod for Luanti disabled that, but its intention is to mimic MC so I guess I've got to live with it.
Ah but this is what it comes down to for me: At least with Luanti + Mineclonia I finally have software freedom! So, you can exercise your right to modify the software. The problem only arises in that Mineclonia manages to be so faithful to its target game, that tries to include even all of its "faults". And others might be "surprised" if they can do this (oh no! not 100% like Minecraft! anyway..). But that's good news for people who wanted to be able to do MC parkours I guess.
Choices are always more fun, but I'm sure the engine devs will say that choices make maintenance more complicated.
I haven't played MC in a very long time, and didn't realize we had a better feature than they've got: the ability to walk over a single-node gap. I like that feature very much. The halon client-side mod for Luanti disabled that, but its intention is to mimic MC so I guess I've got to live with it.
Ah but this is what it comes down to for me: At least with Luanti + Mineclonia I finally have software freedom! So, you can exercise your right to modify the software. The problem only arises in that Mineclonia manages to be so faithful to its target game, that tries to include even all of its "faults". And others might be "surprised" if they can do this (oh no! not 100% like Minecraft! anyway..). But that's good news for people who wanted to be able to do MC parkours I guess.
Hence why MineClonia DX is proposed. It keeps the benefits of Minecraft, but without the faults. It also adds extra content to help ensure that soft-locks are avoided and also makes the progression a bit more gradual.
IMHO it would be better to announce release candidate with the changelog done, so that people willing to test new features and changes know what to look at.
This version displays a bunch of errors at startup: 2026-05-01 11:12:46: ERROR[Main]: Client: Don't know how to load file "de_DE.po"
2026-05-01 11:12:47: ERROR[Main]: Client: Don't know how to load file "es.po"
2026-05-01 11:12:47: ERROR[Main]: Client: Don't know how to load file "fr.po"
2026-05-01 11:12:47: ERROR[Main]: Client: Don't know how to load file "it.po"
2026-05-01 11:12:47: ERROR[Main]: Client: Don't know how to load file "ms.po"
2026-05-01 11:12:47: ERROR[Main]: Client: Don't know how to load file "pt.po"
2026-05-01 11:12:47: ERROR[Main]: Client: Don't know how to load file "ru.po"
2026-05-01 11:12:47: ERROR[Main]: Client: Don't know how to load file "tr.po"
IMHO it would be better to announce release candidate with the changelog done, so that people willing to test new features and changes know what to look at.
This version displays a bunch of errors at startup: 2026-05-01 11:12:46: ERROR[Main]: Client: Don't know how to load file "de_DE.po"
2026-05-01 11:12:47: ERROR[Main]: Client: Don't know how to load file "es.po"
2026-05-01 11:12:47: ERROR[Main]: Client: Don't know how to load file "fr.po"
2026-05-01 11:12:47: ERROR[Main]: Client: Don't know how to load file "it.po"
2026-05-01 11:12:47: ERROR[Main]: Client: Don't know how to load file "ms.po"
2026-05-01 11:12:47: ERROR[Main]: Client: Don't know how to load file "pt.po"
2026-05-01 11:12:47: ERROR[Main]: Client: Don't know how to load file "ru.po"
2026-05-01 11:12:47: ERROR[Main]: Client: Don't know how to load file "tr.po"
This is a bug in a game or more you're using, their .po files are named incorrectly
tenplus1 likes to delete his releases very quickly when making new releases, which causes these 404s. If you close and reopen the cdb dialog it should work again. The issue is https://github.com/luanti-org/contentdb/issues/574
IMHO it would be better to announce release candidate with the changelog done, so that people willing to test new features and changes know what to look at.
Agreed. This would also be in the core devs’ best interest, after all. If you give the testes the tools to actually test your release candidates, you can expect more bugs to be found. I mean, that’s literally the whole point of a release candidate.
Ofc nobody can force you do write the changelog pre-release. But then, you don’t really have a right to complain that “nobody tests our release candidates!”.
This is a bug in a game or more you're using, their .po files are named incorrectly
I suspected it might be the case, but since no mod was named in the message I thought it could be a "global" error.
(PS: they were related to the old "intlib" translation library)
You know I have to say it on every change log 🤣: I wish the change log would link the issues/PRs/discussions that lead to the described implementation/fix.
You know I have to say it on every change log 🤣: I wish the change log would link the issues/PRs/discussions that lead to the described implementation/fix.
That's a fair request. However, at this point you could as well browse the git commit history to see all relationships of each and every change. Honestly I am not willing to spend more effort on changelog entries unless they are important for compatibility.
Git commit history isn’t a user-facing change log, though. Now it’s to late, of course. But I mean: Description is there, implementer/fixer name is there, I bet the link is also there. Maybe with >= 5.17?
It would be a nice benefit to see what actually leads to something, like, an issue discussion with more examples, or implementation details described in the PR, etc.