Overview
The CLI engine has been rebuilt for speed and safety while keeping the v0.9.7 commands, options, and output, and a new storage format v2 keeps chunks in pack files for faster saves.
Rinne remains local-first, with snapshots, save, diff, restore, extract, validate, notes, Spaces, autosave, autonote, fuse, repair, activity history, and maintenance tools.
Changes in v0.9.8
- Added storage format v2. Chunks are stored in pack files instead of one file per chunk, which speeds up saves with many files and keeps the CAS folder small. New repositories use v2 by default.
- Added
rinne upgradeandrinne downgradeto convert a repository between format v1 and v2, both with--dry-run. - Added
rinne init --format <v1|v2>for creating a v0.9.7-compatible repository. - Added
gc --no-tmpto keep.rinne/tmp, andgc --repack-looseto move loose chunks into pack files (format v2). - Added
rinne repair reindexto rebuild the chunk index from pack files (format v2). Repair groups chunks so that losing one whole pack file can still be recovered. - Added the
excludeGlobandincludeGlobkeys torinneignore.jsonfor standard, gitignore-style patterns. Existing keys keep their v0.9.7 meaning. - Added a repository lock: a second Rinne process working on the same repository now stops with a clear message instead of running alongside it.
- Desktop: added Setting → Storage Format..., Initialize (v0.9.7 compatible), and the new GC options.
- Fixed bugs found while comparing every command against v0.9.7, including restore, extract, scoped save, cancellation, and progress reporting.
Existing repositories stay in format v1 and remain usable from both v0.9.7 and v0.9.8 until you runrinne upgrade. A format v2 repository cannot be opened by v0.9.7; v0.9.7 refuses to work with it instead of damaging it. Run rinne downgrade to make it v0.9.7 compatible again.
Core technology
- Content-addressable storage (CAS): repeated content is reused instead of stored again.
- Content-defined chunking: variable-size chunks help deduplication stay effective even when content shifts after edits.
- Pack files (format v2): chunks are grouped into pack files with their own index, so the chunk index can be rebuilt from the packs.
- Repair data: optional repair shards add recovery tolerance for some normal CAS object damage. This is not a substitute for an external backup.
- BLAKE3-based hashing: fast hashing is used by core storage and the Activity hash chain.
- Zstandard compression: stored chunks are compressed, with adjustable levels for speed or storage efficiency.
- Tunable parallelism: worker parallelism can be adjusted for your machine and workload.
Details
- Version: v0.9.8
- Compatibility: As this is Early Access, internal formats and CLI output may change until v1.x.
- Distribution: Windows x64 is Early Access. Linux x64 is also Early Access and remains Free.
Things to know
Format v2 repositories cannot be opened by Rinne v0.9.7. If you still use v0.9.7 on the same repository, keep it in format v1 or create it with rinne init --format v1.
rinne downgrade writes every packed chunk back as a loose file and needs about as much free space as the pack files use.
Activity is a local, lightweight command history. It is not an external audit system, and its database should still be protected with normal workspace backups.
Repair data improves tolerance against some normal CAS object damage, but it does not replace backups. Keep normal backups for important work.
On some NAS/filesystems, mtime precision may be rounded, which can reduce save cache effectiveness.
If needed, consider save --full.
Details are in the sidebar.