Skip to content

0.5.0 - 2026-06-18

Choose a tag to compare

@github-actions github-actions released this 19 Jun 02:10

Release Notes

Added

  • Running other programs. run(program, [args]) launches a command and
    captures what it produced, returning Result<Output, string>. Output is the
    first built-in struct lux hands to a program — status, stdout, and stderr,
    read by name. Failure comes in two layers, both in plain sight: the Result
    says whether the command launched (a missing program is the err arm), and
    the status inside says whether it succeeded (a command can launch fine and
    still report failure with a non-zero code, the way false does). The arguments
    are a list, never a shell string, so there is no shell in the middle to misread
    a space or a quote, and nothing to inject. The child's input is empty; feeding
    a program its input is left out on purpose, a lesson for a bigger language.
  • lux learn shell — a topic card and more page on running other programs,
    added as the capstone of the safety guided lesson, with a new row in the
    graduation ladder. The more page names the one honest limit: run is batch
    capture, not a live pipe.

Changed

  • run translates through every backend: Rust's std::process::Command, Go's
    os/exec with a bytes.Buffer per stream, and Swift's Foundation Process
    reached through /usr/bin/env so a bare program name gets the same PATH
    lookup it does everywhere else.

Install lux 0.5.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/anderix/lux/releases/download/v0.5.0/lux-installer.sh | sh

Download lux 0.5.0

File Platform Checksum
lux-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
lux-x86_64-apple-darwin.tar.xz Intel macOS checksum
lux-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
lux-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum