ソース: Release v1.41.0 · backstage/backstage
v1.41.0
Backstage v1.41.0 リリースのリリースノートです。
このリリースの開発と完成に尽力いただいた、メンテナーとコントリビューターのチーム全員、そして素晴らしい Backstage コミュニティの皆様に深く感謝いたします。
ハイライト
速報:カタログバックエンド 3.0 – 新しいデフォルト
カタログプラグインバックエンドのこのメジャーリリースでは、カタログの動作に影響を与えるいくつかのフラグのデフォルト値が変更されました。 #30546
catalog.orphanStrategy
がデフォルトで削除されるようになりました
これにより、デフォルトの孤立戦略が、カタログ内で参照されなくなったエンティティを積極的に削除するように切り替わります。
このフラグは、移動または削除されたエンティティをクリーンアップする方法として何度も提案されており、これをデフォルトで有効にするのが良いタイミングだと考えています。
設定で
orphanStrategy: keep
を指定することで、以前の動作に戻すことができます。
catalog.orphanProviderStrategy
がデフォルトで削除されるようになりました。
これにより、デフォルトのプロバイダインストール戦略が変更され、存在しなくなったプロバイダのエンティティは保持されなくなります。
過去にインストールしたプロバイダが、保持したいエンティティをカタログに取り込んでいた場合は、そのプロバイダをカタログに再度追加することをお勧めします。プロバイダの実行を中止したい場合は、非常に長い間隔でスケジュールを設定できます。
catalog.disableRelationsCompatibility
がデフォルトで有効化
リレーション互換性がデフォルトで無効化されました。新しい
enableRelationsCompatibility
フラグで再度有効化できますが、カタログ全体のパフォーマンスが大幅に低下する点にご注意ください。
リレーション互換性により、カタログレスポンスのリレーションオブジェクト内に
targetRef
と targe
t の両方が含まれるようになります。無効化されている場合は、targetRef
のみが含まれます。targetRef
への移行は何年も前に導入されたため、Backstage エコシステムでは長い間 target は必要ありませんでした。したがって、この変更の影響を受けるのは、カタログを利用する外部のカスタムコンシューマーのみです。
catalog.stitchingStrategy
はデフォルトで { mode: 'deferred' }
になりました。
スティッチングは、エンティティをカタログに取り込む最終段階です。個々のエンティティに関連するすべての情報を収集し、エンティティの完全な出力バージョンを生成して、読み取り API を実行するテーブルに書き込みます。
これにより、スティッチングはメインのカタログ処理ループではなく、バックグラウンドタスクで非同期的に実行されるようになります。これにより、大規模なカタログでのスティッチングのパフォーマンスが大幅に向上します。
catalog.useUrlReadersSearch
が常に有効になりました
1.36 で追加された
catalog.useUrlReadersSearch
フラグが削除され、常に有効になりました。つまり、カタログ内の UrlReaderProcessor
は、場所を読み取る際に read メソッドではなく、常に search
メソッドを使用します。これにより、個々の URL リーダーは、場所が単一のファイルを参照しているのか、それとも検索が必要なワイルドカードなのかを判断できます。
この重大な変更は、カタログで使用するためにカスタム URL リーダーをインストールしている場合にのみ影響します。これらのリーダーが既に正確な位置から読み取れる検索メソッドを実装している場合は準備完了です。そうでない場合は、以下のように更新する必要があります。
search(url, options) {
if (!isWildcard(url)) {
return this.readUrl(url, options)
}
// 既存の検索ロジック、またはワイルドカードがサポートされていない場合は例外をスロー
}
@tcardonne による #29788 への貢献
重大な変更: Scaffolder の権限の変更
Scaffolder のアルファ版権限ルールの一部に、重大な変更が加えられました。
タスクの再試行には、以前は
scaffolder.task.read
と scaffolder.task.cancel
の両方が必要でしたが、現在は scaffolder.task.read
と scaffolder.task.create
の両方の権限が必要になりました。
scaffolder.task.read
と scaffolder.task.cancel
に新しい scaffolder ルール isTaskOwner
を追加しました。これにより、タスク作成者に基づいてタスクやタスクイベントへのアクセスを制限するなどの条件付き権限ポリシーが可能になります。
また、
scaffolder.task.read
と scaffolder.task.cancel
をリソース権限に変換しました。
#29202 で @04kash が貢献しました。
Canon から Backstage UI への名称変更
Backstage の新しいデザインシステムである Canon の名称を Backstage UI に変更することを決定しました。この変更の詳細については、デザインシステム RFC のこちらのコメントをご覧ください。この変更の一環として、
code>@backstage/canon は code>@backstage/ui に、canon.backstage.io は ui.backstage.io
に変更されます。
Backstage Yarnプラグインによる backstage:^
バージョンの自動生成
backstage:^
プロトコルを使用して、yarn
が新しいBackstage依存関係をインストールできないバグを修正しました。🎉
#30390で@eipc16が貢献しました。
セキュリティ修正
このリリースにはセキュリティ修正は含まれていません。
アップグレードパス
Backstageプロジェクトをこの最新リリースにアップデートすることをお勧めします。アップグレード方法の詳細については、Backstageを最新の状態に保つためのドキュメントをご覧ください。
リンクと参考資料
以下に、この新しいリリースについて学び、使い始める際に役立つリンクと参考資料のリストを示します。
- Backstage 公式ウェブサイト、ドキュメント、スタートガイド
- GitHub リポジトリ
- Backstage のバージョン管理とサポートポリシー
- ディスカッションとサポートのためのコミュニティ Discord
- 変更履歴
- Backstage デモ、ブログ、ロードマップ、プラグイン
Backstage の最新情報を受け取りたい場合は、ニュースレター にご登録ください。