Releases: graphcommerce-org/graphcommerce
Release 10.0.1-canary.3
Release 10.0.1-canary.2
Release 10.0.1-canary.1
@graphcommerce/algolia-products@10.0.1-canary.1
Patch Changes
- #2571
591fb82- Make sure the default_display_currency_code is always fetched properly for Algolia (@paales)
@graphcommerce/graphql@10.0.1-canary.1
Patch Changes
- #2571
2350c13- Show loading skeleton when loading and there is no data, but show when there is an error so we dont get in a stuck state. (@paales)
@graphcommerce/magento-cart@10.0.1-canary.1
Patch Changes
@graphcommerce/magento-compare@10.0.1-canary.1
Patch Changes
@graphcommerce/magento-customer@10.0.1-canary.1
Patch Changes
-
#2571
78a2a8a- Solve issue where the @client fields could not be resolved correctly. (@paales) -
#2571
0146abe- Created a new GuestOrCustomerMask to show information based on their loggedIn state respecting the masking of private content. (@paales)
@graphcommerce/magento-recently-viewed-products@10.0.1-canary.1
Patch Changes
@graphcommerce/magento-store@10.0.1-canary.1
Patch Changes
-
#2571
d9c7545- When switching stores unset the currency when there is no selection available for a given store. (@paales) -
#2571
6d5ff59- Do not send an unacceptable store currency due to a configuration error and make sure the correct currency is stored. Show a StoreSwitcherFab on mobile. (@paales)
@graphcommerce/next-config@10.0.1-canary.1
Patch Changes
Release 10.0.1-canary.0
@graphcommerce/algolia-insights@10.0.1-canary.0
Patch Changes
@graphcommerce/algolia-products@10.0.1-canary.0
Patch Changes
- #2568
f1b60ac- Solve issue where the cache wasn't available from the context anymore in @apollo/client@4 now uses the operation.client.cache (@paales)
@graphcommerce/googlerecaptcha@10.0.1-canary.0
Patch Changes
- #2568
f1b60ac- Solve issue where the cache wasn't available from the context anymore in @apollo/client@4 now uses the operation.client.cache (@paales)
@graphcommerce/graphql@10.0.1-canary.0
Patch Changes
@graphcommerce/hygraph-dynamic-rows-ui@10.0.1-canary.0
Patch Changes
@graphcommerce/magento-cart@10.0.1-canary.0
Patch Changes
- #2568
f1b60ac- Solve issue where the cache wasn't available from the context anymore in @apollo/client@4 now uses the operation.client.cache (@paales)
@graphcommerce/magento-cart-email@10.0.1-canary.0
Patch Changes
- #2568
dc57da4- Moved from form.watch to useWatch everywhere which works even if the fields are later initialized. (@paales)
@graphcommerce/magento-cart-payment-method@10.0.1-canary.0
Patch Changes
- #2568
dc57da4- Moved from form.watch to useWatch everywhere which works even if the fields are later initialized. (@paales)
@graphcommerce/magento-cart-pickup@10.0.1-canary.0
Patch Changes
- #2568
dc57da4- Moved from form.watch to useWatch everywhere which works even if the fields are later initialized. (@paales)
@graphcommerce/magento-cart-shipping-address@10.0.1-canary.0
Patch Changes
- #2568
dc57da4- Moved from form.watch to useWatch everywhere which works even if the fields are later initialized. (@paales)
@graphcommerce/magento-cms@10.0.1-canary.0
Patch Changes
@graphcommerce/magento-compare@10.0.1-canary.0
Patch Changes
- #2568
dc57da4- Moved from form.watch to useWatch everywhere which works even if the fields are later initialized. (@paales)
@graphcommerce/magento-customer@10.0.1-canary.0
Patch Changes
-
#2568
dc57da4- Moved from form.watch to useWatch everywhere which works even if the fields are later initialized. (@paales) -
#2568
f1b60ac- Solve issue where the cache wasn't available from the context anymore in @apollo/client@4 now uses the operation.client.cache (@paales)
@graphcommerce/magento-review@10.0.1-canary.0
Patch Changes
@graphcommerce/next-ui@10.0.1-canary.0
Patch Changes
@graphcommerce/misc@10.0.1-canary.0
Patch Changes
-
#2569
f76edb7- Fix issue with container sizing of breadcrumb (@paales) -
#2568
6277f34- Solve issue where reactCompiler was enabled but the babel package wasn't installed and thus erroring. (@paales)
@graphcommerce/next-config@10.0.1-canary.0
Patch Changes
GraphCommerce 10.0.0
GraphCommerce 10.0.0 bring major performance improvements during development, expect a 10x speed improvement with fast refresh and a 5x speed improvements for production builds. We've updated to the latest version of Next.js, React 19, MUI and Apollo Client 4. Many Magento updates as well.
Next.js 16
React 19
- Actions
useActionStateuseOptimisticuse<form>useFormStatusrefas prop andrefcleanupCustom ElementsuseEventEffect
React Compiler + Eslint
Next.js 16 comes with support for the new React Compiler 1.0, although not enabled by default and we're not using it on our side yet, all groundwork has been laid out to start experimenting with it. This also comes with the new advanced eslint-plugin-react-hooks which will warn you thoughout the codebase when using unsupported patterns.
MUI 7
We've updated from MUI 6 yo MUI 7. See release notes of MUI 6 and MUI 7 for more details.
- CSS Variables: All variables can be accessed in JS via
theme.vars.palette.primary.mainor directly withvar(--palette-primary-main). - Container Queries: With great browser support it comes as a welcome addition to the framework.
- CSS Layer support
Apollo Client 4
Turbopack
This major release brings full Turbopack compatibility, dramatically improving development speed. To allow for Turbopack we needed to migrate away from all Webpack plugins and replace them with replacements that do not rely on customizations of the build process.
-
Plugin/Interceptor system rewrite: Before we created a FileName.interceptor.tsx that would be loaded when the original file was requested (with a custom Webpack plugin), now we rename the original file to FileName.original.tsx and create the interceptor at Filename.tsx. This does two things: We don't need to copy the original source code to the file, making for cleaner interceptors which work better wiht hot reloading and we don't need to create a custom Turbopack plugin (which isn't even possible yet). New CLI commands:
yarn graphcommerce codegen-interceptorsto generate interceptor files andyarn graphcommerce cleanup-interceptorsto reset the interceptor system and restore original files. -
Treeshakable Configuration System: Replaced Webpack
DefinePlugin-basedimport.meta.graphCommercewith a new generated configuration system. Newyarn graphcommerce codegen-config-valuescommand generates TypeScript files with precise typing. All configurations are now available as contantsimport { myConfig } from '@graphcommerce/next-config/config'to use in your code. By generating multiple files for nested objects we allow the compiler to understand what can be tree-shaken.
Breaking change: Node 18 not supported, 20 and 22 are.
- Node 18 is EOL
- Added support for Node 20 and 22
- Node 24 will be added later (After this is fixed ardatan/whatwg-node#2971)
- Migrated to vitest (@paales) graphql-codegen-markdown-docs graphql-codegen-relay-optimizer-plugin next-config
Magento improvements
-
Added support for multiple display currencies in the frontend. Multiple currencies were already supported, but this introduces Display Currencies for viewing the cart in different currencies. (@paales) magento-store
-
Refactored the Store Selector to be more of a form and have multiple nested toggles to switch groups, stores and currencies. It automatically hides features that aren't used: If only a single group is used with multiple stores only the store selector is shown. If multiple groups are used with each a single store is used, only the group selector is shown. If only a single currency is used, there is no currency selector. If multiple currencies are used, the currency selector is shown. (@paales) magento-store
-
Add billingAddress permission (EDITABLE | READONLY) that controls whether the end user can update their billing address in the account section and checkout. (@Giovanni-Schroevers) magento-cart magento-cart-shipping-address magento-customer magento-graphcms magento-open-source
-
Magento 2.4.7: Implemented the
customer_account_createandcustomer_account_editforms using theattributeFormquery for the registration page and customer information form. The forms respect the settings configured in the 'Customer Configuration section'. It allows configuration forprefix,middlename,suffix,dob,genderand other fields. This also makes the frontend compatible with Adobe Commerce's Customer Attributes module. (@paales) magento-customer -
Added support for viewing Invoices/Shipments and Credit Memo's (@paales) magento-customer
-
Magento: Introduce a new Product-
uidto solve an issue where cache normalization was not working properly on the frontend when viewing products with a differen curreny, etc.Products now have a more detailed
uidwhich will include the scope the product is retrieved from. For example:NDg5MDM=?store=nl_NL¤cyCode=EUR. This results in a better cache normalization in Apollo Client and allows for switching between scopes (store/currency/price views/accounts) without creating a broken cache state.We have implemented this with a new resolver that rewrites the
uidpassed from Magento to the Mesh Resolver, and additing additonal data to theuidbased on the headers passed from the client. This also requires each package to implement thegetPrivateQueryContextMeshmethod to retrieve the current PrivateQuery context from the GraphQL request headers. (@paales) magento-graphql magento-store graphql -
Improved Downloadable products functionality:
- Account Dashboard Link and Download Page
- Download samples / linkSamples and links from the backend.
- CartItem edit functionality for the DownloadableCartItem
- Dynamic ProductPagePrice for downloadable options (@paales)
-
Implemented the
query { attributesForm }to be able to dynamically render forms with useAttributesForm/preloadAttributesForm and AttributesFormAutoLayout, and additional utilities to handle form submissions. (@paales) magento-store
Algolia improvements
-
Algolia stock status fix: Use
in_stockinstead ofis_stockin Algolia hit to Magento product conversion (@davido-priority) -
Search Categories through algolia (@paales) magento-search algolia-categories
-
Added support for Algolia's facetOrdering which allows you to change the presented filters based on rules. (@paales) algolia-products
Other
- Make hygraph-cli dependency for the cli package optional, so that resolveDependenciesSync accepts it not being installed. (@Giovanni-Schroevers) cli
🐛 Fixes
-
When running a cart mutation and the cartId is already passed to the form we use that value instead of retrieving the current cart again. (@paales) magento-cart
-
Allow setting the cartId in the form for useFormGqlMutationCart by setting the cartId in the form AND allow setting the cartId for a whole context by wrapping with CartIdProvider (@paales) magento-cart magento-cart-shipping-address
-
Allow setting the redirect value in the AddProductsToCartForm as a form value. (@paales) magento-cart
-
Forwarded ref to AddProductsToCartButton (@paales) magento-cart
-
Solve issue where the total of the cart was zero due to discount or store credit the user couldn't proceed to the checkout. We now check for items and errors instead of the total. (@Giovanni-Schroevers) magento-cart
-
Remove all usages of the NoSsr component as the...
Release 10.0.0-canary.72
Release 10.0.0-canary.68
@graphcommerce/ecommerce-ui@10.0.0-canary.68
Major Changes
-
#2557
ceaadd8- ## Material UI v5 → v7 MigrationThis release upgrades Material UI from v5 to v7 with full CSS variables support. (@paales)
@graphcommerce/framer-scroller@10.0.0-canary.68
Major Changes
-
#2557
ceaadd8- ## Material UI v5 → v7 MigrationThis release upgrades Material UI from v5 to v7 with full CSS variables support. (@paales)
@graphcommerce/magento-cart@10.0.0-canary.68
Major Changes
-
#2557
ceaadd8- ## Material UI v5 → v7 MigrationThis release upgrades Material UI from v5 to v7 with full CSS variables support. (@paales)
@graphcommerce/magento-cart-coupon@10.0.0-canary.68
Major Changes
-
#2557
ceaadd8- ## Material UI v5 → v7 MigrationThis release upgrades Material UI from v5 to v7 with full CSS variables support. (@paales)
@graphcommerce/magento-cart-items@10.0.0-canary.68
Major Changes
-
#2557
ceaadd8- ## Material UI v5 → v7 MigrationThis release upgrades Material UI from v5 to v7 with full CSS variables support. (@paales)
@graphcommerce/magento-customer@10.0.0-canary.68
Major Changes
-
#2557
ceaadd8- ## Material UI v5 → v7 MigrationThis release upgrades Material UI from v5 to v7 with full CSS variables support. (@paales)
@graphcommerce/magento-product@10.0.0-canary.68
Major Changes
-
#2557
ceaadd8- ## Material UI v5 → v7 MigrationThis release upgrades Material UI from v5 to v7 with full CSS variables support. (@paales)
@graphcommerce/magento-product-configurable@10.0.0-canary.68
Major Changes
-
#2557
ceaadd8- ## Material UI v5 → v7 MigrationThis release upgrades Material UI from v5 to v7 with full CSS variables support. (@paales)
@graphcommerce/magento-review@10.0.0-canary.68
Major Changes
-
#2557
ceaadd8- ## Material UI v5 → v7 MigrationThis release upgrades Material UI from v5 to v7 with full CSS variables support. (@paales)
@graphcommerce/magento-search@10.0.0-canary.68
Major Changes
-
#2557
ceaadd8- ## Material UI v5 → v7 MigrationThis release upgrades Material UI from v5 to v7 with full CSS variables support. (@paales)
@graphcommerce/magento-wishlist@10.0.0-canary.68
Major Changes
-
#2557
ceaadd8- ## Material UI v5 → v7 MigrationThis release upgrades Material UI from v5 to v7 with full CSS variables support. (@paales)
@graphcommerce/next-ui@10.0.0-canary.68
Major Changes
Release 10.0.0-canary.67
@graphcommerce/magento-cart@10.0.0-canary.67
Patch Changes
- #2540
36e2bac- Add billingAddress permission (EDITABLE | READONLY) that controls whether the end user can update their billing address in the account section and checkout. (@Giovanni-Schroevers)
@graphcommerce/magento-cart-shipping-address@10.0.0-canary.67
Patch Changes
- #2540
36e2bac- Add billingAddress permission (EDITABLE | READONLY) that controls whether the end user can update their billing address in the account section and checkout. (@Giovanni-Schroevers)
@graphcommerce/magento-customer@10.0.0-canary.67
Patch Changes
- #2540
36e2bac- Add billingAddress permission (EDITABLE | READONLY) that controls whether the end user can update their billing address in the account section and checkout. (@Giovanni-Schroevers)
@graphcommerce/magento-product@10.0.0-canary.67
Patch Changes
- #2506
cfb5ed6- feat(GCOM-1577): show product name and link on PDP breadcrumbs (@FrankHarland)
Release 10.0.0-canary.66
@graphcommerce/ecommerce-ui@10.0.0-canary.66
Patch Changes
- #2538
9b96d69- fix issue where stepper could have values such as 8,10000000000 inste… (@FrankHarland)
Release 10.0.0-canary.65
@graphcommerce/next-ui@10.0.0-canary.65
Patch Changes
- #2543
7e1e33e- Fix IconBlocks width (@StefanAngenent)