xmlsquishsource. compose. build.
中文
Release log

v0.3.0 · Historical

Libraries provide reuse; entries build the product

Explicit xs:entry build roots are separated from reusable xs:module libraries. xs:expand becomes the single composition operation over prepared, reusable compilation snapshots.

· 6 native archives

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.

Get this version

Native archives

Choose the archive matching your operating system and processor. Verify its exact filename against SHA256SUMS before extraction.

SHA-256 manifest

Native 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 --locked

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.