{
 "schema": "flintstack.search/1",
 "updated": "2026-09-28",
 "count": 31,
 "docs": [
  {
   "url": "/",
   "title": "Overview",
   "kind": "page",
   "text": "build cache daemon flintd flint wrapper quick start what it does cache key SHA-256 three backends fs objs peer static binary 11 MB"
  },
  {
   "url": "/install.html",
   "title": "Install",
   "kind": "page",
   "text": "tarball checksums build from source store permissions daemon user upgrade notes systemd unit verify flint doctor"
  },
  {
   "url": "/cli.html",
   "title": "CLI reference",
   "kind": "page",
   "text": "flint flintd commands flags wrap stats prune get put key explain doctor global flags socket config timeout json verbose exit codes 0 1 2 3 4 5 require-daemon no-store label window"
  },
  {
   "url": "/config.html",
   "title": "Configuration",
   "kind": "page",
   "text": "flint.toml store root max_size policy lru size ttl fsync none entry strict key env_allow normalize_paths include_mtime toolchain_probe version digest limits max_entry_size max_inputs write_queue compress zstd remote objs peer endpoint bucket credentials token_file timeout log level slow_ms"
  },
  {
   "url": "/bench.html",
   "title": "Benchmarks",
   "kind": "page",
   "text": "cold incremental warm wall time 708 202 69 seconds hit rate 94.1 corpus 2310 targets large translation units monorepo objs generated-heavy method variance drop caches p95 speedup reproduce"
  },
  {
   "url": "/design.html",
   "title": "Design notes",
   "kind": "page",
   "text": "why built this way hermeticity sandbox content-addressed store shards no index daemon unix socket fall through trust boundaries"
  },
  {
   "url": "/security.html",
   "title": "Security model",
   "kind": "page",
   "text": "tokens mutual TLS mTLS threat model trust boundaries credentials 0600 constant-time compare peer backend what is excluded"
  },
  {
   "url": "/faq.html",
   "title": "FAQ",
   "kind": "page",
   "text": "supported compilers share store zero hit rate failed compiles full disk laptop backups windows remove cleanly already use a cache why switch"
  },
  {
   "url": "/troubleshooting.html",
   "title": "Troubleshooting",
   "kind": "page",
   "text": "hit rate zero disk fills builds slower daemon unreachable exit 4 5 store unusable authentication rejected TTL skew clock offset checkouts do not share normalize paths"
  },
  {
   "url": "/glossary.html",
   "title": "Glossary",
   "kind": "page",
   "text": "cache key content-addressed store entry shard hit miss eviction lru ttl backend toolchain probe normalization environment allowlist hermeticity wrapper fsync write queue label"
  },
  {
   "url": "/changelog.html",
   "title": "Changelog",
   "kind": "page",
   "text": "every release 0.1.0 to 0.11.3 store format break 0.7.0 daemon split remote backends peer tier"
  },
  {
   "url": "/data.html",
   "title": "Data",
   "kind": "page",
   "text": "machine readable releases.json benchmarks.json search-index.json feed.xml atom schema fields"
  },
  {
   "url": "/download.html",
   "title": "Download",
   "kind": "page",
   "text": "tarball static binary linux x86_64 aarch64 freebsd sha256 checksums release archive build from source zstd"
  },
  {
   "url": "/scm.html",
   "title": "Browse SCM",
   "kind": "page",
   "text": "git clone code source tree layout cmd flintd internal store evict remote wire bench docs recent commits log"
  },
  {
   "url": "/bugs.html",
   "title": "Bug tracker",
   "kind": "page",
   "text": "bugs open closed wont fix priority reporter objs 503 clock offset prune label peer timeout include_mtime windows"
  },
  {
   "url": "/patches.html",
   "title": "Patch queue",
   "kind": "page",
   "text": "patches git format-patch send-email dev list applied needs rework rejected under review sign-off"
  },
  {
   "url": "/lists.html",
   "title": "Mailing list archive",
   "kind": "page",
   "text": "flint-dev flint-announce mailing list threads subscribe read-through cap windows port message archive mbox"
  },
  {
   "url": "/stats.html",
   "title": "Project statistics",
   "kind": "page",
   "text": "statistics downloads per release last 30 days clones subscribers open bugs page views counters log"
  },
  {
   "url": "/release-0-11-3.html",
   "title": "Release 0.11.3",
   "kind": "release",
   "text": "0.11.3 2026-09-28 fix Fixed a race where two wrappers computing the same key at the same moment could both write, leaving one temporary file behind per collision. flint doctor now reports the clock offset between client an"
  },
  {
   "url": "/release-0-11-0.html",
   "title": "Release 0.11.0",
   "kind": "release",
   "text": "0.11.0 2026-06-02 feature New peer backend: a second daemon over TCP, conventionally on port 7914, with optional mutual TLS. Added --require-daemon so a build can insist on the cache instead of falling through to a plain compi"
  },
  {
   "url": "/release-0-10-4.html",
   "title": "Release 0.10.4",
   "kind": "release",
   "text": "0.10.4 2026-03-17 fix Credential and token files must now be mode 0600 and owned by the daemon user; the daemon exits instead of starting with loose permissions. Three crashes on malformed configuration replaced with a par"
  },
  {
   "url": "/release-0-10-0.html",
   "title": "Release 0.10.0",
   "kind": "release",
   "text": "0.10.0 2026-01-21 feature Compression level is configurable per store, zstd-1 through zstd-9. Index rebuild at startup is roughly four times faster: 120 GiB now scans in under three seconds. Removed the 0.6 compatibility reade"
  },
  {
   "url": "/release-0-9-1.html",
   "title": "Release 0.9.1",
   "kind": "release",
   "text": "0.9.1 2025-10-08 fix A community-maintained FreeBSD target joins the release matrix. Fixed the p95 regression introduced in 0.9.0, where a full write queue blocked readers instead of dropping the write."
  },
  {
   "url": "/release-0-8-0.html",
   "title": "Release 0.8.0",
   "kind": "release",
   "text": "0.8.0 2025-07-15 feature toolchain_probe = \"digest\": hash the compiler binary rather than trust its version string. Entry labels and flint stats --by-label for attributing hits to parts of a build."
  },
  {
   "url": "/release-0-7-0.html",
   "title": "Release 0.7.0",
   "kind": "release",
   "text": "0.7.0 2025-04-24 breaking Store format change. The index database is gone; the store is scanned into memory at startup and the shards are the only source of truth. This fixed the whole class of «index disagrees with shards aft"
  },
  {
   "url": "/release-0-6-2.html",
   "title": "Release 0.6.2",
   "kind": "release",
   "text": "0.6.2 2025-02-19 fix Last release with the index database. Two corruption fixes, both reachable by killing the daemon during a write."
  },
  {
   "url": "/release-0-5-0.html",
   "title": "Release 0.5.0",
   "kind": "release",
   "text": "0.5.0 2024-12-11 feature First remote backend: objs, object storage over signed HTTPS, with a parallel request setting. A backend timeout now counts as a miss rather than an error."
  },
  {
   "url": "/release-0-4-0.html",
   "title": "Release 0.4.0",
   "kind": "release",
   "text": "0.4.0 2024-10-09 feature Eviction gained hysteresis - sweep starts at 95 % of the ceiling and stops at 85 % - after a user reported eviction running continuously for a full day. Added ttl for age-based expiry independent of s"
  },
  {
   "url": "/release-0-3-1.html",
   "title": "Release 0.3.1",
   "kind": "release",
   "text": "0.3.1 2024-08-21 feature The daemon arrives. The wrapper no longer opens the store directly, which removes the lock contention that capped useful parallelism at about twelve jobs. Unix socket at /run/flint/flintd.sock; the wr"
  },
  {
   "url": "/release-0-2-0.html",
   "title": "Release 0.2.0",
   "kind": "release",
   "text": "0.2.0 2024-07-02 feature Environment allowlist instead of hashing the whole environment, which had made every entry unique under CI. Path normalization in the argument vector, so two checkouts in different directories share e"
  },
  {
   "url": "/release-0-1-0.html",
   "title": "Release 0.1.0",
   "kind": "release",
   "text": "0.1.0 2024-05-16 feature First tag, four weeks after the work started. A local directory cache, one lock, no daemon, no remote tier, and a wrapper that already fell through on error."
  }
 ]
}