brX GraphQL Service Release Notes
Project Status
| Solution version | Bloomreach Content version |
| 14.x | 14.x |
brX GraphQL Service and Commerce React Components Release Notes (14.x)
14.7.6
GraphQL Service
Improvements
- Display product variants in the Wishlist for commercetools.
14.7.5
GraphQL Service
Bug Fixes
- The
streetAddressfield was returned as null when providing a complete address in the input forSetOrderDetailswith commercetools.
14.7.4
Commerce React Components
New Features
- Added support for the new
brEnvTypequeryHinttype to specify the Discovery realm when querying with Discovery.
GraphQL Service
New Features
- Registered AIR key value is now included for the SAP Commerce Cloud connector on every request as a certified solution identifier.
Improvements
- Categories are now included as part of the product(s) result with commercetools.
14.7.3
GraphQL Service
New Features
- Introduced the
brEnvtypequeryHinttype to specify the Discovery realm when querying with Discovery.
Improvements
- Added additional fields for discounts with commercetools.
Bug Fixes
- Sorting by ID and creation date did not work on the Order data source with BigCommerce.
- Variant item ID returned "var693-undefined" in the checkout response with BigCommerce.
- Users could not access or update orders placed by another user with commercetools.
- The tax amount in the
placeOrderresponse with commercetools was not rounded.
14.7.2
Commerce React Components
Improvements
- Exposed the Apollo Query
refetchfunction through Commerce React Components.
GraphQL Service
New Features
- Shipping costs are now available when fetching shipping methods with commercetools.
Improvements
- Added support for order number in order CRU operations with commercetools.
- Price and discounts can now be selected per country instead of per channel.
14.7.1
Commerce React Components
Improvements
- Introduced the
customQueryOptionsProcessorinput property for all components to enable GraphQL query customization.
GraphQL Service
New Features
- The cart is retained when changing locale with commercetools.
Improvements
- An empty
companyNamecan be provided when updating a user's address with commercetools. - Price and discounts can now be selected per country instead of per channel.
14.7.0
Commerce React Components
Improvements
- Added
category.keyin GraphQL queries to improve URL readability.
Bug Fixes
- Included missing Discovery functionalities in queries and generated TypeScript definitions.
- Resolved Apollo client caching issues on ProductGrid and ProductDetail
itemObjectTypes due to shared cache entries for the sameitem(identified by itemID).
GraphQL Service
New Features
- BigCommerce connector: Added access management support for sign-in and sign-out.
- BigCommerce connector: Implemented Customer DataSource.
- Queries:
- Retrieve authenticated customer details.
- Mutations:
- Register a new customer.
- Change authenticated customer's password.
- Update authenticated customer's details.
- Recover password.
- Reset password.
- Queries:
- BigCommerce connector: Implemented Address DataSource.
- Queries:
- Retrieve authenticated customer's addresses by group.
- Retrieve authenticated customer's address by ID.
- Mutations:
- Create a new address for the authenticated customer.
- Update an address for the authenticated customer.
- Remove an address for the authenticated customer.
- Set default shipping address for the authenticated customer.
- Set default billing address for the authenticated customer.
- Queries:
- BigCommerce connector: Implemented Items DataSource.
- Queries:
- Find products by ID.
- Find products by category.
- Find items by slug.
- Queries:
- BigCommerce connector: Implemented Cart DataSource.
- Queries:
- Retrieve cart for authenticated customer.
- Mutations:
- Add items to the authenticated customer's cart.
- Update entries in the authenticated customer's cart.
- Remove items from the authenticated customer's cart.
- Update order details (checkout) for the authenticated customer's cart.
- Set order (checkout) for the authenticated customer's cart.
- Queries:
- BigCommerce connector: Implemented Order DataSource.
- Queries:
- Find orders for authenticated customer.
- Find an order by ID for authenticated customer.
- Retrieve all shipping methods for an order.
- Mutations:
- Repeat order (add items from a previous order to the active cart, removing any existing items).
- Queries:
- BigCommerce connector: Implemented Wishlist DataSource.
- Queries:
- Find wishlist by ID.
- Find all wishlists for authenticated customer.
- Mutations:
- Create a new wishlist for authenticated customer.
- Update a wishlist (e.g., rename) for authenticated customer.
- Delete a wishlist for authenticated customer.
- Add a new item to a wishlist for authenticated customer.
- Update a wishlist (e.g., remove an item) for authenticated customer.
- Queries:
- BigCommerce connector: Implemented Inventory DataSource.
- Queries:
- Find item availability by ID.
- Queries:
Improvements
- Extra attributes stored in store Users are now passed during signing operations and can be retrieved by the recovery REST API.
- Product information for multiple products can be retrieved in a single request.
- Orders can be associated with custom attributes upon creation with commercetools.
14.6.10
GraphQL Service
Improvements
- The cart is dropped when removing a session with commercetools.
14.6.9
GraphQL Service
Improvements
- Added extra parameters to
find itemsoperations for commercetools.
14.6.8
GraphQL Service
Bug Fixes
- Cart (or OrderDraft) was missing customer email and address phone data.
14.6.7
GraphQL Service
Improvements
- Added telephone number, including country code, to customer address (billing and shipping) with commercetools.
14.6.6
GraphQL Service
Improvements
- Enabled setting the
distributionChannelas part of thecartHint.
14.6.5
Commerce React Components
New Features
- Added
storeKeyparameter for cart-related Commerce React Components.
Improvements
- Channel product availability is now available in product-related queries and type definitions.
GraphQL Service
New Features
- Added
storeKeyparameter for cart operations in commercetools.
Improvements
- Enabled product sorting by custom fields with commercetools.
Bug Fixes
- The
storeKeyparameter was not applied when searching for products by category.
14.6.4
GraphQL Service
Improvements
- Enabled use of
storeKeyfor retrieving a single product by ID or slug.
14.6.3
Commerce React Components
Improvements
- Introduced
storeKeyinCommonQueryHintInputPropsinterface to query products for a specific store. - Read the slug field based on new "find by slug" operations.
- Set the
Accept-Languagerequest header to an empty string by default.
GraphQL Service
New Features
- The commercetools store is now passed when creating an order, enabling differentiation of orders from different stores.
- Added queries to retrieve a product by slug and a category by slug.
- Introduced new GraphQL queries:
findChannels,findChannelByKey, andfindChannelById. - Enabled overriding default request headers, including
Accept-Language, inCommerceConnectorProvider. - Enabled updating multiple custom attributes on the Order resource.
Improvements
- Added support for stock information in the product response.
- Enabled updating custom attributes of an order during order updates.
- Improved the
findOrdersquery operation to accept filtering by custom attribute name-value pairs.
14.6.2
Commerce React Components
Improvements
- Added the slug field in the GraphQL schema-generated code for items and categories.
- Added the
storeKeyoption inqueryHintInputin the Commerce React Components GraphQL schema-generated code.
GraphQL Service
New Features
- Added "Short URL" (slug) attribute for products and categories when querying commercetools via GraphQL Service.
- Enabled querying products using the commercetools store.
Improvements
- Product title and description are now displayed in the localized language if available from commercetools.
- Channel ID information is now included as part of the product price.
Bug Fixes
- Resolved vulnerabilities encountered during installation of
commerce-graphql-service.
14.6.1
Commerce React Components
Improvements
- Included
ImageSet.variantsin GraphQL queries to support multiple variant images.
GraphQL Service
Improvements
- Improved URLs to be more user-friendly by supporting both category key and category ID.
New Features
- Stock levels can be checked in a product detail page (PDP) based on the shopper's location with commercetools.
- Shoppers can view shipping costs for their cart according to their region with commercetools.
- Create, update, and delete wishlists with commercetools.
- Password recovery is available with commercetools.
- Product search results can be filtered with commercetools.
14.6.0
Commerce React Components
Improvements
- Supported all brSM query hints in Product and Category components.
- Added coupon code support in Cart.
- Implemented page-based pagination in Product and Category components.
New Features
- Introduced
ProductGridWidgetsto handle thefindItemsByWidgetGraphQL query.
GraphQL Service
Improvements
- Added a default locale option.
- Exposed the
X-BR-Response-Timefrom brSM in the GraphQL response. - Included custom attributes in
queryHintin brSM search field names. - Enabled overriding
CUSTOM_VARIANT_LIST_PRICE_FIELDandCUSTOM_VARIANT_PURCHASE_PRICE_FIELDthrough GraphQLqueryHint. - Enabled overriding
smAccountID(andauth_key) through GraphQLqueryHint.
Bug Fixes
- The cart did not reset after logging out of the Demo React App for Shopify.
- Customers could not add items to the cart after checkout with Shopify.
- Variant price data was incorrectly mapped between brSM and Shopify.
findItemsByWidgetdid not return the correct result.- Non-existing custom attributes no longer return the string "undefined".
- The brSM search API response for
products-with-variantswas incorrect.
14.5.1
Bug Fixes
- Variant price data was incorrectly mapped between brSM and Shopify.
14.5.0
User Stories
- As a front-end developer, check product inventory to determine if it can be added to the cart with Shopify.
- As a front-end developer, allow shoppers to customize a product, add it to the cart, and view their customization in the cart with Shopify.
- As a front-end developer, enable shoppers to update their cart with coupon codes during checkout with commercetools.
New Features
- Added
findItemsByWidgetquery to support Pathways and Recommendations v2.
Improvements
- Added "active" and "state" fields to the Cart model to inform the front end of cart changes.
- Supported overwriting or appending query parameters with Search and Merchandising's auto-suggest.
- Added variant ID to the cart entry's itemID with Shopify.
- Enabled custom attributes to be added to the cart in Commerce React Components and Demo React App.
- Fixed the URL pattern for cart item variants in Commerce React Components.
- Changed
mainIteminItemVariantto contain onlyitemIdanddisplayName. - Used "handle" as the main product's code with Shopify.
Bug Fixes
- Commerce Open UI Pickers failed to connect if the GraphQL URL configuration was changed.
Tasks
- Improved the Commerce Open UI Picker to read the configured URL from its own configuration in JCR.
14.4.0
User Stories
- As a front-end developer, enable users to sort search results on a Product Grid with commercetools.
- As a front-end developer, enable users to sort search results on a Product Grid with SAP.
- As a front-end developer, enable users to sort search results on a Product Grid with Shopify.
- As a front-end developer, retrieve custom fields (attributes) from SAP.
New Features
- Migrated Autosuggest data source from V1 to V2.
Improvements
- Enabled product search using product key with commercetools.
- Allowed querying against brSM without signing in (including anonymous access).
- Added GraphQL Federation support.
14.3.3
User Stories
- As a front-end developer, retrieve custom fields (attributes) from Shopify when querying through GraphQL.
- As a front-end developer, expose customFields from commercetools in the GraphQL response.
- As a front-end developer, pass search redirects set in brSM by merchandisers through GraphQL for front-end handling.
New Features
- Implemented cart functionalities on the Open-Source Commerce Backend Connector: Shopizer.
- Implemented customer sign-in and sign-out on the Open-Source Commerce Backend Connector: Shopizer.
- Implemented product search on the Open-Source Commerce Backend Connector: Shopizer.
- Implemented address management for updating addresses on the Open-Source Commerce Backend Connector: Shopizer.
- Added category resolver (retrieve all categories for menu) and category detail on the Open-Source Commerce Backend Connector: Shopizer.
- Added customer profile functionalities to the Open-Source Commerce Backend Connector: Shopizer.
- Added registration functionalities on the Open-Source Commerce Backend Connector: Shopizer.
- Implemented checkout functionalities on the Open-Source Commerce Backend Connector: Shopizer.
- Forwarded "autocorrect" information in brSM API response to front-end code.
Improvements
- Direct checkout no longer merges the anonymous cart with the current user cart; sign-in operation supports extra cart-related options.
- Displayed product version (brx-graphql-service) on startup.
- Improved the commercetools customer data model with additional fields in the GraphQL response.
- Merged brSM global custom attribute field names in
.envinto theflparameter by default.
Bug Fixes
- Auto-suggest threw "Invalid URL" message.
Tasks
- Provided product variant dimensions data to the Open-Source Commerce Backend Connector: Shopizer.
14.3.2
Improvements
- Provided GraphQL Schema HTML Documents.
14.3.1
Bug Fixes
- Master variant was not displayed on the product detail page with commercetools.
- brSM connector
fllist contained duplicate field names in brX GraphQL Service.
New Features
- Added generic
paramsinput in QueryHint (to include segment, ll, etc.) to brSM with brX GraphQL Service. - Added "forgot password" functionality to brX GraphQL Service with Shopify.
User Stories
- As a front-end developer, retrieve custom fields (attributes) from brSM when querying through brX GraphQL Service.
- As a front-end developer, retrieve custom fields (attributes) from commercetools when querying through brX GraphQL Service.
Improvements
- Added sorting support for
findByKeywordandfindByCategoryagainst brSM in brX GraphQL Service. - Anonymous cart did not merge when signing in with SAP.
- Included
price_rangeandsale_price_rangeas standard fields. - Allowed fields in
BRSM_CUSTOM_ATTR_FIELDto be returned as facets in the response from brX GraphQL Service. - Supported custom attribute fields at the variant level from brSM with brX GraphQL Service.
- Added sorting support for
findByKeywordandfindByCategoryin Product Grid React High Order Component. - Allowed overriding
customAttrsfields info through QueryHint when accessing brSM.
14.3.0
Bug Fixes
- Anonymous cart did not merge after signing in with valid credentials in SAP.
- Authorization token from Salesforce CloudCraze did not work if brX GraphQL Service was inactive for 2-3 hours.
New Features
- Added federated login/logout in brX GraphQL Service.
- Added "cart" functionalities to brX GraphQL Service with Shopify.
- Added "customer sign-in and sign-out" functionalities to brX GraphQL Service with Shopify.
- Added "product search" functionalities to brX GraphQL Service with Shopify.
- Added "address management" functionalities to brX GraphQL Service with Shopify.
- Added "customer profile" functionalities to brX GraphQL Service with Shopify.
- Added "registration" functionalities to brX GraphQL Service with Shopify.
- Added "order" functionalities to brX GraphQL Service with Shopify.
- Added Pixel scriptlet in React Demo and passed
_br_uid_2cookie value in HOC when searching against brSM.
User Stories
- As a developer, set up brX GraphQL Service with brSM without requiring a commerce backend connection for access management.
- As a developer, query brSM in multiple languages defined via
domain_keyin each API call.
Tasks
- Provided product variant dimensions data to brX GraphQL Service with Shopify.
- Updated
docker-compose.ymlfile with all environment configurations. - Implemented React HOC and Demo for Federated Cart Checkout Integration with Shopify.
- Provided guidance on customizing the Shopify "Thank you" page to redirect back to SPA, with examples.
- Included
auth_keyparameter in brSM Search, Category, and Widget API calls. - Fixed license info and headers in source in brX GraphQL Service.
Improvements
- Added category resolver (retrieve all categories for menu) and category detail to brX GraphQL Service with Shopify.
- Standardized error handling at the Apollo level for different direct error messages from REST in brX GraphQL Service.
- Added support for
_br_uid_2in brX GraphQL Service with brSM. - Enabled configuration to allow or disable token refreshing.
- Used specific customerID when invoking the backend SAP OCC API.
- Updated
StoreUser.usernameto contain both backend-specific identifier and username (email). - Changed the scope of DataSources to transient.
14.2.1
Bug Fixes
- brX GraphQL Service did not work with NodeJS 12.18.X.
- ItemId converter did not function as expected in brX GraphQL Service.
getCartquery for SAP did not return the current cart when an "id" was not provided.getCartquery for commercetools did not return an empty cart when none was found.
New Features
- Added "cart" functionalities to brX GraphQL Service with SAP.
- Added "checkout" functionalities to brX GraphQL Service with SAP.
- Added "view order list and single order" functionalities to brX GraphQL Service with SAP.
- Added "registration" functionalities to brX GraphQL Service with SAP.
- Added "product search by category" functionalities to brX GraphQL Service with SAP.
- Added "re-order" functionalities to brX GraphQL Service with SAP.
Tasks
- Supported product attributes in brX GraphQL Service with commercetools.
- Added "re-order" functionalities to brX GraphQL Service with commercetools.
- Removed unused utility functions in
sap-utils.ts.
Improvements
- Supported sorting fields when querying customer orders in brX GraphQL Service with commercetools.
- Returned facets when querying products by category and keywords in brX GraphQL Service with brSM.
- Supported product variant dimensions data in brX GraphQL Service with SAP.
- Implemented product variant inclusion in the product item for brX GraphQL Service with SAP.
- Enabled filtering product queries by facets in brX GraphQL Service with brSM.
- Removed "username" from
changeCurrentCustomerPasswordmutation input. - Supported sorting fields when querying customer orders in brX GraphQL Service with SAP.
- Added GraphQL API documentation comments to the brX GraphQL Service schema.
Sub-tasks
- Provided a React component for changing password to be added to front-end applications.
- Added GraphQL mutation for adding a customer address.
14.2.0
Bug Fixes
- "Algorithm not allowed: undefined" error appeared in the console after starting brX GraphQL Service.
placeOrderAPI failed with "Cannot read property 'user' of undefined" error.- commercetools GraphQL
ItemDataSource#findOne()did not search by ID if not found by code. - commercetools
ItemDataSourcedid not provide code value in itemIds. - commercetools master variant was not included in
item.variants.
New Features
- Added "cart" functionalities to brX GraphQL Service with commercetools.
- Added "customer sign-in and sign-out" functionalities to brX GraphQL Service with commercetools.
- Added "product search by category" functionalities to brX GraphQL Service with commercetools.
- Added "product search by category", "Just For You", and "More Like This" functionalities to brX GraphQL Service with brSM.
- Added "address management" functionalities to brX GraphQL Service with commercetools.
- Added "customer profile" functionalities to brX GraphQL Service with commercetools.
- Added "registration" functionalities to brX GraphQL Service with commercetools.
- Added "autosuggest" functionalities to brX GraphQL Service with brSM.
- Added "customer account" functionalities to brX GraphQL Service with SAP.
- Added "address management" functionalities to brX GraphQL Service with SAP.
- Added "product" functionalities to brX GraphQL Service with SAP.
- Added "order" functionalities to brX GraphQL Service with commercetools.
- Added "customer sign-in and sign-out" functionalities to brX GraphQL Service with SAP.
- Added category resolver (retrieve all categories for menu) and category detail to brX GraphQL Service with SAP.
Tasks
- Dockerized the brX GraphQL Service.
- Added source distribution Maven profile in connector-service for deployment.
- Provided product variant dimensions data to brX GraphQL Service with commercetools.
Improvements
- Added category resolver (retrieve all categories for menu) and category detail to brX GraphQL Service with commercetools.
- Added category resolver (retrieve all categories for menu) and category detail to brX GraphQL Service with brSM.
- Created a mobile and single-page application client API for commercetools.
- Assigned anonymous cart to customer during sign-in operation in commercetools.
- Improved brSM items/category GraphQL with
queryHintinput variable. - Improved Item/ItemVariant resolving through brX GraphQL Service resolver chains.
- Increased log verbosity when commercetools API calls fail.
- Removed "revision" from cart mutation inputs.
- Improved variant handling logic in brX GraphQL Service with commercetools.