Repository navigation
Release 0.5.35
[0.5.35] - 2026-04-11
Backup/restore, CDC error handling, and engine 0.5.35 alignment (non-exhaustive enums, private QueryResult rows, new feature flags).
Added
- Backup/restore endpoints: hot snapshots via MVCC, no write downtime (#53 by @Michaelzag)
POST /admin/{db}/backup: create a.grafeosnapshotGET /admin/{db}/backups: list backups for a databaseGET /backups: list all backups across databasesPOST /admin/{db}/restore: restore from a backup file (automatic safety backup before restore)DELETE /backups/{filename}: delete a backup fileGET /backups/download/{filename}: download a backup file
- CLI flags:
--backup-dir(backup storage directory),--backup-retention(keep N most recent per database) - ArcSwap database handle:
DatabaseEntry.dbchanged fromArc<GrafeoDB>toArcSwap<GrafeoDB>for lock-free hot-swapping during restore. Callers get 503 during restore instead of 404 (#53 by @Michaelzag) - Sync pull CDC validation:
POST /sync/{db}/pullnow returns 400 with an explanatory message when CDC is not enabled on the database, instead of silently returning empty results (#55 by @Michaelzag) lpgfeature flag: new explicit LPG data model feature, forwarded throughgrafeo-servicetografeo-engine/lpg. Included indefaultandfulltierstriple-storefeature flag: replacesrdfas the canonical name for RDF/triple store support.rdfkept as deprecated alias
Changed
- grafeo-engine 0.5.35: section-based container format,
grafeo-storagecrate extraction, incremental backup API (backup_full()/backup_incremental()/restore_to_epoch()), CDC retention and eviction, WAL replay fix, block-based LPG/RDF section formats, persona-based feature profiles QueryResult.rowsnow private: all access migrated to.rows(),.into_rows(), andQueryResult::from_rows()constructor#[non_exhaustive]on all engine enums: allmatchonValue,EntityId,ChangeKind,SchemaInfonow include wildcard arms- Feature rename:
rdf->triple-storeingrafeo-serviceand binary crate features.sparqlfeature now depends ontriple-storedirectly fulltier updated: includeslpgand usestriple-storeinstead of deprecatedrdfalias
Fixed (via engine 0.5.35)
- WAL not replayed on reopen: data no longer lost across restarts without explicit checkpoint (grafeo#252)
- CDC event log unbounded memory: epoch-based and count-based retention with BufferManager eviction (grafeo#250)
- Graph/schema context validation: reject nonexistent targets,
drop_graph()auto-clears active context (grafeo#245)
New Contributors
- @Michaelzag made their first contribution in #55
Full Changelog: v0.5.34...v0.5.35