We're happy to announce the release of Lunatik v4.0.
This is a major release that extends the capabilities of Lua running
inside the Linux kernel, introduces new bindings and examples, and
includes several API cleanups and fixes.
Some notable changes in this release include:
* Update of the embedded Lua runtime to Lua 5.5;
* Introduction of luacpu, a new module for per-CPU operations and
statistics, including a cpuexporter example exporting CPU metrics to
Prometheus and visualizing them in Grafana (developed by
@endersonmaia);
* Introduction of luahid, a new binding for HID devices, with examples
including a Xiaomi device driver and gesture detection (@qrsikno2,
GSoC 2025);
* Support for UNIX Domain Sockets (AF_UNIX / AF_LOCAL) in luasocket;
* SKB resize API, enabling advanced packet manipulation use cases such
as intercepting and forging DNS responses (developed by @abhijeetw035
and @ArifAlam);
* A new high-level RAW socket API (AF_PACKET) (developed by @sneaky-potato)
* A new POSIX signals API (developed by @Physic69);
* Netfilter hooks now expose the network interface index (ifindex),
allowing scripts to base their logic on the interface involved
(developed by @carloslack);
* Support for 64-bit integers on 32-bit platforms, enabling correct
use of time-related APIs on architectures such as RAMIPS.
This release also includes many bug fixes, refactors, documentation
improvements, and contributions from old and new community members.
Thanks @Zapper9982, @glk0, @sheharyaar, @sav, @marcelstanley,
@mbalmer, @jperon, @MarcFontaine, @Aditya-Sarna et al!
The full release notes are available at:
https://github.com/luainkernel/lunatik/releases/tag/v4.0.
As always, feedback and contributions are very welcome. To discuss or
contribute, join our Matrix room:
https://matrix.to/#/#lunatik:matrix.org..
Best regards,
--
Lourival Vieira Neto