xmlsquishsource. compose. build.
中文
Release log

v1.0.4 · Historical

Project-owned build state

The project now owns the complete build boundary. Products live under artifacts/, disposable caches stay under cache/, and recovery and catalog records stay under metadata/—with no hidden machine-global cache.

· Machine protocol 3.1· 6 native archives

Changes

Why project-owned state

  • Prompt dependencies are small and do not justify a Cargo-like machine-global cache.
  • A project can now be understood and removed without leaving xmlsquish cache state in a user directory.
  • This is an ownership simplification, not a claim that cache bytes are portable between machines.

One explicit target anatomy

  • Stable products use target/xmlsquish/artifacts/*.prompt and optional IR or debug companions.
  • cache/sources, cache/cas, and cache/actions.sqlite3 contain rebuildable dependency and action data.
  • metadata/layout.json, metadata/publications, and metadata/catalog contain tool-managed schema, publication, recovery, and build records; work/ is disposable staging.

Upgrade and clean

  • Version 1.0.4 does not read or migrate the former user-level cache, .xmlsquish/cache, or split manager storage.
  • xmlsquish clean removes the complete configured project target; the next build reconstructs it from sources, the manifest, and lockfile.
  • Offline rebuild succeeds only when the required project-local source cache is still available.

Release gates

  • GitHub Actions tests the locked workspace on Linux, Windows, and macOS.
  • The release workflow validates version, tag, changelog, and release notes before building six native archives.
  • The aggregation job publishes only after the full platform matrix and installed-CLI smoke tests succeed.

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 v1.0.4 --locked

Compatibility

  • Machine protocol 3.1, the XML DSL namespace, manifest and product formats, exit codes, and the Rust 1.88 minimum remain unchanged.
  • Artifact locators move to target/xmlsquish/artifacts/*.prompt; cache and metadata internals are not public APIs.
  • Legacy global cache settings and on-disk state are intentionally incompatible and are not migrated.