# Backstage v1.56.0

> CI/CD & App Delivery · 2026-10-20

新しいバックエンド、CLI、TechDocs、カタログ、検索、プラグイン機能を含む、機能範囲の広いリリースです。既存の構成によってはAPI、データベース、認証、設定、デフォルト動作の変更に伴う移行と検証が必要です。依存関係、性能、正確性、信頼性の改善に加え、`nodemailer`の更新とSignals WebSocket認証の強化も含まれています。

## 要対応
- **[security]** `nodemailer`のバージョン10への更新
  - セキュリティ上の脆弱性に対応するため、`nodemailer`がバージョン10へ更新されました。

## 影響確認
- **[breaking]** `FilterPredicate`の述語ルートをオブジェクトに限定
  - `FilterPredicate`を使用している場合に該当します。
  - `FilterPredicate`の述語ルートで受け付ける値がオブジェクトだけになりました。
- **[breaking]** `usernameMatchingUserEntityName`サインインリゾルバーの削除
  - `usernameMatchingUserEntityName`サインインリゾルバーを使用している場合に該当します。
  - `usernameMatchingUserEntityName`サインインリゾルバーが削除されました。
- **[breaking]** サービスのカスタム実装とモックに`instance ID`を要求
  - サービスのカスタム実装またはモックを使用している場合に該当します。
  - サービスのカスタム実装とモックで、`instance ID`の提供が必要になりました。
- **[breaking]** `ingestion_mark_entities`マイグレーションの適用条件変更
  - ローリング方式の無停止アップグレードを実施する場合に該当します。
  - `ingestion_mark_entities`のマイグレーションは、ローリング方式の無停止アップグレードの一部として適用できなくなりました。`source_key`と`entity_ref`を使用する構成では、アップグレード手順の確認が必要です。
- **[breaking]** カタログバックエンドの必要バージョン変更
  - Backstage 1.49以降のカタログバックエンドを使用している場合に該当します。
  - Backstage 1.49以降のカタログバックエンドが必要になりました。
- **[breaking]** スティッチング設定の起動時検証
  - スティッチングのポーリング間隔またはリース期間を設定している場合に該当します。
  - スティッチングのポーリング間隔とリース期間に、0以下の値を設定すると起動時に拒否されるようになりました。
- **[breaking]** Signals WebSocketエンドポイントの認証要件変更
  - Signals WebSocketエンドポイントを公開している場合に該当します。
  - Signals WebSocketエンドポイントで、有効なユーザーIDトークンが必要になりました。
- **[breaking]** ルートインスタンスメタデータサービスのID要件変更
  - ルートインスタンスメタデータサービスのカスタム実装またはモックを使用している場合に該当します。
  - ルートインスタンスメタデータサービスのカスタム実装とモックで、実行中のバックエンドインスタンスの存続期間にわたって変わらないグローバル一意のIDを提供する必要があります。
- **[breaking]** `MenuSection`の`disabledKeys`削除
  - `disabledKeys`を指定した`MenuSection`を使用している場合に該当します。
  - `MenuSection`で`disabledKeys`を受け付けなくなりました。
- **[breaking]** `usernameMatchingUserEntityName`サインインリゾルバーの削除
  - `usernameMatchingUserEntityName`サインインリゾルバーを使用している場合に該当します。
  - `usernameMatchingUserEntityName`サインインリゾルバーが削除されました。
- **[breaking]** テーブル列`ref`の`entity_ref`への改名
  - テーブルの`ref`列を使用している場合に該当します。
  - テーブルの`ref`列が`entity_ref`列に改名されました。
- **[breaking]** データベース接続維持クエリと接続プールのデフォルト変更
  - `backend.database.keepalive`を`true`に設定していない場合に該当します。
  - プラグインごとのデータベース接続維持クエリがデフォルトでは発行されなくなり、PostgreSQLとMySQLの接続プール最小サイズのデフォルトが0になりました。アイドル接続は設定したタイムアウト後に破棄されます。`backend.database.keepalive: true`を設定した場合は、定期クエリが継続します。
- **[breaking]** スティッチング設定の起動時検証
  - スティッチングのポーリング間隔またはリース期間を設定している場合に該当します。
  - スティッチングのポーリング間隔とリース期間に、0以下の値を設定すると起動時に拒否されるようになりました。
- **[breaking]** Signals WebSocket接続のユーザー認証強化
  - Signals WebSocketエンドポイントを公開している場合に該当します。
  - Signals WebSocketエンドポイントで、有効なユーザーIDトークンが必要になりました。トークンは要求されたWebSocketプロトコルのどこにでも含められます。トークンがない接続、無効なトークンの接続、サービス用トークンを使う接続は拒否され、未認証のゲスト接続も受け付けなくなりました。

## 事前準備
- **[deprecated]** `getCatalogFilters`の非推奨化
  - `getCatalogFilters`を使用している場合に該当します。
  - `getCatalogFilters`は非推奨になりました。
- **[deprecated]** MkDocs関連コマンドとフラグの非推奨警告
  - `serve:mkdocs`または`--mkdocs-parameter-*`フラグを使用している場合に該当します。
  - `serve:mkdocs`と`--mkdocs-parameter-*`フラグの実行時に、非推奨警告が出力されるようになりました。
- **[deprecated]** トークンの生出力の非推奨化
  - トークンの生出力を使用し、`variableKey`を設定していない場合に該当します。
  - `variableKey`を設定しない場合、トークンの生出力は非推奨になりました。
- **[deprecated]** `totalItems`オプションの非推奨化
  - `totalItems`を設定している場合に該当します。
  - `totalItems`オプションは非推奨になりました。
- **[deprecated]** MkDocs関連機能の非推奨警告
  - `serve:mkdocs`または`--mkdocs-parameter-*`フラグを使用している場合に該当します。
  - `serve:mkdocs`と`--mkdocs-parameter-*`フラグの実行時に、非推奨警告が出力されるようになりました。
- **[deprecated]** `StreamEntitiesRequest.totalItems`の非推奨化
  - `totalItems`を使用している場合に該当します。
  - `StreamEntitiesRequest`の`totalItems`オプションは非推奨となり、無視されるようになりました。
- **[deprecated]** トークンの生出力の非推奨化
  - トークンの生出力を使用し、`variableKey`を設定していない場合に該当します。
  - `variableKey`を設定しない場合、トークンの生出力は非推奨になりました。

## その他の記録された変更
- 256 (value_changed 131, defect_corrected 64, added 43, constraint_changed 11, renamed 4, default_changed 3)

[分析の詳細](https://ratatosk.io/ja/releases/backstage/v1.56.0)

[元のリリースノート](https://github.com/backstage/backstage/releases/tag/v1.56.0)
