Releases: terraphim/terraphim-clients
Release list
Terraphim Clients v1.21.16
Terraphim Clients v1.21.16
This release provides terraphim-agent, terraphim-cli, and terraphim-grep for macOS, Linux, and Windows.
Release provenance is bound to source commit cf23b9b8c508d8e10c417ae710b142e7d69ef394. macOS binaries are Developer ID signed and notarized. Linux, macOS, and Windows automatic-update archives are signed with the Ed25519 key embedded in the clients, and checksums are published with the assets.
Windows automatic updates restored
Windows v1.21.16 binaries are published as ZIP archives verified with the same Ed25519 signatures as the tar.gz archives, and Windows is included in the automatic-update manifests again.
Managed installs refuse self-update
When terraphim-agent or terraphim-grep is installed by dpkg or rpm, update now refuses with a non-zero exit and directs operators to the package manager's own upgrade command; check-update continues to report the managed status on stdout with a zero exit.
Terraphim Clients v1.21.14
Terraphim Clients v1.21.14
This release provides terraphim-agent, terraphim-cli, and terraphim-grep for macOS, Linux, and Windows.
Release provenance is bound to source commit 6161df6e550ead762da186b6beda36f0299eb4d7. macOS binaries are Developer ID signed and notarized. Linux and macOS automatic-update archives are signed with the Ed25519 key embedded in the clients, and checksums are published with the assets.
Windows automatic-update limitation
Windows v1.21.14 binaries are provided as manual downloads. The v1.21.14 Windows updater cannot verify ZIP signatures, so Windows is deliberately omitted from the automatic-update manifests. A later client release will restore signed Windows automatic updates.
terraphim-clients v1.21.12
terraphim-clients v1.21.12
Release candidate prepared from canonical main (release/v1.21.12), consolidating
the workspace after the divergent v1.21.11 release branch: the v1.21.11 tag was cut
from a short-lived branch off an older main, so this release re-bases the version
line on current main and carries everything landed there since.
Highlights
Fixed
- Truthful grep statistics (#3190, #94):
terraphim_grepnow reports the real
chunks_returnedin theInsufficientsufficiency path instead of the total
chunks examined, so downstream consumers see honest retrieval counts. - Packaged-agent dependency repair (#95, #96): the published
terraphim_agent
package now resolvesterraphim_sessions >= 1.21.2from the canonical terraphim
sparse index, fixing the broken install graph shipped in 1.21.1 (missing
terraphim-markdown-parser, stale crates.ioterraphim_sessions). Guarded by the
packaged_install_graph_regressiontest, which packages, installs, and runs the
artifact end to end.
Added
- Cursor session import (#2515, #32): new
CursorConnectorin
terraphim_sessionsimports Cursor IDE sessions, with char-boundary-safe title
truncation.
Improved
- Learning hooks: recursive KG walk for
learned/entries (#810 P3, #93);
pi-rust learn hooks (AgentType::Pi+ package) (#91); Claude
tool_response/exitCodeenvelope aliases for multi-client hooks (#90);
unconditional secret redaction in hook stdout passthrough with tests (#2344). - Release-workflow hardening: strict semver +
release_tag/target_repo
input validation inrelease-binaries.yml; version-input propagation asserted
across all shipped binary crates (#67, #95); host--versioncheck before the
build matrix; R2 manifest bin-name prefix strip (#89); bun installed before the
wrangler upload (#68); portablesed -i.bakfor macOS runners (#85).
Versions
- Workspace crates (
terraphim-cli,terraphim_grep,terraphim_lsp,
terraphim_negative_contribution,terraphim-session-analyzer): 1.21.12 terraphim_agent: 1.21.12 (explicit package version, kept >= 1.21.2 per #95)
terraphim-clients v1.21.11
Patch release for terraphim-grep.
Fixes:
- terraphim/terraphim-clients#79 — discover project thesaurus by role shortname/slug.
- terraphim/terraphim-clients#82 — allow
--pathsto accept multiple bare paths.
terraphim-clients v1.21.10
terraphim-clients v1.21.10
Bug Fixes
- terraphim/terraphim-clients#77:
terraphim-grep --answerno longer silently drops LLM answers when models return plain text instead of JSON.- The RLM prompt now embeds
AnswerSignature::instructions()so the model knows it must return structured JSON. - A new
extract_json()helper tolerates markdown fences and prose-embedded JSON payloads. - Verified with
deepseek/deepseek-v4-flash,amazon/nova-micro-v1, and other models.
- The RLM prompt now embeds
Improvements
- Long-timeout OpenRouter client:
terraphim-grepnow uses a dedicated 120-second timeout for LLM calls, avoiding the shared 10-second API timeout that caused synthesis to abort on slow providers. - Error taxonomy: Transient OpenRouter errors (network, rate limit, API, decode) now map to
ServiceError::Common(CommonError::Network)instead ofConfig, enabling better upstream handling. - Optional reqwest:
reqwestis now an optional dependency tied to thellmfeature, reducing build cost when LLM support is disabled. - Data governance warning: A warning is logged when the default free-tier model is used, alerting operators that RLM prompts may contain repository content excerpts.
Test Coverage
- Added prompt assembly tests (answer vs list paths).
- Added
OpenRouterClientconstruction and URL resolution tests. - Added
extract_jsonedge-case tests (generic fence, array payload, unterminated fence, mixed language fences).
Model Recommendations
Based on trade-off analysis (terraphim-ai branch task/3098-doc-grep-openrouter-rlm):
| Model | Speed | Cost | Reliability |
|---|---|---|---|
amazon/nova-micro-v1 |
~11s | Very low | Works reliably |
deepseek/deepseek-v4-flash |
~5.6s | Very low | Works after fix |
mistralai/mistral-nemo |
~31s | Lowest | Works reliably |
Avoid gpt-oss-20b for this use case (too large, returns reasoning-only content).
v1.21.9
Session Analyzer Parse Fix
Fixes two bugs that produced ~2430 WARN lines on every terraphim-agent sessions search invocation:
#3081: Metadata entry type pre-filter
- 12 Claude Code metadata JSONL entry types (
last-prompt,mode,permission-mode,ai-title,file-history-snapshot,queue-operation,agent-name,pr-link,tool_reference,text,attachment,system) now skipped before deserialization - Eliminates 2003 false warnings
#3082: ContentBlock enum missing variants
- Added
thinking,server_tool_use,advisor_tool_resultcontent block types - Added
#[serde(other)] Unknowncatch-all for future-proofing - Eliminates remaining 427
assistantparse failures
Combined result
- WARN count: 2430 → 0 (100% elimination)
- All 317 tests pass (7 new)
- No breaking changes to public API
terraphim-clients v1.21.8
Corrected release for signed updater archives. The release-binaries workflow now zipsign-signs tar.gz update archives before upload so terraphim-grep and terraphim-agent autoupdate can verify them.
terraphim-clients v1.21.7
Corrected release for cross-platform client binaries. Pins the terraphim_service registry patch exactly so the GitHub release-binaries workflow resolves dependencies deterministically.
terraphim-clients v1.21.6
Superseded by v1.21.7. The v1.21.6 release-binaries workflow failed before publishing assets because the terraphim_service registry patch was not pinned exactly.
terraphim-clients v1.21.5
Patch release for signed terraphim-agent and terraphim-grep updater assets.\n\nChanges:\n- Routes terraphim-agent update checks and updates to terraphim/terraphim-clients release assets.\n- Keeps terraphim-grep update support on terraphim/terraphim-clients.\n- Applies clippy/rustfmt cleanup in the touched terraphim-agent memory lifecycle section.\n- Attaches signed macOS ARM64 archives for terraphim-agent and terraphim-grep.\n\nAsset SHA-256:\n- terraphim-agent-1.21.5-aarch64-apple-darwin.tar.gz: fa5efaa208d2079ccb6027a1d6a2a72c8e87caa0e46e332f8a354e88437472b2\n- terraphim-grep-1.21.5-aarch64-apple-darwin.tar.gz: 886651fbc1cec5ae6f2a5c0fec9b1d72220b63bdd1a1861ff93e22e73963c271