|
1 | 1 | # Changelog |
2 | 2 |
|
| 3 | +## 1.4.0 |
| 4 | + |
| 5 | +### Minor Changes |
| 6 | + |
| 7 | +- [#2709](https://github.com/bigcommerce/catalyst/pull/2709) [`3820a75`](https://github.com/bigcommerce/catalyst/commit/3820a754def724ddd335e7b36d5ac2633b6e23e2) Thanks [@jordanarldt](https://github.com/jordanarldt)! - Adds product review submission functionality to the product detail page via a modal form with validation for rating, title, review text, name, and email fields. Integrates with BigCommerce's GraphQL API using Conform and Zod for form validation and real-time feedback. |
| 8 | + |
| 9 | +- [#2690](https://github.com/bigcommerce/catalyst/pull/2690) [`44f6bc0`](https://github.com/bigcommerce/catalyst/commit/44f6bc0e2549909fc2ff7dd456cc462fd0eafcde) Thanks [@jfugalde](https://github.com/jfugalde)! - Introduce displayName and displayKey fields to facets for improved labeling and filtering |
| 10 | + |
| 11 | + Facet filters now use the `displayName` field for more descriptive labels in the UI, replacing the deprecated `name` field. Product attribute facets now support the `filterKey` field for consistent parameter naming. The facet transformer has been updated to use `displayName` with a fallback to `filterName` when `displayName` is not available. |
| 12 | + |
| 13 | +- [#2753](https://github.com/bigcommerce/catalyst/pull/2753) [`7927d26`](https://github.com/bigcommerce/catalyst/commit/7927d2673b264e52253ee6aeaa287eafe5b0bc9d) Thanks [@matthewvolk](https://github.com/matthewvolk)! - Refactor the `ReviewForm` to accept `trigger` prop instead of `formButtonLabel` for flexible rendering. |
| 14 | + |
| 15 | +- [#2708](https://github.com/bigcommerce/catalyst/pull/2708) [`aa35bec`](https://github.com/bigcommerce/catalyst/commit/aa35bec2dd45c7a8280b2583e830deafe666277e) Thanks [@jordanarldt](https://github.com/jordanarldt)! - Adds OpenTelemetry instrumentation for Catalyst, enabling the collection of spans for Catalyst storefronts. |
| 16 | + |
| 17 | + ### Migration |
| 18 | + |
| 19 | + Change is new code only, so just copy over `/core/instrumentation.ts` and `core/lib/otel/tracers.ts`. |
| 20 | + |
| 21 | +- [#2711](https://github.com/bigcommerce/catalyst/pull/2711) [`fcd0836`](https://github.com/bigcommerce/catalyst/commit/fcd08369ed17e97619e98c2f71cf7c2fa8467906) Thanks [@jordanarldt](https://github.com/jordanarldt)! - Separate first and last name fields on user session object. |
| 22 | + |
| 23 | +- [#2733](https://github.com/bigcommerce/catalyst/pull/2733) [`9f70d2e`](https://github.com/bigcommerce/catalyst/commit/9f70d2e830c276a9742cf542cb03ee09a50a969e) Thanks [@Tharaae](https://github.com/Tharaae)! - Add the following backorder messages to PDP based on the store inventory settings and the product backorders data: |
| 24 | + - Backorder availability prompt |
| 25 | + - Quantity on backorder |
| 26 | + - Backorder message |
| 27 | + |
| 28 | + ## Migration |
| 29 | + |
| 30 | + For existing Catalyst stores, to get the newly added feature, simply rebase the existing code with the new release code. The files to be rebased for this change to be applied are: |
| 31 | + - core/messages/en.json |
| 32 | + - core/app/[locale]/(default)/product/[slug]/page-data.ts |
| 33 | + - core/app/[locale]/(default)/product/[slug]/page.tsx |
| 34 | + - core/app/[locale]/(default)/product/[slug]/\_components/product-viewed/fragment.ts |
| 35 | + - core/vibes/soul/sections/product-detail/index.tsx |
| 36 | + - core/vibes/soul/sections/product-detail/product-detail-form.tsx |
| 37 | + |
| 38 | +### Patch Changes |
| 39 | + |
| 40 | +- [#2757](https://github.com/bigcommerce/catalyst/pull/2757) [`3f0fbb9`](https://github.com/bigcommerce/catalyst/commit/3f0fbb97035dd457ab388815991b4e9664685b2b) Thanks [@matthewvolk](https://github.com/matthewvolk)! - Passes `formButtonLabel` from `Reviews` to `ReviewsEmptyState` (was missing) and sets a default value for `formButtonLabel` |
| 41 | + |
| 42 | +- [#2750](https://github.com/bigcommerce/catalyst/pull/2750) [`c22f0e8`](https://github.com/bigcommerce/catalyst/commit/c22f0e889e96d23a972fcd9a702ec137bdd3a800) Thanks [@jorgemoya](https://github.com/jorgemoya)! - Improved login error handling to display a custom error message when BigCommerce indicates a password reset is required, instead of showing a generic error message. |
| 43 | + |
| 44 | + ## What's Fixed |
| 45 | + |
| 46 | + When attempting to log in with an account that requires a password reset, users now see an informative error message: "Password reset required. Please check your email for instructions to reset your password." |
| 47 | + |
| 48 | + **Before**: Generic "something went wrong" error message |
| 49 | + **After**: Clear error message explaining the password reset requirement |
| 50 | + |
| 51 | + ## Migration |
| 52 | + |
| 53 | + ### Step 1: Update Translation Files |
| 54 | + |
| 55 | + Add this translation key to your locale files (e.g., `core/messages/en.json`): |
| 56 | + |
| 57 | + ```json |
| 58 | + { |
| 59 | + "Auth": { |
| 60 | + "Login": { |
| 61 | + "passwordResetRequired": "Password reset required. Please check your email for instructions to reset your password." |
| 62 | + } |
| 63 | + } |
| 64 | + } |
| 65 | + ``` |
| 66 | + |
| 67 | + Repeat for all supported locales if you maintain custom translations. |
| 68 | + |
| 69 | + ### Step 2: Update Login Server Action |
| 70 | + |
| 71 | + In your login server action (e.g., `core/app/[locale]/(default)/(auth)/login/_actions/login.ts`): |
| 72 | + |
| 73 | + Add the password reset error handling block: |
| 74 | + |
| 75 | + ```typescript |
| 76 | + if ( |
| 77 | + error instanceof AuthError && |
| 78 | + error.type === 'CallbackRouteError' && |
| 79 | + error.cause && |
| 80 | + error.cause.err instanceof BigCommerceGQLError && |
| 81 | + error.cause.err.message.includes('Reset password"') |
| 82 | + ) { |
| 83 | + return submission.reply({ formErrors: [t('passwordResetRequired')] }); |
| 84 | + } |
| 85 | + ``` |
| 86 | + |
| 87 | + This should be placed in your error handling, before the generic "Invalid credentials" check. |
| 88 | + |
3 | 89 | ## 1.3.5 |
4 | 90 |
|
5 | 91 | ### Patch Changes |
|
0 commit comments