v0.1.1 - Alpha Hardening Critical Paths
This release hardens pgGraph's alpha SQL contract, sync behavior, persistence path handling, Docker operations, release gates, playground coverage, and supply-chain policy.
Breaking Changes
graph.weighted_shortest_path()now returns one SQL row per path step instead of the previous compact single-row payload.
New row shape:step,node_table,node_table_name,node_id,edge_label,edge_weight,step_cost,total_cost.graph.status()now includesread_only_reason.graph.sync_health()is new and includes scheduler/operator fields, includingread_only_reason.graph.build_status()andgraph.maintenance_status()now includeprogress_phaseandprogress_message.- Sync mutations against an already read-only engine now report
PG012instead of reusingPG008.
Highlights
- Added
graph.sync_health()for scheduler-friendly sync and maintenance diagnostics. - Added
graph.run_scheduled_maintenance()forpg_cronor external schedulers. - Added
graph.query_freshnessandgraph.sync_batch_sizeGUCs. - Topology reads now apply pending trigger sync by default.
graph.aggregate()andgraph.path_count_estimate()now honor freshness policy.- Fixed durable artifact path resolution when
PGDATAis not exported. - Fixed legacy sync replay so failed legacy rows no longer block later valid rows.
- Docker image now enables
pg_cron, installsgraph, and schedules maintenance every 5 minutes. - Added a heavy playground release gate validating all sidebar SQL examples.
- Pinned direct Rust/Python dependencies and Docker base image digests.
- Added a dependency update checker with a 14-day release age gate.
Docker / Ops
Docker now preloads pg_cron and graph, creates both extensions on first init, and schedules:
SELECT graph.run_scheduled_maintenance();every 5 minutes as pggraph-maintenance.
Existing Docker volumes must be recreated to pick up the new init SQL.
Validation
Release gate coverage includes fmt, clippy, docs, unit tests, pgrx SQL tests, cargo-deny, fuzz check, package validation, fresh install smoke, metadata audit, SQLSTATE/ACL boundary tests, backup/restore, lock regressions, concurrency, synthetic release smoke, playground query validation, and pgbench sync stress.
Upgrade Notes
- Review applications using
graph.weighted_shortest_path(). - Recreate Docker volumes if using the repository Docker image.
- Treat dependency checker
UPDATEandREVIEWoutput as manual review work, not automatic upgrade approval.