froe 0.4.0

Reader and offline maintenance toolkit for Apache Jackrabbit Oak segment-tar (TarMK) repositories: parse archives and records, extract node data, compact, back up, and recover.
Documentation

froe

A Rust implementation of Apache Jackrabbit Oak's segment-tar ("TarMK") storage format — the repository format used by Apache Jackrabbit Oak and Adobe Experience Manager.

This crate opens a segment store directly from disk, without a running Oak instance. The reading API (store, content, tooling) is read-only and safe against a live repository — it never takes the lock and never writes. Like Oak itself it memory-maps archives, relying on the store's file protocol (existing archive bytes are never modified in place); a process mutating archives outside that protocol would disturb froe and a running Oak instance alike. The writing API (writer) — commits, checkpoints, compaction, backup, restore, journal recovery — takes the exclusive repository lock and produces stores byte-for-byte compatible with what Oak writes (one documented rendering residue: extreme-subnormal doubles; see double_to_text), so a subsequent AEM start consumes the result cleanly. Run it only against a stopped repository — and note that the writer currently requires a Unix operating system entropy source, so it refuses to open on Windows.

The writing API is beta: it is verified against byte-exact specifications extracted from the Oak sources and an extensive test suite, but has not yet been validated end-to-end against stores produced by — or consumed by — a real Oak/AEM instance. Until that interoperability round-trip lands, take a copy of your repository before writing to data you care about. The reading API carries no such caveat.

See the workspace repository for the complete feature map and storage format documentation, and the froe-cli crate for the command-line interface.

Licensed under the Apache License, Version 2.0.