Developer / Polaris Web Components

Polaris 2.0 is now stable
The first major version aligned with the new admin design

Polaris Web Components 2.0 is now available on the CDN's stable channel. It's the first major release since the CDN adopted semantic versioning. However,it won't switch over automatically, so you need to change your script tag to polaris-2.js .

What's on this page
  1. What's changing (in 30 seconds)
  2. CDN URL to version mapping
  3. How each URL behaves
  4. How to update (3 steps)
  5. For the React Router template / TypeScript
  6. 5 key points for developers
  7. 3 practical use cases
  8. One-line summary for proposals

1What's changing

Polaris Web Components 2.0 is now available on the stable Polaris CDN channel.
It's designed to match the redesigned Shopify admin (new frame, new navigation, and new look) and is thefirst major release.
2.0

Now live on stable

polaris-2.js and polaris-2.0.js — 2.0 is served from both URLs.

Matches the new admin look

A version built to match the redesigned admin's frame, navigation, and appearance.

No automatic upgrade

polaris.js / polaris-1.js continues to serve 1.1. To use 2.0, update your script tag yourself.

2CDN URL to version mapping

Script tag URL Version served polaris.js polaris-1.js polaris-2.js polaris-2.0.js Won't upgrade to 2.x Follows future 2.x releases Pinned to 2.0 Polaris 1.1 Previous look Polaris 2.0 Supports the new admin
How semantic versioning works : polaris-2.js tracks the latest 2.x release, whilepolaris-2.0.js is pinned to 2.0.polaris.js is explicitly stated tonever move to 2.x.

3Behavior by URL

URLVersion served todayOn future 2.x releasesBest for
polaris.js 1.1 Willnevermove to 2.x Apps not migrating right away
polaris-1.js 1.1 Not stated (it says 1.1 will continue to be served) Apps that want to stay on 1.x
polaris-2.js 2.0 Follows later 2.x releases The officially recommended update target
polaris-2.0.js 2.0 Stays pinned to 2.0 Apps that want to stay on 2.0 without picking up later 2.x releases

4Update steps (3 steps)

1

Update the script tag

polaris.js / polaris-1.js to polaris-2.js .

2
TS

Update type definitions (TypeScript)

@shopify/polaris-types@^2.0.0 — install it.

3

Pin to 2.0 if needed

If you don't want later 2.x releases, use polaris-2.0.js .

URL that serves 2.0

<script src="https://cdn.shopify.com/shopifycloud/polaris-2.js"></script>
<script src="https://cdn.shopify.com/shopifycloud/polaris-2.0.js"></script>

To pin to 2.0

<script src="https://cdn.shopify.com/shopifycloud/polaris-2.0.js"></script>
Which specific components and APIs change from 1.1 to 2.0 (the breaking changes) isnot statedin this article. Check the related doc "Update your app for Polaris 2".

5For the React Router template / TypeScript

React Router template

polarisUrl is set in two places

AppProvider polarisUrl shopifyApp polarisUrl in server config = The two values must always match

AppProvider and shopifyApp server config: set polarisUrl in both, with matching values.@shopify/shopify-app-react-router 2.1.0 or lateris required.

TypeScript

Upgrade the types package to 2.x

npm install @shopify/polaris-types@^2.0.0

The article only says to install @shopify/polaris-types@^2.0.0 . The above is an npm example (any package manager works).

65 key points for developers

1.1 2.0

1. An opt-in major update

Existing apps stay on 1.1 unless you change anything. Nothing breaks on its own, butyou need to switch over yourself to match the new admin look.

2. polaris.js is not "latest"

The name suggests it points to the newest version, but itwill never move to 2.x. Drop the assumption that using polaris.js keeps you on the latest.

2 2.0

3. Choose between tracking and pinning

polaris-2.js tracks later 2.x releases;polaris-2.0.js is pinned to 2.0. Pin if you want to stay on a tested version; track if you want updates automatically.

4. Keep React Router aligned in two places

AppProvider and the server-side shopifyApp 's polarisUrl must be set to the same value. Don't change only one of them.@shopify/shopify-app-react-router Requires 2.1.0 or later.

^2

5. Bump the type definitions to the new major too

In TypeScript projects, install @shopify/polaris-types@^2.0.0 . Keep the CDN version and the type definitions version aligned. The article doesn't detail the changes, so read "Update your app for Polaris 2" and "Versioning for web components" alongside it.

73 practical use cases

USE CASE 1

Align in-house and client embedded apps with the new admin look

Problem
The admin has been redesigned, but the embedded app UI is still on Polaris 1.1, so the look is inconsistent.
Approach
Change the script tag to polaris-2.js , and in TypeScript projects update to @shopify/polaris-types@^2.0.0 .
Impact
Your app renders with Polaris 2.0, matching the new frame, navigation, and appearance.
Tech notes
It won't switch automatically, so file an explicit upgrade ticket. Review the changes in "Update your app for Polaris 2".
polaris-2.0.js pin
USE CASE 2

Reduce maintenance risk on client apps by pinning to a tested version

Problem
For apps under a maintenance contract, there's a real risk that later minor releases slip in unnoticed and change the production look before anyone has tested them.
Action
polaris-2.0.js as the pinned version and verify on 2.0 → when later 2.x releases ship, test them before bumping the URL.
Impact
You decide when to update, and release decisions become part of your maintenance workflow.
Tech note
Apps that should track updates use polaris-2.js, apps that should stay pinned use polaris-2.0.js— decide the policy per app and document it in the README.
App Provider shopify App polarisUrl match
USE CASE 3

A migration checklist for React Router template apps

Challenge
When migrating multiple apps built from the React Router template, it's easy to miss a config location or end up with mismatched versions.
Action
① @shopify/shopify-app-react-router at 2.1.0 or later → ② AppProvider and shopifyApp : polarisUrl set to the same value → ③ type definitions set to ^2.0.0 — turn these three checks into a checklist.
Impact
Standardizes the migration so the steps stay consistent across apps.
Tech note
polarisUrl — define it once as an environment variable or shared constant and reference it from both places to avoid mismatched values.

8One-line summary for proposals

"Polaris 2.0, aligned with the new Shopify admin, is now stable.
It won't upgrade automatically — just change your script tag to polaris-2.js. To pin the version, use polaris-2.0.js.
polaris.js stays at 1.1, so if you want your app's look to stay consistent, plan your migration now."