brX GraphQL Service Release Notes
Project status
Solution version | Bloomreach Experience Manager version |
14.x | 14.x |
brX GraphQL Service and Commerce React Components Release Notes (14.x)
14.7.6
GraphQL Service
🚀 Improvements
- Show variant in Wishlist for commercetools
14.7.5
GraphQL Service
🐛 Bugfixes
- streetAddress is being returned as null when the whole address is sent in the input for SetOrderDetails with commercetools
14.7.4
Commerce React Components
🎉 New Features
- Support new "brEnvType" queryHint type to specify which Discovery realm to use when querying with Discovery
GraphQL Service
🎉 New Features
- Added registered AIR key value for the SAP Commerce Cloud connector on every request as a certified solution identifier
🚀 Improvements
- Include categories as part of the product(s) result with commercetools
14.7.3
GraphQL Service
🎉 New Features
- New "brEnvtype" queryHint type to specify which Discovery realm to use when querying with Discovery
🚀 Improvements
- Additional fields for discounts with commercetools
🐛 Bugfixes
- Sorting by ID and creation date is not working on the Order data source with BigCommerce
- Variant item ID returns "var693-undefined" in the checkout response with BigCommerce
- Users cannot access/update the orders placed by another user with commercetools
- The tax amount is not rounded off in the placeOrder response with commercetools
14.7.2
Commerce React Components
🚀 Improvements
- Expose Apollo Query refetch function through Commerce React Components
GraphQL Service
🎉 New Features
- Get shipping costs when fetching shipping methods with commercetools
🚀 Improvements
- Support for order number in order CRU operations with commercetools
- Selecting price/discounts per country instead of per channel
14.7.1
Commerce React Components
🚀 Improvements
- Introduce customQueryOptionsProcessor input property for all components enabling GraphQL query customisation
GraphQL Service
🎉 New Features
- Cart is kept when changing locale with commercetools
🚀 Improvements
- Empty companyName can be passed when updating a user's address with commercetools
- Selecting price/discounts per country instead of per channel
14.7.0
Commerce React Components
🚀 Improvements
- Add "category.key" in GraphQL queries to improve user friendliness of URLs
🐛 Bugfixes
- Include Discovery missing functionalities in queries and generate typescript definitions
- Apollo client caching issues on ProductGrid and ProductDetail "item" ObjectTypes due to sharing the cache entry for the same "item" (identified by itemID)
GraphQL Service
🎉 New Features
- BigCommerce connector: Access management support sign-in/sign-out
- BigCommerce connector: Customer DataSource implementation
- Queries:
- Get authenticated customer's details
- Mutations:
- Register a new customer
- Change authenticated customer's password
- Update authenticated customer's details
- Recover password
- Reset password
- Queries:
- BigCommerce connector: Address DataSource implementation
- Queries:
- Get authenticated customer's addresses by group
- Get authenticated customer's address by ID
- Mutations:
- Create a new address for authenticated customer
- Update an address for authenticated customer
- Remove an address for authenticated customer
- Set default shipping address for authenticated customer
- Set default billing address for authenticated customer
- Queries:
- BigCommerce connector: Items DataSource implementation
- Queries:
- Find products by ID
- Find products by category
- Find items by slug
- Queries:
- BigCommerce connector: Cart DataSource implementation
- Queries:
- Get cart for authenticated customer
- Mutations:
- Add items to authenticated customer's cart
- Update entries in the authenticated customer's cart
- Remove items from authenticated customer's cart
- Update order details (i.e. checkout) for authenticated customer's cart
- Set order (i.e. checkout) for authenticated customer's cart
- Queries:
- BigCommerce connector: Order DataSource implementation
- Queries:
- Find orders for authenticated customer
- Find an order by ID for authenticated customer
- Get 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: Wishlist DataSource implementation
- Queries:
- Find wishlist by ID
- Find all wishlist 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: Inventory DataSource implementation
- Queries:
- Find item availability by ID
- Queries:
🚀 Improvements
-
Pass extra attributes that are stored in store Users in signing operations which can be retrieved for the recovery REST API
-
Retrieve product information for multiple products in one request
-
Associate Orders with custom attributes on object creation with commercetools
14.6.10
GraphQL Service
🚀 Improvements
- Drop cart when removing a session with commercetools
14.6.9
GraphQL Service
🚀 Improvements
- Extra parameters in find items operations for commercetools
14.6.8
GraphQL Service
🐛 Bugfixes
- Cart (or OrderDraft) is missing both customer email and address phone data
14.6.7
GraphQL Service
🚀 Improvements
- Add telephone number including country code to the customer address (billing and shipping) with commercetools
14.6.6
GraphQL Service
🚀 Improvements
- Allow setting the "distributionChannel" as part of the "cartHint"
14.6.5
Commerce React Components
🎉 New Features
- Added "storeKey" parameter for cart related CRCs
🚀 Improvements
- Channel product availability available in product related queries and type definitions
GraphQL Service
🎉 New Features
- Added "storeKey" parameter for cart operations in commercetools
🚀 Improvements
- Allow product sorting by custom fields with commercetools
🐛 Bugfixes
- "storeKey" parameter is not applied while searching for products by category
14.6.4
GraphQL Service
🚀 Improvements
- Allow "storeKey" for retrieving a single product by ID or slug
14.6.3
Commerce React Components
🚀 Improvements
- Introduce "storeKey" in CommonQueryHintInputProps interface to query products against a specific store
- Read slug field based on the new "find by slug" operations
- Set Accept-Language request header to empty string by default
GraphQL Service
🎉 New Features
- Pass the commercetools store when creating an order to be able to differentiate orders from different stores
- Query a product by slug
- Query a category by slug
- New findChannels, findChannelByKey and findChannelById GraphQL queries
- Override default request headers including Accept-Language in CommerceConnectorProvider
- Update multiple custom attributes on Order resource
🚀 Improvements
- Support stock information in the product response
- Provide update custom attributes of an order while updating order
- Improve findOrders query operation to accept filtering by custom attribute name-value pair
14.6.2
Commerce React Components
🚀 Improvements
- Add slug field in GraphQL schema generated code for items and categories
- Add storeKey option in queryHintInput in CRC graphql schema generated code
GraphQL Service
🎉 New Features
- Add "Short URL" (slug) attribute for products and categories when querying commercetools via GraphQL Service
- Query products using commercetools store
🚀 Improvements
- Display localized product title and description if available from commercetools
- Expose channel id info as part of the product price
🐛 Bugfixes
- Resolve vulnerabilities while installing commerce-graphql-service
14.6.1
Commerce React Components
🚀 Improvements
- Include ImageSet.variants in GraphQL queries to support multiple variant images
GraphQL Service
🚀 Improvements
- Improve URLs to be more user friendly and use category key option as well as category ID
🎉 New Features
- Check the stock levels in a PDP as determined by a shopper's location with commercetools
- Allow shoppers to see the shipping costs for their cart according to their region with commercetools
- Create, update, and delete a wishlist with commercetools
- Password recovery with commercetools
- Filter product search results with commercetools
14.6.0
Commerce React Components
🚀 Improvements
- Support all brSM query hints in Product/Category components
- Support coupon codes in Cart
- Page-based pagination in Product/Category components
🎉 New Features
- ProductGridWidgets which handles the GraphQL query findItemsByWidget
GraphQL Service
🚀 Improvements
- Default locale option
- Expose the X-BR-Response-Time from brSM in the GraphQL response
- Include the custom attributes in queryHint in brSM search field names
- Override CUSTOM_VARIANT_LIST_PRICE_FIELD and CUSTOM_VARIANT_PURCHASE_PRICE_FIELD through GraphQL queryHint
- Override smAccountID (and auth_key) through GraphQL queryHint
🐛 Bugfixes
- Cart is not resetting after logging out of the Demo React App for Shopify
- Customers cannot add items to cart after checkout with Shopify
- Variant price data is incorrectly mapped between brSM and Shopify
- findItemsByWidget does not return correct result
- Non-existing custom attributes should not return "undefined" string
- brSM search API response for products-with-variants is incorrect
14.5.1
Bug
- Variant price data is incorrectly mapped between brSM and Shopify
14.5.0
Stories
- As a front-end developer I want to be able to check the inventory of a product in order to inform if it can be added to the cart with Shopify
- As a front-end developer I want to be able to allow shoppers to customise a product, add it to cart, and see their customisation when viewing the cart with Shopify
- As a front-end developer I'd like to allow shoppers to update their cart with coupon codes when checking out with commercetools
New Features:
- Add findItemsByWidget query to support Pathways and Recommendations v2
Improvements
- Add "active" and "state" fields to Cart model to inform cart changes to the front-end
- Support overwriting or appending query parameters with Search and Merchandising's auto-suggest
- Add variant ID to the cart entry's itemID with Shopify
- Allow custom attributes to be added to cart in CRC and Demo React App
- Fix the URL pattern for cart item variant in Commerce React Components
- Change mainItem in ItemVariant to contain only itemId and displayName
- Use "handle" as the main product's code with Shopify
Bugs
- Commerce Open UI Pickers fail to connect if GraphQL URL configuration is changed
Tasks
- Improve the Commerce Open UI Picker to read the configured URL from its own configuration in JCR
14.4.0
Stories
- As a front-end developer I want to be able to give users a way to sort the results from a search query on a Product Grid with commercetools
- As a front-end developer I want to be able to give users a way to sort the results from a search query on a Product Grid with SAP
- As a front-end developer I want to be able to give users a way to sort the results from a search query on a Product Grid with Shopify
- As a front-end developer I want to be able to retrieve custom fields (attributes) from SAP
New Features
- Migrate Autosuggest data source from V1 to V2
Improvements
- Search for products using product key with commercetools
- As a front-end developer I want to be able to query against brSM only without signing in (even if anonymously)
- GraphQL Federation support
14.3.3
Stories
- As a front-end developer I want to be able to retrieve custom fields (attributes) from Shopify when querying through GraphQL
- As a front-end developer I'd like to expose the customFields from commercetools in the GraphQL response
- As a front-end developer I'd like to pass search redirects set in brSM by merchandisers through GraphQL for front-end handling
New Features
- Cart functionalities on Open-Source Commerce Backend Connector: Shopizer
- Customer sign-in and sign-out functionalities on Open-Source Commerce Backend Connector: Shopizer
- Product search functionalities on Open-Source Commerce Backend Connector: Shopizer
- Address management functionalities for updating addresses on Open-Source Commerce Backend Connector: Shopizer
- Category resolver (get all categories for menu) and category detail on Open-Source Commerce Backend Connector: Shopizer
- Customer profile functionalities to Open-Source Commerce Backend Connector: Shopizer
- Registration functionalities on Open-Source Commerce Backend Connector: Shopizer
- Checkout functionalities on Open-Source Commerce Backend Connector: Shopizer
- Forward "autocorrect" information in brSM API response to front-end code
Improvements
- Direct checkout should not merge the anonymous cart with the current user cart: sign-in operation should support extra cart related options
- Display product version (brx-graphql-service) on startup
- Improve the commercetools customer data model with extra fields in the GraphQL response
- Merge the brSM global custom attribute field names in .env into the fl param by default
Bugs
- Auto-suggest throws "Invalid URL" message
Tasks
- Provide product variant dimensions data to Open-Source Commerce Backend Connector: Shopizer
14.3.2
Improvement
- Provide GraphQL Schema HTML Documents
14.3.1
Bug
- Master variant is not being displayed in the product detail page with commercetools
- brSM connector fl list contains duplicate field names in the brX GraphQL Service
New Feature
- Add generic `params` input in QueryHint (to include segment, ll, etc.) to brSM with brX GraphQL Service
- Add "forgot password" functionalities to brX GraphQL Service with Shopify
Story
- As a front-end developer I want to be able to retrieve custom fields (attributes) from the brSM when querying through the brX GraphQL Service
- As a front-end developer I want to be able to retrieve custom fields (attributes) from commercetools when querying through the brX GraphQL Service
Improvement
- Add sorting support for findByKeyword and findByCategory against brSM in the brX GraphQL Service
- Anonymous cart is not merging when signing in SAP
- Include "price_range" and "sale_price_range" as standard fields
- Allow the fields in the BRSM_CUSTOM_ATTR_FIELD to be returned as facets in the response from the brX GraphQL Service
- Support custom attribute fields in the variant level from brSM with brX GraphQL Service
- Add sorting support for findByKeyword and findByCategory in Product Grid React High Order Component
- Allow to override `customAttrs` fields info through QueryHint when accessing brSM
14.3.0
Bug
- Anonymous cart is not merging after signing in with valid credentials in SAP
- Authorization token from Salesforce CloudCraze is not working if the brX GraphQL Service is inactive from last 2-3 hours
New Feature
- Federated Login/Logout in brX GraphQL Service
- Add "cart" functionalities to brX GraphQL Service with Shopify
- Add "customer sign-in and sign-out" functionalities to brX GraphQL Service with Shopify
- Add "product search" functionalities to brX GraphQL Service with Shopify
- Add "address management" functionalities to brX GraphQL Service with Shopify
- Add "customer profile" functionalities to brX GraphQL Service with Shopify
- Add "registration" functionalities to brX GraphQL Service with Shopify
- Add "order" functionalities to brX GraphQL Service with Shopify
- Add Pixel scriptlet in React Demo and pass _br_uid_2 cookie value in HOC when searching against brSM
Story
- As a developer I would like to set up the brX GraphQL Service with brSM without requiring a connection with a commerce backend for access management
- As a developer I want to be able to query brSM in multiple languages defined via domain_key in each API call
Task
- Provide product variant dimensions data to brX GraphQL Service with Shopify
- Update docker-componse.yml file with all environment configurations
- Implement React HOC and Demo for Federated Cart Checkout Integration with Shopify
- Provide how-to customize the Shopify "Thank you" page to redirect back to SPA with examples
- Include "auth_key" parameter in brSM Search, Category, and Widget API calls
- Fix License Info and headers in source in brX GraphQL Service
Improvement
- Add category resolver (get all categories for menu) and category detail to brX GraphQL Service with Shopify
- Standardize the error in apollo level for different direct error messages from REST in brX GraphQL Service
- Add support for _br_uid_2 in brX GraphQL Service with brSM
- Allow enabling and disabling of token refreshing via a configurable environment setting
- Use specific customerID when invoking the backend SAP OCC API
- Add StoreUser.username to contain both backend specific identifier and username (email)
- Change the scope of DataSources to transient
14.2.1
Bug
- brX GraphQL Service doesn't seem to work with the latest stable version of NodeJS (12.18.X)
- ItemId converter doesn't work as expected in the brX GraphQL Service
- "getCart" query for SAP should return the current cart when an "id" is not provided
- "getCart" query for commercetools should return an empty cart when one is not found
New Feature
- Add "cart" functionalities to brX GraphQL Service with SAP
- Add "checkout" functionalities to brX GraphQL Service with SAP
- Add "view order list and single order" functionalities to brX GraphQL Service with SAP
- Add "registration" functionalities to brX GraphQL Service with SAP
- Add "product search by category" functionalities to brX GraphQL Service with SAP
- Add "re-order" functionalities to brX GraphQL Service with SAP
Task
- Support Product Attributes in brX GraphQL Service with commercetools
- Add "re-order" functionalities to brX GraphQL Service with commercetools
- Remove unused utility functions in sap-utils.ts
Improvement
- Support sorting fields when querying customer's orders in brX GraphQL Service with commercetools
- Return facets when querying products by category and keywords in brX GraphQL Service with brSM
- Support product variant dimensions data in brX GraphQL Service with SAP
- Implement product variant inclusion in the product item for brX GraphQL Service with SAP
- Filter product queries by facets in brX GraphQL Service with brSM
- Remove "username" from "changeCurrentCustomerPassword" mutation input
- Support sorting fields when querying customer's orders in brX GraphQL Service with SAP
- Add GraphQL API documentation comments to the brX GraphQL Service schema
Sub-task
- As a front-end developer I want to be able to add to my front-end application a React component for changing password
- Add GraphQL mutation for adding a customer address
14.2.0
Bug
- Getting "Algorithm not allowed: undefined" error in the console after starting brX GraphQL Service
- placeOrder API is failing with "Cannot read property 'user' of undefined" error
- commercetools GraphQL ItemDataSource#findOne() should search by ID if not found by code
- commercetools ItemDataSource doesn't provide code value in itemIds
- commercetools master variant is not included in item.variants
New Feature
- Add "cart" functionalities to brX GraphQL Service with commercetools
- Add "customer sign-in and sign-out" functionalities to brX GraphQL Service with commercetools
- Add "product search by category" functionalities to brX GraphQL Service with commercetools
- Add "product search by category", "Just For You", and "More Like This" functionalities to brX GraphQL Service with brSM
- Add "address management" functionalities to brX GraphQL Service with commercetools
- Add "customer profile" functionalities to brX GraphQL Service with commercetools
- Add "registration" functionalities to brX GraphQL Service with commercetools
- Add "autosuggest" functionalities to brX GraphQL Service with brSM
- Add "customer account" functionalities to brX GraphQL Service with SAP
- Add "address management" functionalities to brX GraphQL Service with SAP
- Add "product" functionalities to brX GraphQL Service with SAP
- Add "order" functionalities to brX GraphQL Service with commercetools
- Add "customer sign-in and sign-out" functionalities to brX GraphQL Service with SAP
- Add category resolver (get all categories for menu) and category detail to brX GraphQL Service with SAP
Task
- Dockerize the brX GraphQL Service
- Add source distribution maven profile in connector-service for deployment
- Provide product variant dimensions data to brX GraphQL Service with commercetools
Improvement
- Add category resolver (get all categories for menu) and category detail to brX GraphQL Service with commercetools
- Add category resolver (get all categories for menu) and category detail to brX GraphQL Service with brSM
- Create a mobile and single-page application client API for commercetools
- Assign anonymous cart to customer during sign-in operation in commercetools
- Improve brSM items/category GraphQL with `queryHint` input variable
- Improve Item/ItemVariant resolving through brX GraphQL Service resolver chains
- Leave extra verbose in logs when commercetools API calls fail
- Remove "revision" from cart mutation inputs
- Improve the logic of variants handling to brX GraphQL Service with commercetools