01
Changes
One composition model
- xs:entry builds a product; xs:module contains imports and named macros only.
- xs:import loads definitions and xs:expand is the sole recursive expansion operation.
- Inputs evaluate in the caller and pass by value into isolated macro scopes.
Reusable compilation
- Compiler::prepare freezes and links source once for repeated expansion.
- Immutable static payloads, escaping, and provenance serialization are reused.
- Execution frames and complete macro results remain fresh for each expansion.
Breaking 0.2 migration
- Replace document-building modules with explicit xs:entry roots.
- Replace xs:call with xs:expand and extract former mounts into named macros.
- Final output removes attributes, namespace declarations, and prefixes, then squishes whitespace.
02
Get this version
Native archives
Choose the archive matching your operating system and processor. Verify its exact filename against SHA256SUMS before extraction.
Windows
Windows 10/11 · ZIPLinux
glibc 2.35+ · tar.gzmacOS
macOS 11+ · tar.gzNative archives are unsigned and not Apple-notarized. Checksums establish byte integrity, not publisher identity.
Pinned source install
cargo install --git https://github.com/kleedaisuki/prompt-squish --tag v0.3.0 --locked03
Compatibility
- This language release is not syntax-compatible with 0.2.0.
- Linux archives require glibc 2.35 or newer and do not target Alpine/musl.
- The pinned 0.3.0 namespace specification remains permanently addressable.