1.21.1
Release Notes
Bugfix. Found by a live stress test of the resilience features (Ollama-down →
Mistral fallback, caching, and budgets).
Fixed
- Cache hits double-charged cost and burned budget. A cached response (
llm/with-cache) makes no provider call — no tokens are consumed and no money is spent — but its stored token usage was still run throughtrack_usage, sollm/session-usagecost andllm/with-budgetspend incremented on every cache hit (e.g. a repeated call reported 2× the cost, and cache hits could trip a budget). Cache hits now report zero usage, so cost/budget reflect actual spend. Verified live (cost unchanged across identical calls; a budget that allows one real call is not tripped by subsequent cache hits) and with a deterministic regression test. Provider fallback and budget enforcement were verified correct and unchanged.
Install sema-lang 1.21.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/HelgeSverre/sema/releases/download/v1.21.1/sema-lang-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/HelgeSverre/sema/releases/download/v1.21.1/sema-lang-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install helgesverre/tap/sema-langDownload sema-lang 1.21.1
| File | Platform | Checksum |
|---|---|---|
| sema-lang-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| sema-lang-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| sema-lang-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| sema-lang-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| sema-lang-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |