Releases: SalesforceCommerceCloud/pwa-kit
v2.11.0
What's Changed
- Adds Node 24 support. Dropped Node 16
- Updates the ECOM instance a newly generated app points to
Full Changelog: v2.10.0...v2.11.0
v3.17.1 (@salesforce/retail-react-app@9.1.1 and @salesforce/commerce-sdk-react@5.1.1)
This follow up to PWA Kit 3.17.0 adds support for environment base paths.
The environment base path is set on bundle upload and lets you map PWA bundles deployed on MRT environments with a url path prefix. This enables projects to map their PWA applications under sub paths to their domain.
Base paths are set by adding a envBasePath property to the ssrParameters in your default.js config file.
By setting a base path, it is added to express routes such as /mobify or /callback.
If you want to include the base path in your page urls as well, set app.url.showBasePath to true.
Package Changes
@salesforce/retail-react-app@9.1.1
- Update storefront preview to support base paths #3614
@salesforce/commerce-sdk-react@5.1.1
- Update storefront preview to support base paths #3614
- Remove base path from /__pwa-kit route requests when showBasePath is false #3758
@salesforce/pwa-kit-runtime@3.17.1
- Add base path prefix to support multiple MRT environments under 1 domain #3614
- Remove base path from /__pwa-kit route requests when showBasePath is false #3758-
@salesforce/pwa-kit-create-app@3.17.1
- Add base path prefix to support multiple MRT environments under 1 domain #3614
@salesforce/pwa-kit-dev@3.17.1
- Add base path prefix to support multiple MRT environments under 1 domain #3614
@salesforce/pwa-kit-react-sdk@3.17.1
- Add base path prefix to support multiple MRT environments under 1 domain #3614
v3.17.0 (@salesforce/retail-react-app@9.1.0 and @salesforce/commerce-sdk-react@5.1.0)
Highlights
💳 Salesforce Payments - Stripe, Adyen, and PayPal payment processing via SF Payments is now available
📝 Page Designer - OOTB support for page desginer in PWA
🚀 : Marketing - Ability to subscriptions to marketing communications have been added to the footer
🛠️ Node 24 support - Node 24 added, Node 16 removed
⬆️ commerce-sdk-isomorphic v5.1.0 Upgrade & Shopper Baskets V2 - To support SF Payments, Retail React App components have been updated to use Shopper Baskets V2
For more details, see PWA Kit 3.17 Changes in the Composable Storefront Developer Guide.
Package Changes
@salesforce/commerce-sdk-react@5.1.0
- Add Page Designer Support #3727
- Bump commerce-sdk-isomorphic to 5.1.0 #3725
Update ShopperBasketsV2 hooks documentation and query keys #3728 - Add Node 24 support. Drop Node 16 support. #3652
- Add Shopper Consents API support #3674
@salesforce/retail-react-app@9.1.0
- [Bugfix] Fix edirect payment methods status value to pascal #3734
- [Bugfix] Fix in checkout and cart page: LoadingSpinner to have full screen overlay #3730
- [Bugfix] Fix adding to cart from a master product in the wishlist #3732
- Add Page Designer Support #3727
- [Feature] Add Salesforce Payments support in checkout #3725
- One Click Checkout removed from Developer Preview. When shoppers use passwordless OTP login with one-click checkout, the system saves their shipping and payment information for faster checkout in the future. Security safeguards required: (1) Captcha - Protects the passwordless login from bots. (2) OTP for Email Changes - Verifies identity before an email update, prevents accidental account lockouts from typos, and prevents unauthorized access to saved payment methods.
- Update jest-fetch-mock and Jest 29 dependencies #3663
- Add Node 24 support. Drop Node 16 support #3652
- [Bugfix] Fix error toast for no applicable shipping methods in one-click checkout #3673
- [Feature] Subscribe to marketing communications. Email capture component updated in footer section to use Shopper Consents API. #3674
- [Bugfix] Fix for custom billing address as returning shoppers in 1CC #3693
- [Feature] Add translations for text in 1CC #3703
@salesforce/pwa-kit-runtime@3.17.0
- Add Node 24 support. Migrate deprecated Node.js
url.parse()andurl.format()to the WHATWGURL#3652
@salesforce/pwa-kit-create-app@3.17.0
- Add Salesforce Payments configuration to generated projects [#3725] (#3725)
- Clear verdaccio npm cache during project generation #3652
- Add Node 24 support, remove legacy
urlmodule import. Drop Node 16 support #3652 - One Click Checkout removed from Developer Preview. When shoppers use passwordless OTP login with one-click checkout, the system saves their shipping and payment information for faster checkout in the future. Security safeguards required: (1) Captcha - Protects the passwordless login from bots. (2) OTP for Email Changes - Verifies identity before an email update, prevents accidental account lockouts from typos, and prevents unauthorized access to saved payment methods.
- [Bugfix] Add missing dependency overrides to extensible app package.json template to address console warnings on build #3745
@salesforce/pwa-kit-dev@3.17.0
- Add Page Designer Design CSS Support #3727
- Update jest, archiver and remove rimraf dependencies #3663
- Add Node 24 support, remove legacy
urlmodule import. Drop Node 16 support #3652
@salesforce/pwa-kit-react-sdk@3.17.0
v3.16.0 (@salesforce/retail-react-app@9.0.0 and @salesforce/commerce-sdk-react@5.0.0)
Highlights
- One Click Checkout (Developer Preview) — Streamlined checkout experience with a single click for returning shoppers
- Commerce SDK Isomorphic v5.0.0 — Introduces Payment Instrument SCAPI integration
- Passwordless Login Enhancements — Email mode is now the default for passwordless login and password reset, with configurable mode across login page, auth modal, and checkout
- PWA Integration with OMS — Order Details, Order History, shipping display, and BOPIS multishipment support
- AWS SDK v2 to v3 Migration — Modernized cloud infrastructure dependency in pwa-kit-runtime
Enabling One Click Checkout (Developer Preview)
One Click Checkout is shipped as a Developer Preview feature and is disabled by default. To enable it, follow these steps:
Prerequisites
One Click Checkout requires a SLAS private client. If your project is not already configured to use a SLAS private client, follow the setup guide first: Use a SLAS Private Client.
1. Enable the feature flag
In your project's config/default.js, set the oneClickCheckout.enabled flag to true:
// config/default.js
app: {
// ...existing config
oneClickCheckout: {
enabled: true
}
}2. Configure the SLAS private client proxy
In your project's ssr.js, add the onSLASPrivateProxyRes callback to the runtime options to handle passwordless login responses correctly:
onSLASPrivateProxyRes: (responseBuffer, proxyRes, req, res) => {
// Undo the 404 → 200 masking for /oauth2/passwordless/login
if (req.path?.match(/\/oauth2\/passwordless\/login/) && proxyRes.statusCode === 404) {
res.statusCode = 404
res.statusMessage = 'Not Found'
}
return responseBuffer
},Developer Preview Disclaimer
This feature is available as a Developer Preview. Developer Preview features aren't generally available unless or until Salesforce announces general availability in documentation, press releases, or public statements. All commands, parameters, and other features are subject to change or deprecation at any time, with or without notice. Don't implement functionality developed with these commands or tools in production environments.
Package Changes
@salesforce/commerce-sdk-react@5.0.0
- Upgrade to commerce-sdk-isomorphic v5.0.0 and introduce Payment Instrument SCAPI integration #3552
- [Bugfix] Ensure code_verifier can be optional in resetPassword call #3567
- [Improvement] Strengthening typescript types on custom endpoint options and fetchOptions types #3589
- [Feature] Update
authorizePasswordless,getPasswordResetToken, andresetPasswordto support use ofemailmode #3525
@salesforce/retail-react-app@9.0.0
- [Feature] One Click Checkout (in Developer Preview) #3552
- [Feature] Add
fuzzyPathMatchingto reduce computational overhead of route generation at time of application load #3530 - [Feature] PWA Integration with OMS
- [Feature] Update passwordless login and password reset to use email mode by default. The mode can now be configured across the login page, auth modal, and checkout page #3525
- Update "Continue Securely" button text to "Continue" for passwordless login #3556
- Util function for passwordless callback URI #3630
- Allow shopper to manually input OTP during passwordless login #3554
- [Bugfix] Fix Passwordless Login landingPath, Reset Password landingPath, and Social Login redirectUri value in config not being used #3560
- [BREAKING] Remove unused absoluteUrl util from retail react app #3633
@salesforce/pwa-kit-runtime@3.16.0
- Migrate AWS SDK from v2 to v3 #3566
- Updated the SLAS private client proxy to enable customizing the proxy response body #3662
@salesforce/pwa-kit-create-app@3.16.0
- Add new One-Click Checkout configuration #3609
- Support email mode by default for passwordless login and password reset in a generated app #3525
- Util function for passwordless callback URI #3630
- Add
tokenLengthto login configuration #3554
@salesforce/pwa-kit-dev@3.16.0
@salesforce/pwa-kit-react-sdk@3.16.0
v3.15.0 (@salesforce/retail-react-app@8.3.0 and @salesforce/commerce-sdk-react@4.3.0)
v3.14.0 (@salesforce/retail-react-app@8.2.0 and @salesforce/commerce-sdk-react@4.2.0)
Highlights
For release highlights, see PWA Kit 3.14 Changes in the Composable Storefront Developer Guide.
@salesforce/commerce-sdk-react@4.2.0
- Upgrade to commerce-sdk-isomorphic v4.0.1 #3449
- Prevent headers from being overriden in
generateCustomEndpointOptions#3405
@salesforce/pwa-kit-create-app@3.14.0
- Prompt text for Site ID should match actual validation: Site ID may contain uppercase or lowercase letters, numbers, hyphens, or underscores. - Updated Site ID validator regex to allow both uppercase and lowercase letters for improved compatibility, clarity. [#3410] (#3410)
- Added Hybrid Proxy support configuration for local and ODS hybrid development [#3409] (#3409)
@salesforce/pwa-kit-dev@3.14.0
@salesforce/pwa-kit-react-sdk@3.14.0
@salesforce/pwa-kit-runtime@3.14.0
- Replace aws-serverless-express with @h4ad/serverless-adapter #3325
- Added Hybrid Proxy support for local and ODS hybrid development [#3409] (#3409)
- Add extensibility hooks for SLAS private client proxy with
onSLASPrivateProxyReqandonSLASPrivateProxyRescallbacks #3411
@salesforce/retail-react-app@8.2.0
- Add support for Rule Based Promotions for Choice of Bonus Products. We are currently supporting only one product level rule based promotion per product #3418
- Added Einstein suggestions support for popular and recent searches in search functionality. Users can now see personalized search suggestions based on Einstein AI recommendations. #3422
- [Bugfix] Fix footer heading semantic consistency and alignment. Fix accessibility compliance by adding proper h1 headings to checkout pages to resolve the page-has-heading-one accessibility rule violation. #3398
- [Bugfix] Use
serverSafeEncodeutil for address mutations. #3380 - Added Hybrid Proxy support for local and ODS hybrid development [#3409] (#3409)
- My Account Order Details page correctly shows orders with BOPIS and with Multiple shipments #3414
- Fix bug where pick up items were displaying delivery stock levels instead of in store stock levels #3401
- When registering a guest user on the confirmation page only save the delivery addresses to the new account
#3412 - Improve mobile layout for StoreDisplay component 3420
v3.13.0 (@salesforce/retail-react-app@8.1.0, @salesforce/commerce-sdk-react@4.1.0 and @salesforce/pwa-kit-mcp@0.3.0)
Highlights
For release highlights, see PWA Kit 3.13 Changes in the Composable Storefront Developer Guide.
@salesforce/commerce-sdk-react@4.1.0
@salesforce/pwa-kit-create-app@3.13.0
- Enhanced the shopping assistant, Guided Shopping Agent for B2C Storefronts, that integrates Salesforce Embedded Messaging Service with PWA Kit applications. Added comprehensive context support, localization capabilities, and improved user experience features. #3259
@salesforce/pwa-kit-dev@3.13.0
- Excluded opentelemetry packages from client side bundling #3133
@salesforce/pwa-kit-mcp@0.3.0
- Added telemetry for MCP tools. #3327
@salesforce/pwa-kit-react-sdk@3.13.0
- Opentelemetry integration for SSR tracing #3133
@salesforce/pwa-kit-runtime@3.13.0
@salesforce/retail-react-app@8.1.0
- Enhanced search experience - prices, images, suggestions new layout #3271
- Updated the UI for StoreDisplay component which displays pickup in-store information on different pages. #3248
- Added warning modal for guest users when toggling between multiple shipments and shipping to one address. #3280 #3302
- Fixed the invalid address error that could occur when consolidating a pickup shipment into the default shipment
meon checkout. #3333 - Enhanced the shopping assistant, Guided Shopping Agent for B2C Storefronts, that integrates Salesforce Embedded Messaging Service with PWA Kit applications. Added comprehensive context support, localization capabilities, and improved user experience features. #3259
- Removed domainUrl, locale, basetId properties as part of the ShopperAgent during initialization. #3259
- Only show option to deliver to multiple addresses if there are multiple items in the basket. #3336
- Added support for Choice of Bonus Products feature. Users can now select from available bonus products when they qualify for the associated promotion. The bonus product selection flow can be entered from either the "Item Added to Cart" modal (when adding the qualifying product to the cart) or from the cart page. [#3292] (#3292)
v3.12.0 (retail-react-app@8.0.0 and commerce-sdk-react@4.0.0)
Highlights
For release highlights, see PWA Kit 3.12 Changes in the Composable Storefront Developer Guide.
BREAKING: Multiple shipments in checkout
This enhancement to the PWA Kit retail react app checkout flow enables shoppers to assign unique shipping addresses and/or fulfillment methods (e.g., ship-to-home, pick-up in-store) to individual items or item groups within a single order.
This change is [Breaking] due to some changes to function signatures. For more details on this change, see #3056
BREAKING: Commerce SDK React has been updated to v4.0
This version bump is due to the upgrade of the commerce-sdk-isomorphic dependency to v4. For details on what has changed with commerce-sdk-isomorphic v4, see https://github.com/SalesforceCommerceCloud/commerce-sdk-isomorphic/releases/tag/v4.0.0
In addition to the version bump, the following changes were made to commerce-sdk-react:
- ShopperSeo API has been renamed to ShopperSEO.
- Query parameters and types have changed to be compatible with commerce-sdk-isomorphic v4
- Constants relating to /mobify paths have been removed from commerce-sdk-react/constant.ts
- Deprecated return properties in useDNT have been removed
For more details on what has changed in commerce-sdk-react, see the following PR:
#2879
@salesforce/commerce-sdk-react@4.0.0
- [Breaking] Upgrade to commerce-sdk-isomorphic v4.0.0 2879
- [Breaking] Remove deprecated properties from useDNT in commerce-sdk-react #3177
- Add support for environment level base paths on /mobify routes #2892
- Update USID expiry to match SLAS refresh token expiry #2854
- [Bugfix] Skip deleting dwsid on shopper login if hybrid auth is enabled for current site. #3151
- Update Auth class and CommerceApiProvider to support custom headers in SCAPI requests #3183
@salesforce/pwa-kit-create-app@3.12.0
- This feature introduces an AI-powered shopping assistant that integrates Salesforce Embedded Messaging Service with PWA Kit applications. The shopper agent provides real-time chat support, search assistance, and personalized shopping guidance directly within the e-commerce experience. #2658
- Add BOPIS and MULTISHIP configuration defaults #3142
- Add support for environment level base paths on /mobify routes #2892
- Update _app-config generator template to include
hybridAuthEnabledprop #3151 - Update templates files to include sfdc_user_agent header for debugging and metrics prupose #3183
@salesforce/pwa-kit-dev@3.12.0
- Add support for environment level base paths on /mobify routes #2892
@salesforce/pwa-kit-mcp@0.2.0
- Normalize tool names; Add introduction section for PWA Kit MCP and resize the images on README. #3239
@salesforce/pwa-kit-react-sdk@3.12.0
- Add support for environment level base paths on /mobify routes #2892
@salesforce/pwa-kit-runtime@3.12.0
- Add support for environment level base paths on /mobify routes #2892
- [This feature is a pilot.] This feature introduces an AI-powered shopping assistant that integrates Salesforce Embedded Messaging Service with PWA Kit applications. The shopper agent provides real-time chat support, search assistance, and personalized shopping guidance directly within the e-commerce experience. #2658
- Disallow the SLAS private client proxy from handling trusted system on behalf of requests #3042
- Mask user not found messages to prevent user enumeration from passwordless login #3113
@salesforce/retail-react-app@8.0.0
- Add support for environment level base paths on /mobify routes #2892
- Remove deprecated properties from useDNT in commerce-sdk-react #3177
- This feature introduces an AI-powered shopping assistant that integrates Salesforce Embedded Messaging Service with PWA Kit applications. The shopper agent provides real-time chat support, search assistance, and personalized shopping guidance directly within the e-commerce experience. #2658
- [Breaking] Added support for Multi-Ship #3056 #3199 #3203 [#3211] (#3211) #3217 [#3216] (#3216) [#3231] (#3231) [#3240] (#3240)
- The feature toggle for partial hydration is now found in the config file (
config.app.partialHydrationEnabled) #3058 - Mask user not found messages to prevent user enumeration from passwordless login #3113
- [Bugfix] Pin
@chakra-ui/reactversion to 2.7.0 to avoid breaking changes from 2.10.9 #2658 - Introduce optional prop
hybridAuthEnabledto control Hybrid Auth specific behaviors in commerce-sdk-react #3151 - Inject sfdc_user_agent request header into all SCAPI requests for debugging and metrics prupose #3183
- Fix config parsing to gracefully handle missing properties #3230
- [Bugfix] Fix unit test failures in generated projects 3204
v2.10.0
v3.11.0 (retail-react-app@7.0.0 and commerce-sdk-react@3.4.0)
@salesforce/commerce-sdk-react@3.4.0
- Optionally disable auth init in CommerceApiProvider #2629
- Now compatible with either React 17 and 18 #2506
- Gracefully handle missing SDK Clients in CommerceApiProvider #2539
- Refactor commerce-sdk-react to allow injecting ApiClients #2519
@salesforce/pwa-kit-create-app@3.11.0
- Fix exiting before
program.jsoncontent can be flushed #2699 - Add
program.json+ Support for Agent-Friendly CLI Input via stdio #2662 - Change the default ECOM instance in the generated application #2610
- Load active data scripts on demand only #2623
- Introduce the cursor rules to assist storefront project developers #2578 #2754
- Add
StoreLocatorProviderto theAppConfigtemplate to support BOPIS #2753
@salesforce/pwa-kit-react-sdk@3.11.0
- Fix the performance logging so that it'll capture all SSR queries, even those that result in errors #2486
@salesforce/pwa-kit-runtime@3.11.0
- Fix the logger so that it will now print out details of the given Error object #2486
- Only allow requests for
/shopper/auth/through the SLAS private client proxy. Also stop the proxy from swallowing SLAS errors #2608
@salesforce/retail-react-app@7.0.0
Breaking
- [Breaking] Support Standard Products 2697
There have been some method signatures changed as part of this PR. See the PR for more details.
New Features
- Added support for Buy Online Pick up In Store (BOPIS) #2646 #2716 #2726
- Introduce store locator #2542
- Provide conditional support for partial hydration (feature flag
PARTIAL_HYDRATION_ENABLED) #2696 #2846 - Show Automatic Bonus Products on Cart Page #2704 #2760 #2815
- Load active data scripts on demand only #2623
- Provide base image for convenient perf optimizations #2642
- Use
<picture>element for responsive images #2724 - Support saving billing phone number on user registration from order confirmation #2653
- Support saving default shipping address on user registration from order confirmation #2706
- Add Data Cloud partyIdentification events and improve error handling #2811
Bug Fixes
- [a11y] Ensure voiceover announces contents of the email confirmation modal #2540
- Fix Einstein event tracking for
addToCartevent #2558 - Fix passwordless race conditions in form submission #2758
Other Changes
- Updated 6 new languages #2495
- Improved the layout of product tiles in product scroll and product list #2446
- Update the configuration of datacloud #2467 #2540
- Password Reset and Passwordless Integration Test #2669
- Update latest translations for all languages #2616 #2726 #2629 #2823
- Minor updates to support BOPIS E2E tests #2716