Repository navigation
[0.25.0] - 2026-09-06
A lossless storage-efficiency release: format v8 compacts persisted indexes
while preserving spans, payloads, query semantics, and retention settings.
Measured on the three bundled synthetic corpora (paired same-machine
before/after runs, identical ingested bytes; not a forecast for arbitrary
traffic): whole-data-directory size fell 44.2% on generic
(132,663,519 → 73,968,447 bytes for 1M service-trace spans), 31.4% on
llm (107,692,288 → 73,909,976 bytes for 200k LLM-call spans), and
38.1% on pinned-context (4,283,487 → 2,650,416 bytes for 10k
long-context spans). The full normalized export of all 1.21M baseline spans
is byte-identical after migration, and every migrated store verifies intact.
Evidence, latency pairs, and reproduction commands:
docs/benchmarks/storage-v8-comparison.md.
Changed
- Record offsets and trace/attribute postings use delta varints. Metadata
sections use LZ4 when it produces fewer bytes, with raw passthrough otherwise.
Record compression and content-addressed payloads retain their existing codecs. - Segment headers and all metadata used to exclude query results carry integrity
checks. Content-index pages are also checked when read after the segment opens. - Format v6 and v7 stores migrate automatically to v8, including pins and their
manifests. Migration preserves filenames and WAL fold boundaries and proves
complete coverage of legacy records before replacing a segment.
Fixed
- Corrupted persisted query indexes can no longer silently hide matching spans
at open. Malformed geometry and noncanonical varints are refused. - Legacy offset metadata that omits intact records is refused instead of
publishing an apparently healthy but incomplete migrated store.
Upgrade
Migration changes files in place through atomic replacements and resumes after
interruption. It is one-way from the first converted file. Stop the old server
and retain a complete cold backup plus a tested compatible binary before opening
existing data with this release. Downgrade requires restoring that backup;
replacing only the executable is insufficient. See
the format and migration contract.