v0.48.5
Install
Homebrew (recommended — macOS + Linux):
brew install SmooAI/tools/thcurl | sh:
curl -fsSL https://raw.githubusercontent.com/SmooAI/smooth/main/install.sh | shBuild from source (Cargo):
git clone https://github.com/SmooAI/smooth.git
cd smooth
cargo install --path crates/smooth-cliUpgrade
# Homebrew
brew update && brew upgrade th
# curl|sh — re-run the installer (it overwrites in place)
curl -fsSL https://raw.githubusercontent.com/SmooAI/smooth/main/install.sh | sh
# Cargo — from your cloned checkout
cd smooth && git pull && cargo install --path crates/smooth-cli --forceWhat's new
Patch Changes
-
030541c: th attest: refuse a dirty working tree instead of crediting a commit that wasn't tested
th attestcredits the HEAD commit, but the checks run against the working tree. It
never checked the two match — so a dirty tree (uncommitted work, or codegen drift
where a tracked generated file was regenerated but not committed) produced a green a
PR would not reproduce, or the confusing "passed everything, credited nothing" with no
stated reason.Now it checks tracked-file cleanliness (
git status --porcelain -uno) both before and
after the run: a dirty tree up front is refused with the offending files named
(--allow-dirtyopts out); a check that leaves a tracked file modified (the codegen-
drift shape) refuses to credit, since HEAD still holds the stale output and would fail
that check in CI. New exit code 3 marks "nothing credited because the tree wasn't the
commit," distinct from a real check failure. Untracked scratch files are ignored.
Downloads
| Platform | File name |
|---|---|
| macOS (Apple Silicon) | th-macos-arm64.tar.gz |
| Linux (x86_64) | th-linux-x86_64.tar.gz |
| Linux (arm64) | th-linux-arm64.tar.gz |