Skip to content

Releases: graphcommerce-org/graphcommerce

Release 10.1.0-canary.30

Pre-release

Choose a tag to compare

@github-actions github-actions released this 02 Jul 11:48

@graphcommerce/next-ui@10.1.0-canary.30

Patch Changes

  • #2643 04ba9be - Only render disabled pagination items as links when enabled. Disabled PaginationItems no longer receive a component/href, preventing crawlers from following links to an infinite number of list pages and inflating the static page cache. (@Giovanni-Schroevers)

Release 10.1.0-canary.29

Pre-release

Choose a tag to compare

@github-actions github-actions released this 02 Jul 11:13

@graphcommerce/demo-magento-graphcommerce@10.1.0-canary.29

Patch Changes

  • #2642 1dc4e9e - Fix breadcrumb "up" link title being translated in the wrong locale during static generation. The Lingui t macro title was evaluated inside the returned props after awaiting GraphQL queries, so a concurrent static-generation request for another locale could change the global active locale mid-flight. The up object is now computed synchronously before any await, capturing the correct locale for the current request. (@Giovanni-Schroevers)

Release 10.1.0-canary.28

Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 Jul 08:12

@graphcommerce/storyblok-ui@10.1.0-canary.28

Patch Changes

  • #2640 e6685c9 - Add requestStoryblokCacheVersionRefresh() and stop the cache-version refresh from logging a spurious "apiPlugin not loaded" warning.

    On-demand revalidation (e.g. a cache-notify webhook) previously had to call refreshStoryblokCacheVersion(), which calls getStoryblokApi(). In a context where storyblokInit has not run — such as a serverless API route that never rendered a page — that logs "You can't use getStoryblokApi if you're not loading apiPlugin." The new requestStoryblokCacheVersionRefresh() only flips a flag that the next published read consumes, so it never touches the Storyblok client and never logs the warning. In a shared-process deployment (Kubernetes) the page regeneration that follows picks it up immediately; on serverless, freshness falls back to the storyblok.cacheVersionTtl interval.

    refreshStoryblokCacheVersion() is removed — replace any direct calls with requestStoryblokCacheVersionRefresh(). (@bramvanderholst)

Release 10.1.0-canary.27

Pre-release

Choose a tag to compare

@github-actions github-actions released this 29 Jun 13:24

@graphcommerce/storyblok-ui@10.1.0-canary.27

Patch Changes

  • #2639 6eb86fd - Refresh the pinned Storyblok cache-version (cv) on a TTL so published content no longer stays frozen on long-lived servers.

    storyblok-js-client pins the space cv per process on the first published request and never refreshes it (its cache.clear defaults to 'manual'), so published edits only became visible after a process restart — on a multi-pod deployment this could mean content not updating for a long time. fetchStory, fetchStories and fetchAllStories now call the new refreshStoryblokCacheVersion() before published reads, which re-fetches cdn/spaces/me at most once per the new storyblok.cacheVersionTtl config (seconds, default 60; 0 refreshes on every read) to advance the pinned cv. Skipped for preview/draft and in development. The helper is exported so on-demand revalidation (e.g. a cache-notify webhook) can force an immediate refresh. (@bramvanderholst)

Release 10.1.0-canary.26

Pre-release

Choose a tag to compare

@github-actions github-actions released this 12 Jun 14:21
chore(release): update prerelease versions

Release 10.1.0-canary.25

Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Jun 13:44

@graphcommerce/magento-cart@10.1.0-canary.25

Patch Changes

@graphcommerce/next-ui@10.1.0-canary.25

Minor Changes

  • #2637 bdaa6ec - Refactored LayoutNavigation into composable pieces (Header, HeaderContainer, MenuOverlay, project-local LayoutDefault). LayoutDefault / LayoutDefaultProps in @graphcommerce/next-ui are marked @deprecated. If you are upgrading and do not want these changes, you can just discard them. This is just a structural change for more ease of use. No visually change. (@bramvanderholst)

Patch Changes

Release 10.1.0-canary.24

Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 Jun 11:48

@graphcommerce/next-config@10.1.0-canary.24

Patch Changes

  • #2636 78f9803 - Fix Turbopack panic ("Cannot find module …graphcommerce.config.cjs") when loading graphcommerce.config.ts. cosmiconfig's sync TypeScript loader transpiles the config to a fixed temp .cjs path on disk and deletes it again, which races between Next.js worker processes. The .ts loader now transpiles via SWC and writes to a per-process unique filename next to the source so concurrent loads never collide. (@bramvanderholst)

Release 10.1.0-canary.23

Pre-release

Choose a tag to compare

@github-actions github-actions released this 29 May 09:20

@graphcommerce/graphql@10.1.0-canary.23

Patch Changes

  • #2634 06082ad - Make GraphCommerce compatible with Apollo Client 4.2+ by augmenting Apollo's DefaultOptions type with the preview extension and the SSR clients' errorPolicy: 'all' default. (@bramvanderholst)

@graphcommerce/storyblok-ui@10.1.0-canary.23

Patch Changes

Release 10.1.0-canary.22

Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 May 15:14

@graphcommerce/magento-product@10.1.0-canary.22

Minor Changes

  • #2627 95c188f - Add YoutubeEmbed component — a lightweight lazy-loading YouTube player that defers iframe creation until the user clicks the poster. Uses preconnect on hover for fast playback start and is styled with MUI sx, so no external CSS is required. Supports playlists, no-cookie mode, custom aspect ratios and ad-network preconnect hints.

    ProductVideo (used by ProductPageGallery) now delegates YouTube playback to YoutubeEmbed, so any product whose Magento media_gallery contains a YouTube video entry gets the new lazy-loading player on its product page. Vimeo and self-hosted video paths are unchanged. The Magento preview image is passed as the YoutubeEmbed thumbnail so the visible poster stays consistent with the rest of the gallery.

    Fix SidebarGallery so it forwards the Additional and slotProps from each image to MotionImageAspect. Before this fix the gallery silently dropped both props, which meant any Additional overlay configured by ProductPageGallery (the <ProductVideo> overlay with its PlayCircle and the new YoutubeEmbed) never reached the DOM. That was a latent regression that made all video-gallery entries render as static images, with or without this PR's YouTube changes.

    Fix playwright.config.ts so npx playwright test actually loads. The config previously imported examples/magento-graphcms/next.config.ts, which transitively pulled @graphcommerce/next-config's ESM build into a CJS context and crashed with ReferenceError: exports is not defined. Replaced with an opt-in PLAYWRIGHT_LOCALES env var for the multi-locale projects that the next.config import was meant to drive. (@paales)

@graphcommerce/next-ui@10.1.0-canary.22

Minor Changes

  • #2627 95c188f - Add YoutubeEmbed component — a lightweight lazy-loading YouTube player that defers iframe creation until the user clicks the poster. Uses preconnect on hover for fast playback start and is styled with MUI sx, so no external CSS is required. Supports playlists, no-cookie mode, custom aspect ratios and ad-network preconnect hints.

    ProductVideo (used by ProductPageGallery) now delegates YouTube playback to YoutubeEmbed, so any product whose Magento media_gallery contains a YouTube video entry gets the new lazy-loading player on its product page. Vimeo and self-hosted video paths are unchanged. The Magento preview image is passed as the YoutubeEmbed thumbnail so the visible poster stays consistent with the rest of the gallery.

    Fix SidebarGallery so it forwards the Additional and slotProps from each image to MotionImageAspect. Before this fix the gallery silently dropped both props, which meant any Additional overlay configured by ProductPageGallery (the <ProductVideo> overlay with its PlayCircle and the new YoutubeEmbed) never reached the DOM. That was a latent regression that made all video-gallery entries render as static images, with or without this PR's YouTube changes.

    Fix playwright.config.ts so npx playwright test actually loads. The config previously imported examples/magento-graphcms/next.config.ts, which transitively pulled @graphcommerce/next-config's ESM build into a CJS context and crashed with ReferenceError: exports is not defined. Replaced with an opt-in PLAYWRIGHT_LOCALES env var for the multi-locale projects that the next.config import was meant to drive. (@paales)

@graphcommerce/misc@10.1.0-canary.22

Patch Changes

  • #2627 95c188f - Add YoutubeEmbed component — a lightweight lazy-loading YouTube player that defers iframe creation until the user clicks the poster. Uses preconnect on hover for fast playback start and is styled with MUI sx, so no external CSS is required. Supports playlists, no-cookie mode, custom aspect ratios and ad-network preconnect hints.

    ProductVideo (used by ProductPageGallery) now delegates YouTube playback to YoutubeEmbed, so any product whose Magento media_gallery contains a YouTube video entry gets the new lazy-loading player on its product page. Vimeo and self-hosted video paths are unchanged. The Magento preview image is passed as the YoutubeEmbed thumbnail so the visible poster stays consistent with the rest of the gallery.

    Fix SidebarGallery so it forwards the Additional and slotProps from each image to MotionImageAspect. Before this fix the gallery silently dropped both props, which meant any Additional overlay configured by ProductPageGallery (the <ProductVideo> overlay with its PlayCircle and the new YoutubeEmbed) never reached the DOM. That was a latent regression that made all video-gallery entries render as static images, with or without this PR's YouTube changes.

    Fix playwright.config.ts so npx playwright test actually loads. The config previously imported examples/magento-graphcms/next.config.ts, which transitively pulled @graphcommerce/next-config's ESM build into a CJS context and crashed with ReferenceError: exports is not defined. Replaced with an opt-in PLAYWRIGHT_LOCALES env var for the multi-locale projects that the next.config import was meant to drive. (@paales)

Release 10.1.0-canary.21

Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 May 14:36

@graphcommerce/next-ui@10.1.0-canary.21

Patch Changes

  • #2633 7554ad4 - Fix: <Fab variant="extended"> no longer gets a fixed width from MuiFabSizes. The size-based width/height variants are now scoped to variant: 'circular' only, so extended Fabs can grow with their label (controlled via min-width instead) as MUI intends. Previously every extended Fab without an explicit size matched the default large rule and was forced to 54px wide. (@paales)