Skip to content

v0.8.0 — resident warm-model daemon, repaired installer, machine-parseable --version

Choose a tag to compare

@Dicklesworthstone Dicklesworthstone released this 20 Aug 00:53
· 16 commits to main since this release

focr v0.8.0 — resident warm-model daemon, repaired installer, machine-parseable --version

v0.8.0 ships the same six-platform raw-executable matrix as v0.7.2 (each asset with a SHA256 sidecar) and continues to pin the immutable, hash-verified v0.7.0 Unlimited-OCR model artifact (unlimited-ocr-ffn-int8-attn-bf16-lmhead-bf16-v1). Install with the one-liner; focr pull fetches weights.

Highlights

  • Resident warm-model daemon (GH #9). focr ocr now serves eligible single-image runs from a per-model background process that keeps the loaded weights in RAM, so back-to-back invocations skip the multi-gigabyte artifact load. Loopback TCP with a user-only (0600) token state file, strictly serial service, idle auto-exit after 10 minutes (FOCR_RESIDENT_IDLE_SECS). Every request re-verifies binary version, model identity, artifact mtime/length, load-resolved decode/preprocess options, and an inference-environment fingerprint; any transport-shaped problem silently falls back to the classic in-process load, so the output contract is unchanged. Opt out with --no-resident or FOCR_NO_RESIDENT=1.
  • Installer repair (GH #12). install.sh / install.ps1 no longer trust GET /releases/latest (which broke every fresh install once a models-* weights release became the newest release): both now enumerate /releases and select the newest semver v* tag.
  • Machine-parseable --version (GH #13). stdout carries only focr <semver>; the license attribution lines moved to stderr.
  • Unlimited timeout escape hatch (GH #10). FOCR_STAGE_BUDGET_FORWARD_MS=0 (or unlimited) disables the forward stage budget instead of being silently ignored.
  • Agent-facing robot upgrades. run_error events carry a machine-consumable recovery field; focr robot schema self-describes the steering environment variables, an agent_discovery command map, and the stdout contract; root --help points agents at focr robot triage.
  • Browser wasm + iOS lanes matured in this window (wasm simd128 int8/int4 kernel island, streaming loader, iOS staticlib + app scaffolding) alongside the Hugging Face weight mirror; see CHANGELOG for details.

Platform notes

  • macOS Apple Silicon, macOS Intel, Linux x86-64 (glibc 2.17+), Linux ARM64 (glibc 2.17+), Windows x86-64, and Windows ARM64.
  • Unix binaries and Windows x86-64 were built natively and smoke-tested on their build hosts. Windows ARM64 in this release was cross-compiled (clang-cl/MSVC-target via cargo-xwin) rather than built on a native ARM64 runner; like v0.7.2 it carries a narrower proof than the other targets — full-model OCR verification on physical ARM64 Windows hardware remains a release-verification obligation.
  • Built by the DSR local release pipeline (not GitHub Actions) from source commit 8ec5343a8996c9fdebe447a52f48682334e13bfa, with the pinned sibling closure: asupersync 73e00b34, frankentorch 14ae04bc, frankensqlite 065cafc3.

Verification

  • cargo fmt --check, cargo check --locked --all-targets, cargo clippy --locked --all-targets -- -D warnings, and the full cargo test --locked suite green at the release commit (28 suites; the one initially failing surface-ledger enumeration test was fixed in-tree before tagging).
  • tests/installer_e2e.sh: ALL GATES PASS against the new release-resolution logic.
  • Each Unix asset ran --version, robot schema (JSON-validated), and focr robot selftest (int8 kernels bit-identical to the scalar oracle) on its build host before staging; Linux assets passed the readelf glibc-2.17 floor check.

Full history: see CHANGELOG.md §0.8.0.