This documents version 0.2.1. The support recordtracks platform verification and exact-version publication evidence separately.
Print the environment or execute one command with explicit environmentchanges. Supports -i/--ignore-environment and -u NAME/--unset=NAME.The common GNU path also accepts bare - as an empty-environment request,-0/--null for NUL-separated output, and -C/--chdir for the childworking directory. --null with a child command fails with status 125.Command execution uses MoonBit's policy-visible process API, never a shell;the command and every argument are passed as separate argv entries. Becauseexecution can create a child process, the caller or host may require processauthorization. The command itself does not implement an allowlist.
Option/assignment precedence, repeated unsets, --, command lookup, and exitstatuses 125 (command setup), 126 (not invokable), and 127 (not found) arecovered by the P2 profile. Non-empty assignment names are passed through evenwhen they are not shell identifiers, and the first assignment ends optionscanning. --help and --version return successful output.
Both backends start from the complete environment made available by the host,then apply the requested removals and assignments. LANG, LC_ALL, and othernames are neither filtered nor rewritten. Host authorization still applies tothe child working directory and executable.
Standalone --version prints exactly env 0.2.1 followed by onenewline. Standalone --help starts with Usage: env, lists bothmetadata options, and ends with a newline. Both write to stdout, leave stdinunread, and exit with status 0. Exact-version publication and verificationremain recorded separately in the support record.