Release Notes
Release notes published January 2020.
GraphQL is a flexible and performant API that allows you to build custom front-ends, including headless storefronts, Progressive Web Apps (PWA), and mobile apps for Magento.
The Magento GraphQL project is a Magento Community Engineering special project open to contributors. To take part and contribute, see the Magento GraphQL repository and wiki to get started. Join us in our Slack channel (or self signup) to discuss the project.
These release notes can include:
- New features
- Fixes and improvements
Magento Commerce and Magento Open Source 2.3.4
- Guest carts can now be merged with customer carts. The
mergeCarts
mutation transfers the contents of a guest cart into the cart of a logged-in customer. - A customer can start an order on one device and complete it on another. Use the
customerCart
query to obtain the cart ID for a logged-in customer. - Layered navigation can use custom filters. The
filter
attribute of theproducts
query now requires theProductAttributeFilterInput
object. You can specify a pre-defined filter in this object, or define a custom filter. As a result, layered navigation on your website filters on the attributes you need. - You can search categories by ID, name, and/or URL key. The
categoryList
query replaces the deprecatedcategory
query. - A customer can add bundle and downloadable products to the cart with the
addBundleProductsToCart
andaddDownloadableProductsToCart
mutations. - The
ProductInterface
supports fixed product taxes (such as WEEE). Use thestoreConfig
query to determine whether the store supports these taxes. - The
cart
object has been enhanced to include information about promotions and applied discounts at the line and cart levels. - Added test coverage in multiple GraphQL modules.
The following queries and mutations have been deprecated:
Deprecated entity | Use this instead |
---|---|
category query |
categoryList query |
setPaymentMethodOnCartAndPlaceOrder mutation |
Run the setPaymentMethodOnCart and placeOrder mutations in the same request |
wishlist query |
customer query |
Magento Commerce and Magento Open Source 2.3.3
-
GraphQL supports PayPal, Braintree, and Authorize.Net payment methods. You can use mutations to set the payment method, retrieve payment method-specific tokens, and place an order. For details, see the following topics:
- Added support for gift cards: (Magento Commerce only)
giftCardAccount
queryapplyGiftCardToAccount
mutationremoveGiftCardFromCart
mutation
- Added the ability to manage store credit: (Magento Commerce only)
applyStoreCreditToCart
mutationremoveStoreCreditFromCart
mutation
- Added the addConfigurableProductsToCart mutation.
Magento Open Source 2.3.2
-
Added mutations to support the following cart operations and checkout for logged-in and guest customers:
- Add simple products to a cart.
- Add virtual products to a cart.
- Set the shipping address. Address books are supported.
- Set the billing address. Address books are supported.
- Set the shipping method. Supported methods include DHL, FedEx, Flat Rate, Free Shipping, Table Rate, UPS, and USPS.
- Set the payment method. Supported methods include Bank Transfer, Cash on Delivery, Check/Money Order, Purchase Order, and Zero Subtotal Checkout.
- Apply or remove cart coupons.
- Assign an email to a guest cart.
- Place an order.
-
Added support for payment methods that implement Magento Vault. See customerPaymentTokens query and deletePaymentToken mutation
-
Added new queries and extended the functionality of others.
- The
isEmailAvailable
query checks whether the specified email address has already been used to create an account. - The
cart
query can now return information set by mutations that perform cart operations, including product information, shipping and billing addresses, shipping and payment methods, and applied coupons. The query also returns calculated totals. - The
customerPaymentTokens
query returns the signed-in customer’s payment tokens.
- The
-
Queries can now be performed as HTTP GET or POST operations.
-
Magento can use Varnish or full-page caching to cache pages rendered from the results of the following GraphQL queries:
category
cmsBlocks
cmsPage
products
urlResolver
You must send these queries as HTTP GET operations to cache the results.
Magento Open Source 2.3.1
- Added mutations and queries that allow customers to manage My Account information. Specific capabilities include:
- Create customer account
- Change account information
- Manage billing and shipping addresses
- Change customer password
- Manage newsletter subscriptions
- View wish lists
- View order history
- View downloadable products
- Added functionality to support complex Catalog features. This version supports:
- Specifying absolute image paths for products and including extended image information
- Rendering fields that use WYSIWYG text
- URL rewrites for products
- GraphQL framework enhancements, including:
- Mutations that generate and revoke customer tokens
- Page Builder and WYSIWYG fields support complex structures for PWA scenarios
- Magento now calculates the complexity of queries and mutations and returns an error message if a query or mutation is deemed too complex
- Variable support in queries and mutations
- A query that returns information about a store’s theme and CMS configuration
- GraphQL tests are integrated with Travis CI
- GraphQL browsers now display fields and objects alphabetically