Alti blog

(実験サイトでのブログなのでサイトが落ちてたらごめんなさい)

【勝手翻訳】[backstage/backstage] Release v1.41.0

ソース: 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 フラグで再度有効化できますが、カタログ全体のパフォーマンスが大幅に低下する点にご注意ください。

リレーション互換性により、カタログレスポンスのリレーションオブジェクト内に targetReftarget の両方が含まれるようになります。無効化されている場合は、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.readscaffolder.task.cancel の両方が必要でしたが、現在は scaffolder.task.readscaffolder.task.create の両方の権限が必要になりました。

scaffolder.task.readscaffolder.task.cancel に新しい scaffolder ルール isTaskOwner を追加しました。これにより、タスク作成者に基づいてタスクやタスクイベントへのアクセスを制限するなどの条件付き権限ポリシーが可能になります。

また、 scaffolder.task.readscaffolder.task.cancel をリソース権限に変換しました。

#29202 で @04kash が貢献しました。

Canon から Backstage UI への名称変更

Backstage の新しいデザインシステムである Canon の名称を Backstage UI に変更することを決定しました。この変更の詳細については、デザインシステム RFC のこちらのコメントをご覧ください。この変更の一環として、 code>@backstage/canon は code>@backstage/ui に、canon.backstage.ioui.backstage.io に変更されます。

Backstage Yarnプラグインによる backstage:^ バージョンの自動生成

backstage:^プロトコルを使用して、yarn が新しいBackstage依存関係をインストールできないバグを修正しました。🎉

#30390で@eipc16が貢献しました。

セキュリティ修正

このリリースにはセキュリティ修正は含まれていません。

アップグレードパス

Backstageプロジェクトをこの最新リリースにアップデートすることをお勧めします。アップグレード方法の詳細については、Backstageを最新の状態に保つためのドキュメントをご覧ください。

リンクと参考資料

以下に、この新しいリリースについて学び、使い始める際に役立つリンクと参考資料のリストを示します。

Backstage の最新情報を受け取りたい場合は、ニュースレター にご登録ください。