Lunacy is a scripting language I use in MaraDNS (both to process DNS queries with the coLunacyDNS server and to generate the documents); it is a security hardened fork of Lua 5.1.
The last time I bumped the version number was in late 2022 with the 2022-12-06 release of Lunacy. The 2026-07-05 release is by and large unchanged; the only changes are:
It is now possible to set the compiler with CC when
using the Makefile and Makefile.editline
makefiles.
There are now no warnings when compiling with clang 20; there is only one warning when compiling with GCC 16.
There is now a makefile to compile Lunacy using TCC 0.9.25 in Windows
The reference manual has added a note about not exposing the output
of pairs to untrusted parties, and includes a sorted
sPairs function, as well as noting popen2 arguments
should only come from trusted sources.
Since 2022, I have written a book about how to use Lunacy as a
scripting language like Ruby/
The code is available on the Lunacy webpage.
I have also updated MaraDNS so she generates no warnings when compiled with:
GCC 15 (Ubuntu 26.04)
GCC 16 (Cygwin)
Clang 20 (Cygwin)
Clang 21 (Ubuntu 26.04)
TCC 0.9.27 (Ubuntu 26.04)
Since MaraDNS here in 2026 compiles with no warnings, even when
-Wall is set, and since MarsDNS uses the -std=c99
flag when compiling programs, should MaraDNS not compile in the future,
it is almost certainly a bug in the compiler toolchain and not a bug in
MaraDNS.
The code is available on GitHub as well as other repos.