AGEFreighter 2.0.0 / 2.1.0をリリースしました

2.0.0はrc2からの機能的な差分は無いですが、2.0.0と並行して追加機能を開発していたため、数時間後に2.1.0をリリースしました。

2.0.0と2.1.0の差分は以下。

  1. 移行保証と運用性の強化
    v2.0.0の移行基盤を維持しつつ、v2.1.0では事前診断、監査、検証、最適化を大幅に拡充しました。新しい移行元方式の追加ではなく、既存移行の信頼性向上が中心です。
  2. 移行前のソースプロファイリング
    agefreighter profile を追加しました。CSV、PostgreSQL、Neo4j、Cosmos DBを対象に、件数、型、NULL、カーディナリティ、データ幅、容量見積もりなどを、ターゲットを変更せずに調査できます。
  3. ターゲット診断コマンド
    agefreighter doctor を追加しました。PostgreSQL、Apache AGE、metadata、グラフ、必須インデックスなどの状態を読み取り専用で診断できます。--persistdoctor history による診断履歴にも対応しています。
  4. 決定的な移行レポート
    agefreighter report を追加しました。ジョブ、世代、ラベル、checkpoint、reject、バックアップ、connector telemetryをJSONまたはMarkdownで出力できます。
  5. 深い移行後検証
    verify--counts--integrity--limit を追加しました。保存済みカウンターと実データの件数比較、identityと物理グラフの整合性、edge endpointの検証が可能です。
  6. 推奨ベースのターゲット最適化
    agefreighter optimize を追加しました。統計、dead tuple、WAL、インデックス、グラフ密度などを分析し、根拠付きの改善案を提示します。自動でindex DDLは実行せず、--apply-analyze 指定時だけ安全条件下でANALYZEを実行します。
  7. 静的Cypher互換性解析
    agefreighter-tools check-cypher を追加しました。Cypherを実行せず、Apache AGE 1.6との互換性を解析します。JSON/Markdown、strictモード、optimizer向けquery evidenceに対応しています。
  8. metadata schemaをv17へ拡張
    v15でconnector telemetry、v16で診断履歴、v17でresolved mapping snapshotとラベル別検証カウンターを追加しました。読み取りはv14〜v17に対応しますが、2.1のloadまたはresumeでv17へ更新した後は、v2.0.0からそのターゲットへ書き込めません。
  9. 安全で再現可能なレポート出力
    新しい診断・検証レポートはサイズと件数が制限され、決定的にソートされます。秘密情報や生のレコード、query parameterなどは出力されません。
  10. 品質ゲートの強化
    テスト範囲を診断、optimizer、metadata migration、Cypher解析、connector異常系まで拡張し、カバレッジ基準を90%以上に維持しています。v2.1.0の実測値は90.6%です。

(in English)

  1. Stronger migration assurance and operations
    v2.1.0 builds on the migration foundation introduced in v2.0.0, focusing on readiness checks, auditing, verification, and optimization rather than adding another migration path.
  2. Pre-migration source profiling
    Added agefreighter profile. It analyzes CSV, PostgreSQL, Neo4j, and Cosmos DB sources for counts, types, nulls, cardinality, widths, and capacity estimates without modifying or opening the target.
  3. Target diagnostics
    Added agefreighter doctor. It performs read-only checks of PostgreSQL, Apache AGE, metadata, graphs, and required indexes. Diagnostic persistence and doctor history are also supported.
  4. Deterministic migration reports
    Added agefreighter report, providing JSON or Markdown reports covering jobs, generations, labels, checkpoints, rejects, retained backups, and connector telemetry.
  5. Deep post-migration verification
    Extended verify with --counts, --integrity, and --limit. It can compare persisted counters with live data and validate identity, physical graph, and edge-endpoint consistency.
  6. Recommendation-first target optimization
    Added agefreighter optimize. It analyzes statistics, dead tuples, WAL, indexes, and graph density to produce evidence-based recommendations. It never creates indexes automatically; only --apply-analyze permits guarded ANALYZE operations.
  7. Static Cypher compatibility analysis
    Added agefreighter-tools check-cypher. It checks Cypher compatibility with Apache AGE 1.6 without executing queries, with JSON/Markdown output, strict mode, and optimizer query evidence.
  8. Metadata schema upgraded to v17
    v15 adds connector telemetry, v16 adds diagnostic history, and v17 adds resolved-mapping snapshots and per-label verification counters. Read-only compatibility covers v14–v17, but after a v2.1 writer upgrades a target to v17, v2.0.0 can no longer write to it.
  9. Safer, reproducible report output
    New diagnostic and verification reports are bounded and deterministically ordered. They exclude credentials, raw records, query parameters, and other sensitive source data.
  10. Stronger quality gates
    Test coverage now includes diagnostics, optimization, metadata upgrades, Cypher analysis, and connector failure paths. The required coverage remains 90%, with v2.1.0 measuring 90.6%.