Release v0.6.1
David Cruz · February 20, 2026
lpm install and lpm uninstall
lpm now supports installing tools globally with lpm install, the equivalent of cargo install, uv tool add, npm i -g, or luarocks install.
It installs a package as a globally-available tool, so you can invoke it by name without needing to lpm x it with a full path every time.
lpm install --git https://github.com/user/my-tool
my-tool --helplpm uninstall removes a previously installed tool.
Native C module support
The lpm engine now supports native C modules (.so on Linux, .dll on Windows) by building lpm with LuaJIT’s C module exports exposed.
Note: Linux only for now, Windows is a little trickier since you can’t export symbols from a binary directly.
Native C modules in compiled binaries
Any .so or .dll files present in target are now preserved when running lpm compile, so native C libraries are bundled correctly into your self-contained executable (SEA) apps.
This works via storing their raw code into the binary, and then extracting them at startup to a temporary deterministic directory. Then, in the same way lua files are resolved with package.preload, the C modules are resolved too.