CDN から読み込む Polaris Web Components のバージョン体系が semver に。互換性のある改善は今まで通り自動で降ってくるが、破壊的変更(メジャー)の適用タイミングは開発者が明示的に選べるようになった。既存アプリに即時対応は不要。
バグ修正・アクセシビリティ/パフォーマンス改善・視覚的な調整・新コンポーネントは、stable チャネルに自動で届く。
メジャーリリースは自動適用されない。URL のメジャー番号を書き換えて初めて適用される = タイミングを開発側が握れる。
既存アプリは immediate action 不要と明記。ただし「どの URL を踏んでいるか」の棚卸しは早めにやる価値がある。
セキュリティ修正は影響を受ける stable リリースに適用され、古いメジャーも対象に含まれる。つまり「メジャーを上げないとセキュリティ修正が受け取れない」構図ではない。
@shopify/polaris-types はメジャーを揃える型パッケージは CDN リリースと同じメジャーバージョンを使う。CDN 側のメジャーを上げるなら、型パッケージのメジャーも合わせて上げる前提で考える。
アプリは既定で stable リリースチャネルを使うべき。stable への更新は、リリース候補(RC)フェーズを通過してから届く。この URL はメジャー変更があっても自動では上がらない。
ピン留めしたリリースは、通常の機能追加・修正・視覚的変更を受け取らない。
polaris-1.1.js は Polaris 1.1 が stable になったときにだけ公開される。まだ stable でないバージョンをピン留め URL で先に指定することはできない。今後のすべての変更は、stable チャネルにリリースされる前にリリース候補ビルドでテストできる。RC バージョンは RC 期間中に改善を積み上げ、同じ URL のまま in-place で更新される。開発・テスト用途を想定。
polaris.js URL既存の polaris.js は polaris-1.js と同じタイミングで更新される。そしてメジャーリリースが出ても自動では上がらない。
polaris-2.js は「メジャーを上げる操作=URL のメジャー番号の書き換え」という構造を示すための表記。Polaris 2 の予定やリリース時期は記事に記載なし。| URL | 互換アップデート(minor / fix) | メジャーの自動適用 | 主な用途 |
|---|---|---|---|
polaris-1.jsstable ・既定 |
受け取る RC フェーズ通過後に届く | されない | 基本これ。アプリは既定で stable チャネルを使うべき |
polaris.js既存 URL |
受け取る polaris-1.js と同じタイミングで更新 |
されない | 既存アプリはそのままでよい(即時対応不要) |
polaris-1.1.jsピン留め |
受け取らない 通常の機能・修正・視覚変更なし | されない | 本番投入時期の制御/テスト再現/復旧/リリース同期 |
polaris-1.1-rc.jsリリース候補 |
RC 期間中に in-place で更新 | — | 開発・テスト用。今後の変更を先に確認する |
※ ピン留め URL(polaris-1.1.js)にセキュリティ修正が入るかどうかの明示は記事に記載なし。記載があるのは「セキュリティ修正は影響を受ける stable リリースに適用され、古いメジャーも含まれうる」という点まで。
・Shopify CDN から Polaris Web Components を読み込んでいるサードパーティアプリ
・@shopify/polaris-types を使っている開発者
・App Home UI extensions
・Admin UI extensions
・App Bridge
互換のある改善は黙って降ってくるが、破壊的変更は URL を書き換えない限り絶対に来ない。制御点は「URL の中のメジャー番号」ひとつ。ここを構成管理の対象にすれば十分。
RC は同一 URL のまま in-place で更新され続ける。再現性が無いので本番では踏まない。開発・テスト環境専用と割り切る。
通常の機能・修正・視覚的変更を一切受け取らなくなる。恒久運用ではなく、時期制御・再現・復旧のための一時的な措置として使い、戻す計画とセットで運用する。
@shopify/polaris-types は CDN リリースと同じメジャーを使う。「script タグのメジャー」と「package.json のメジャー」がズレると型と実体が食い違う。CI で両者の一致をチェックするのが安い保険。
セキュリティ修正は影響を受ける stable リリースに適用され、古いメジャーを含む。よって「セキュリティのためにメジャーを急ぐ」必要は薄い。ただし機能・改善は新しいメジャー側に乗るため、上げない選択は機能面のコストとして積み上がる。なお、旧メジャーのサポート期間や EOL ポリシーは記事に記載なし。
cdn.shopify.com/shopifycloud/polaris を全リポジトリで横断 grep し、polaris.js / polaris-1.js / -rc.js / ピン留めの 4 分類で台帳化。RC を本番で踏んでいるものだけ即時 stable に寄せる。polaris-1.1-rc.js に切り替え、本番は polaris-1.js のまま。RC 期間中に主要画面のビジュアル回帰テストを定期実行する。polaris-1.1.js)に差し替え ③ 復旧したら Polaris 起因と確定 → 恒久対応後に stable へ戻す」を明文化。