Skip to content

feat!: GraphCommerce 11 — drop Node 20, require Node 22+#2626

Open
paales wants to merge 2 commits into
canaryfrom
chore/node-version-alignment
Open

feat!: GraphCommerce 11 — drop Node 20, require Node 22+#2626
paales wants to merge 2 commits into
canaryfrom
chore/node-version-alignment

Conversation

@paales
Copy link
Copy Markdown
Member

@paales paales commented May 20, 2026

Summary

Promotes the framework to GraphCommerce 11. Node.js 20 hit EOL in April 2026, so we drop it as a supported runtime. The engines.node, CI matrix, gitpod and docs all now point at the versions Node actually supports.

Marked as a breaking / major change (changeset bumps major for the four versioned example/published packages) — under the fixed: [["@graphcommerce/*"]] group this rolls the whole @graphcommerce/* namespace over to 11.0.0 on the next stable release.

There are no source-code or API breaking changes — only the supported Node runtime shifts.

Engine ranges

engines.node now >=22.0.0 <27.0.0 across the root, all three examples (magento-graphcms, magento-open-source, magento-storyblok) and hygraph-dynamic-rows-ui:

  • drops Node 20 (EOL April 2026),
  • requires Node 22 (Maintenance LTS through ~April 2027) at minimum,
  • recommends Node 24 (Active LTS since Oct 2025),
  • allows up through Node 26 (current since May 2026).

CI

  • release-canary.yml, release-main.yml, pr-analysis.yml: node-version: 2024.
  • periodic-build.yml: matrix [20, 22][22, 24]; actions/setup-node@v3@v4.

Other

  • .gitpod.yml: nvm install 18nvm install 24.
  • docs/getting-started/create.md + the three example READMEs: outdated node 16/18 / node 20 references → node 22 or 24.
  • .devcontainer/devcontainer.json left as-is — lts: true resolves to v24 automatically.

Upgrade guide

New docs/upgrading/graphcommerce-10-to-11.md covering:

  1. Upgrading local Node (nvm + corepack)
  2. Bumping engines.node in consumer projects
  3. CI / Vercel / Docker / devcontainer pin updates
  4. Reinstall (yarn install && yarn codegen)
  5. Notes on the Node 22 → Node 24 timeline

Linked from docs/upgrading/readme.md.

Node.js status as of 2026-05-20

Version Status
v20 (Iron) EOL since April 2026
v22 (Jod) Maintenance LTS through ~April 2027
v24 (Krypton) Active LTS since Oct 2025 — recommended
v25 Current (non-LTS)
v26 Current since May 2026

Test plan

  • pr-analysis (yarn install + codegen + yarn test) green on Node 24
  • periodic-build matrix [22, 24] green for both examples
  • Local: yarn workspace @graphcommerce/magento-graphcms dev on Node 22 and Node 24
  • release-canary keeps publishing once merged
  • Upgrade guide reads correctly

🤖 Generated with Claude Code

- engines.node set to >=22.0.0 <27.0.0 across root + all examples and
  the hygraph-dynamic-rows-ui package. Drops Node 20 (EOL April 2026),
  requires Node 22 (Maintenance LTS) at minimum, and allows up to
  Node 26 (current).
- CI: release-canary, release-main and pr-analysis now pin Node 24
  (Active LTS, recommended). periodic-build matrix moved from [20, 22]
  to [22, 24] and actions/setup-node bumped from v3 to v4.
- .gitpod.yml bootstrap moved from `nvm install 18` to `nvm install 24`.
- Getting-started docs + example READMEs (graphcms, open-source,
  storyblok) now point at Node 22/24 instead of the various 16/18/20
  references they had.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 20, 2026

🦋 Changeset detected

Latest commit: dbf640f

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 86 packages
Name Type
@graphcommerce/magento-graphcms Major
@graphcommerce/magento-open-source Major
@graphcommerce/magento-storyblok Major
@graphcommerce/hygraph-dynamic-rows-ui Major
@graphcommerce/docs Major
@graphcommerce/browserslist-config-pwa Major
@graphcommerce/changeset-changelog Major
@graphcommerce/eslint-config-pwa Major
@graphcommerce/graphql-codegen-markdown-docs Major
@graphcommerce/graphql-codegen-near-operation-file Major
@graphcommerce/graphql-codegen-relay-optimizer-plugin Major
@graphcommerce/misc Major
@graphcommerce/next-config Major
@graphcommerce/prettier-config-pwa Major
@graphcommerce/typescript-config-pwa Major
@graphcommerce/address-fields-nl Major
@graphcommerce/algolia-categories Major
@graphcommerce/algolia-insights Major
@graphcommerce/algolia-personalization Major
@graphcommerce/algolia-products Major
@graphcommerce/algolia-recommend Major
@graphcommerce/algolia-search Major
@graphcommerce/cli Major
@graphcommerce/demo-magento-graphcommerce Major
@graphcommerce/ecommerce-ui Major
@graphcommerce/framer-next-pages Major
@graphcommerce/framer-scroller Major
@graphcommerce/framer-utils Major
@graphcommerce/google-datalayer Major
@graphcommerce/google-playstore Major
@graphcommerce/googleanalytics Major
@graphcommerce/googlerecaptcha Major
@graphcommerce/googletagmanager Major
@graphcommerce/graphcms-ui Major
@graphcommerce/graphql-mesh Major
@graphcommerce/graphql Major
@graphcommerce/hygraph-cli Major
@graphcommerce/hygraph-dynamic-rows Major
@graphcommerce/hygraph-ui Major
@graphcommerce/image Major
@graphcommerce/lingui-next Major
@graphcommerce/magento-cart-checkout Major
@graphcommerce/magento-cart-coupon Major
@graphcommerce/magento-cart-email Major
@graphcommerce/magento-cart-items Major
@graphcommerce/magento-cart-payment-method Major
@graphcommerce/magento-cart-pickup Major
@graphcommerce/magento-cart-shipping-address Major
@graphcommerce/magento-cart-shipping-method Major
@graphcommerce/magento-cart Major
@graphcommerce/magento-category Major
@graphcommerce/magento-cms Major
@graphcommerce/magento-compare Major
@graphcommerce/magento-customer Major
@graphcommerce/magento-graphql-rest Major
@graphcommerce/magento-graphql Major
@graphcommerce/magento-newsletter Major
@graphcommerce/magento-payment-adyen Major
@graphcommerce/magento-payment-afterpay Major
@graphcommerce/magento-payment-braintree Major
@graphcommerce/magento-payment-included Major
@graphcommerce/magento-payment-klarna Major
@graphcommerce/magento-payment-multisafepay Major
@graphcommerce/magento-payment-paypal Major
@graphcommerce/magento-payment-tokens Major
@graphcommerce/magento-product-bundle Major
@graphcommerce/magento-product-configurable Major
@graphcommerce/magento-product-downloadable Major
@graphcommerce/magento-product-grouped Major
@graphcommerce/magento-product-simple Major
@graphcommerce/magento-product-virtual Major
@graphcommerce/magento-product Major
@graphcommerce/magento-recently-viewed-products Major
@graphcommerce/magento-review Major
@graphcommerce/magento-search-overlay Major
@graphcommerce/magento-search Major
@graphcommerce/magento-store Major
@graphcommerce/magento-wishlist Major
@graphcommerce/mollie-magento-payment Major
@graphcommerce/next-ui Major
@graphcommerce/react-hook-form Major
@graphcommerce/service-worker Major
@graphcommerce/storyblok-ui Major
@graphcommerce/framer-next-pages-example Major
@graphcommerce/framer-scroller-example Major
@graphcommerce/image-example Major

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel
Copy link
Copy Markdown

vercel Bot commented May 20, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
graphcommerce-246 Ready Ready Preview May 20, 2026 11:06am
graphcommerce-247 Ready Ready Preview May 20, 2026 11:06am
graphcommerce-hygraph-dynamic-rows-ui Ready Ready Preview May 20, 2026 11:06am
graphcommerce-open-source Ready Ready Preview May 20, 2026 11:06am
graphcommerce-storyblok Ready Ready Preview May 20, 2026 11:06am

Request Review

- Changeset bumps for magento-graphcms, magento-open-source,
  magento-storyblok and hygraph-dynamic-rows-ui changed from `minor`
  to `major` so the next release rolls over to GraphCommerce 11.
- Added docs/upgrading/graphcommerce-10-to-11.md with the migration
  steps (Node 22+ minimum, CI/Vercel/Docker pins, reinstall).
- Linked the new guide from docs/upgrading/readme.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant