破壊的変更とアップグレード影響分析
Aikidoは、ライブラリの変更履歴(changelog)を確認することで、バージョンアップグレードに破壊的変更が含まれているかどうかを評価します。
Aikidoフィードでオープンソースの依存関係に関するissueをクリックすると、issueの詳細がポップアップ表示され、問題を修正するために必要な最小限のバージョンアップグレードが示されます。以下のSpring Securityの例では、CVE-2023-34034はバージョン6.1.0から6.1.2へのアップグレードで修正できます。Aikidoは、:white_check_mark:で示されているように、このアップデートに破壊的変更がないと判断しています。

:white_check_mark:をクリックすると、詳細と変更履歴へのリンクが表示されます。この場合、破壊的変更はありません。

以下のTomcatのバージョン8.5.11から9.0.99へのアップグレードのように破壊的変更がある場合、Aikidoは:warning:アイコンを表示します。

:warning:をクリックすると、破壊的変更の説明と変更履歴へのリンクが表示されます。

アップグレード影響分析
Section titled “アップグレード影響分析”依存関係の更新に破壊的変更が含まれていても、それがお客様のコードに影響を及ぼすとは限りません。破壊的変更が発生している箇所が、お客様のコードベースで使用されていない関数である可能性もあります。アップグレード影響分析では、さらに一歩進んで、コードベース内でのライブラリの使用箇所をスキャンし、破壊的変更がコードベースに影響を与えるかどうかを判定します。
Aikido AutoFixは、プルリクエストが作成される際にアップグレード影響分析を実行します。プルリクエストの説明には分析結果が含まれ、次の3つのカテゴリのいずれかに分類されます。
- ライブラリのアップグレードに破壊的変更なし :white_check_mark:
- 破壊的変更はあるが、コードベースには影響しない :white_check_mark:
- コードベースに影響する破壊的変更があり、手動での対応が必要 :warning:
以下の例では、mongooseがバージョン5.13.21から6.13.6に更新されています。プルリクエストには、コードベースに影響する2つの破壊的変更があることが示されており、影響を受けるファイルとその影響内容が説明されています。
