Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Upgrading

Replace the two binaries and restart the server. The saved index is versioned; what happens on the first start after an upgrade depends on the change:

ChangeEffect on the first start
Any releaseThe index loads, is reconciled against the tree, and files changed while the server was down are re-read
Symbol or reference extraction changed (the fingerprint’s extraction tag differs)Symbols and references are re-extracted from file content once, then saved; the log says “Persisted symbols predate the current extractor”. Tens of seconds for 60k files
On-disk format changed (new magic number)The old file is rejected with a message saying it must be rebuilt, and a full build runs
Configuration rules changed (excludes, extensions, size cap, .gitignore)Files that are no longer eligible are dropped during reconciliation

Nothing needs to be done by hand in any of these cases. Releases note format changes in the changelog.

Version policy

Releases follow semantic versioning on a 0.x line: a minor bump may change ranking, output formats or the index file; a patch bump fixes things. Only the latest release receives fixes (security policy).

Downgrading

An index written by a newer format is rejected by an older server, which then rebuilds. Keep the old binary’s index_path separate if you need to switch back and forth.