feat!: drop IE 11 and modernize browser targets#946
Draft
Conversation
This was referenced Mar 9, 2026
Contributor
Author
This stack of pull requests is managed by Graphite. Learn more about stacking. |
7ac6997 to
12e5bb9
Compare
3c1c1b3 to
6b57476
Compare
f2a1c65 to
b8b74d9
Compare
6b57476 to
b24fb06
Compare
Switch from manual CHANGELOG management to @changesets/changelog-github. - Update .changeset/config.json to use @changesets/changelog-github - Pass GITHUB_TOKEN to changeset version step in release workflow (@changesets/changelog-github needs it to fetch PR metadata for links) - Fix git add to include CHANGELOG.md (pre-existing bug — changeset version modifies CHANGELOG.md but it was never staged in the commit step) - Fix stale v3.0.6 '(Unreleased)' label — published to npm August 25, 2025
…ELOG date Two items from the PR 4a plan that were missed in the original commit: 1. @changesets/changelog-github was referenced in .changeset/config.json but never declared in package.json devDependencies. The lockfile had the specifier (from pnpm install), so CI's --frozen-lockfile saw a mismatch and failed. 2. CHANGELOG.md v3.0.6 date was still "(Unreleased)" — v3.0.6 was published to npm on August 25, 2025.
BREAKING CHANGE: Drop IE 11, Safari 8, iOS 8, Android 4.4 browser support. Minimum browser targets are now rolling modern versions aligned with Shopify Online Store themes. The library now emits ES2015+ JavaScript (native classes, arrow functions, template literals) and no longer transpiles to ES5. - Update browserslist to union of @shopify/browserslist-config + Theme Store requirements - Remove 15 Babel ES5 transform plugins + dead @babel/plugin-external-helpers - Remove 7 polyfill imports from buybutton.js (whatwg-fetch, core-js/*) - Replace UglifyJS with terser for ES2015+-compatible minification - Add terser error guard against silent minification failure - Keep @babel/plugin-transform-modules-commonjs for Browserify test pipeline (until PR 7a) - Native ES2015 classes replace loose-mode Babel classes (non-enumerable prototype methods) - Create major changeset for 4.0.0 version bump - Pin pnpm/action-setup to commit SHA in ci.yml (supply chain hardening) - Add @changesets/changelog-github as explicit devDependency (was phantom)
Add PR 4b review recommendations from Sheldon (source maps) and Kara (stale caniuse-lite) as prerequisite notes on PR 6 (Vite migration), where both issues naturally resolve. This ensures the deferred items are not lost between PRs.
b8b74d9 to
d83fdfa
Compare
b24fb06 to
c47c4dd
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

BREAKING CHANGE: Drop IE 11, Safari 8, iOS 8, Android 4.4 browser support.
Minimum browser targets are now rolling modern versions aligned with
Shopify Online Store themes. The library now emits ES2015+ JavaScript
(native classes, arrow functions, template literals) and no longer
transpiles to ES5.
requirements
(until PR 7a)
prototype methods)