> This page is for Developer.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.bigcommerce.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.bigcommerce.com/_mcp/server.

# Changelog

## October 13, 2026

## All stores move to the current checkout settings page

We are beginning to move the remaining stores that still use the legacy checkout settings page to the current one. If your store uses the legacy page, you may see the current checkout settings page under **Settings > Checkout** over the coming weeks.

* **No setup required:** Stores move automatically. Your storefront checkout keeps working as before.
* **Access to newer checkout features:** The current page is where you turn on features such as Enhanced Checkout and B2B checkout, which the legacy page does not offer.

## October 13, 2026

## All stores move to the current checkout settings page

We are beginning to move the remaining stores that still use the legacy checkout settings page to the current one. If your store uses the legacy page, you may see the current checkout settings page under **Settings > Checkout** over the coming weeks.

* **No setup required:** Stores move automatically. Your storefront checkout keeps working as before.
* **Access to newer checkout features:** The current page is where you turn on features such as Enhanced Checkout and B2B checkout, which the legacy page does not offer.

## October 13, 2026

## All stores move to the current checkout settings page

We are beginning to move the remaining stores that still use the legacy checkout settings page to the current one. If your store uses the legacy page, you may see the current checkout settings page under **Settings > Checkout** over the coming weeks.

* **No setup required:** Stores move automatically. Your storefront checkout keeps working as before.
* **Access to newer checkout features:** The current page is where you turn on features such as Enhanced Checkout and B2B checkout, which the legacy page does not offer.

## October 13, 2026

## All stores move to the current checkout settings page

We are beginning to move the remaining stores that still use the legacy checkout settings page to the current one. If your store uses the legacy page, you may see the current checkout settings page under **Settings > Checkout** over the coming weeks.

* **No setup required:** Stores move automatically. Your storefront checkout keeps working as before.
* **Access to newer checkout features:** The current page is where you turn on features such as Enhanced Checkout and B2B checkout, which the legacy page does not offer.

## October 12, 2026

## Cascading price lists are now generally available

Cascading price lists have moved out of open beta and are now generally available to all stores.

* **Layer fallback pricing**: use the `layers` field on a price list to define up to five fallback price lists. When a price record is not found in the primary list, each layer is checked in order before resolving to the catalog price.
* **Control panel**: the **Price list fallback** panel and the **Prices entered** setting in the price list editor no longer show a Beta label.
* **Existing endpoints**: set `layers` on the create and update [Price Lists API](/developer/api-reference/rest/admin/management/price-lists/create-price-list) endpoints. No new endpoints are introduced.

For details, see the [Cascading price lists guide](/developer/docs/admin/catalog-and-inventory/pricing/cascading-price-lists).

## October 12, 2026

## Cascading price lists are now generally available

Cascading price lists have moved out of open beta and are now generally available to all stores.

* **Layer fallback pricing**: use the `layers` field on a price list to define up to five fallback price lists. When a price record is not found in the primary list, each layer is checked in order before resolving to the catalog price.
* **Control panel**: the **Price list fallback** panel and the **Prices entered** setting in the price list editor no longer show a Beta label.
* **Existing endpoints**: set `layers` on the create and update [Price Lists API](/developer/api-reference/rest/admin/management/price-lists/create-price-list) endpoints. No new endpoints are introduced.

For details, see the [Cascading price lists guide](/developer/docs/admin/catalog-and-inventory/pricing/cascading-price-lists).

## October 12, 2026

## Cascading price lists are now generally available

Cascading price lists have moved out of open beta and are now generally available to all stores.

* **Layer fallback pricing**: use the `layers` field on a price list to define up to five fallback price lists. When a price record is not found in the primary list, each layer is checked in order before resolving to the catalog price.
* **Control panel**: the **Price list fallback** panel and the **Prices entered** setting in the price list editor no longer show a Beta label.
* **Existing endpoints**: set `layers` on the create and update [Price Lists API](/developer/api-reference/rest/admin/management/price-lists/create-price-list) endpoints. No new endpoints are introduced.

For details, see the [Cascading price lists guide](/developer/docs/admin/catalog-and-inventory/pricing/cascading-price-lists).

## October 12, 2026

## Cascading price lists are now generally available

Cascading price lists have moved out of open beta and are now generally available to all stores.

* **Layer fallback pricing**: use the `layers` field on a price list to define up to five fallback price lists. When a price record is not found in the primary list, each layer is checked in order before resolving to the catalog price.
* **Control panel**: the **Price list fallback** panel and the **Prices entered** setting in the price list editor no longer show a Beta label.
* **Existing endpoints**: set `layers` on the create and update [Price Lists API](/developer/api-reference/rest/admin/management/price-lists/create-price-list) endpoints. No new endpoints are introduced.

For details, see the [Cascading price lists guide](/developer/docs/admin/catalog-and-inventory/pricing/cascading-price-lists).

## October 12, 2026

## Cascading price lists are now generally available

Cascading price lists have moved out of open beta and are now generally available to all stores.

* **Layer fallback pricing**: use the `layers` field on a price list to define up to five fallback price lists. When a price record is not found in the primary list, each layer is checked in order before resolving to the catalog price.
* **Control panel**: the **Price list fallback** panel and the **Prices entered** setting in the price list editor no longer show a Beta label.
* **Existing endpoints**: set `layers` on the create and update [Price Lists API](/developer/api-reference/rest/admin/management/price-lists/create-price-list) endpoints. No new endpoints are introduced.

For details, see the [Cascading price lists guide](/developer/docs/admin/catalog-and-inventory/pricing/cascading-price-lists).

## October 12, 2026

## Cascading price lists are now generally available

Cascading price lists have moved out of open beta and are now generally available to all stores.

* **Layer fallback pricing**: use the `layers` field on a price list to define up to five fallback price lists. When a price record is not found in the primary list, each layer is checked in order before resolving to the catalog price.
* **Control panel**: the **Price list fallback** panel and the **Prices entered** setting in the price list editor no longer show a Beta label.
* **Existing endpoints**: set `layers` on the create and update [Price Lists API](/developer/api-reference/rest/admin/management/price-lists/create-price-list) endpoints. No new endpoints are introduced.

For details, see the [Cascading price lists guide](/developer/docs/admin/catalog-and-inventory/pricing/cascading-price-lists).

## October 12, 2026

## Cascading price lists are now generally available

Cascading price lists have moved out of open beta and are now generally available to all stores.

* **Layer fallback pricing**: use the `layers` field on a price list to define up to five fallback price lists. When a price record is not found in the primary list, each layer is checked in order before resolving to the catalog price.
* **Control panel**: the **Price list fallback** panel and the **Prices entered** setting in the price list editor no longer show a Beta label.
* **Existing endpoints**: set `layers` on the create and update [Price Lists API](/developer/api-reference/rest/admin/management/price-lists/create-price-list) endpoints. No new endpoints are introduced.

For details, see the [Cascading price lists guide](/developer/docs/admin/catalog-and-inventory/pricing/cascading-price-lists).

## October 12, 2026

## Cascading price lists are now generally available

Cascading price lists have moved out of open beta and are now generally available to all stores.

* **Layer fallback pricing**: use the `layers` field on a price list to define up to five fallback price lists. When a price record is not found in the primary list, each layer is checked in order before resolving to the catalog price.
* **Control panel**: the **Price list fallback** panel and the **Prices entered** setting in the price list editor no longer show a Beta label.
* **Existing endpoints**: set `layers` on the create and update [Price Lists API](/developer/api-reference/rest/admin/management/price-lists/create-price-list) endpoints. No new endpoints are introduced.

For details, see the [Cascading price lists guide](/developer/docs/admin/catalog-and-inventory/pricing/cascading-price-lists).

## October 9, 2026

## Selected shipping option now matches the available options in createCheckout

We are beginning to roll out a fix for a bug in the Storefront GraphQL API where `createCheckout` could select a shipping option that wasn't in the consignment's `availableShippingOptions`. You may notice this take effect over the coming weeks.

* **Affected requests**: `createCheckout` mutations that set `selectRecommendedOption: true` or `shippingOptionSelectionStrategy` on a shipping consignment, for stores whose shipping rates depend on the cart's discounts, order total, or product dimensions. This includes carrier-calculated rates.
* **Selected option is one of the available options**: the shipping option is selected using the same prices, discounts, and product dimensions as the returned `availableShippingOptions`, so `selectedShippingOption` matches one of them and the consignment's `shippingCost` matches that option's price.
* **No request changes**: you don't need to change your `createCheckout` requests.

For details, see the [createCheckout mutation reference](/developer/api-reference/graphql/storefront/mutations/checkout/create-checkout).

## October 9, 2026

## Selected shipping option now matches the available options in createCheckout

We are beginning to roll out a fix for a bug in the Storefront GraphQL API where `createCheckout` could select a shipping option that wasn't in the consignment's `availableShippingOptions`. You may notice this take effect over the coming weeks.

* **Affected requests**: `createCheckout` mutations that set `selectRecommendedOption: true` or `shippingOptionSelectionStrategy` on a shipping consignment, for stores whose shipping rates depend on the cart's discounts, order total, or product dimensions. This includes carrier-calculated rates.
* **Selected option is one of the available options**: the shipping option is selected using the same prices, discounts, and product dimensions as the returned `availableShippingOptions`, so `selectedShippingOption` matches one of them and the consignment's `shippingCost` matches that option's price.
* **No request changes**: you don't need to change your `createCheckout` requests.

For details, see the [createCheckout mutation reference](/developer/api-reference/graphql/storefront/mutations/checkout/create-checkout).

## October 9, 2026

## Selected shipping option now matches the available options in createCheckout

We are beginning to roll out a fix for a bug in the Storefront GraphQL API where `createCheckout` could select a shipping option that wasn't in the consignment's `availableShippingOptions`. You may notice this take effect over the coming weeks.

* **Affected requests**: `createCheckout` mutations that set `selectRecommendedOption: true` or `shippingOptionSelectionStrategy` on a shipping consignment, for stores whose shipping rates depend on the cart's discounts, order total, or product dimensions. This includes carrier-calculated rates.
* **Selected option is one of the available options**: the shipping option is selected using the same prices, discounts, and product dimensions as the returned `availableShippingOptions`, so `selectedShippingOption` matches one of them and the consignment's `shippingCost` matches that option's price.
* **No request changes**: you don't need to change your `createCheckout` requests.

For details, see the [createCheckout mutation reference](/developer/api-reference/graphql/storefront/mutations/checkout/create-checkout).

## October 8, 2026

## B2B Buyer Portal Updates

Updates the B2B Buyer Portal course to match a new release of its lab project, aligning the hands-on exercises in Modules 4 through 6 with the patterns the Buyer Portal itself uses.

* **Permission checks now read from the Redux store**, using the `rolePermissionSelector` selector with `useAppSelector` in place of the `validatePermissionWithComparisonType` utility. Because the value comes from global state, gated content re-renders when a user's permissions change.
* **In-app navigation now uses React Router's `useNavigate` hook**, replacing the `setOpenPage` prop. `setOpenPage` controls the portal shell's open and closed state rather than acting as a navigation API, and the lab components no longer thread it through as a prop.
* **GraphQL responses are typed with the `B3Request.graphqlB2B` type parameter** instead of `as` assertions. Response interfaces now describe the full `data` envelope, which the request layer unwraps before returning.
* **Expands the routing and querying lessons** to teach `useNavigate` and response typing directly, so the instructional content matches the lab code.
* **Updates the lab project** to a clean install of the Buyer Portal framework released on 2026-10-07.

For details, see the [B2B Buyer Portal course](/developer/learn/courses/b2b-buyer-portal/overview/course-overview).

## October 8, 2026

## B2B Buyer Portal Updates

Updates the B2B Buyer Portal course to match a new release of its lab project, aligning the hands-on exercises in Modules 4 through 6 with the patterns the Buyer Portal itself uses.

* **Permission checks now read from the Redux store**, using the `rolePermissionSelector` selector with `useAppSelector` in place of the `validatePermissionWithComparisonType` utility. Because the value comes from global state, gated content re-renders when a user's permissions change.
* **In-app navigation now uses React Router's `useNavigate` hook**, replacing the `setOpenPage` prop. `setOpenPage` controls the portal shell's open and closed state rather than acting as a navigation API, and the lab components no longer thread it through as a prop.
* **GraphQL responses are typed with the `B3Request.graphqlB2B` type parameter** instead of `as` assertions. Response interfaces now describe the full `data` envelope, which the request layer unwraps before returning.
* **Expands the routing and querying lessons** to teach `useNavigate` and response typing directly, so the instructional content matches the lab code.
* **Updates the lab project** to a clean install of the Buyer Portal framework released on 2026-10-07.

For details, see the [B2B Buyer Portal course](/developer/learn/courses/b2b-buyer-portal/overview/course-overview).

## October 8, 2026

## B2B Buyer Portal Updates

Updates the B2B Buyer Portal course to match a new release of its lab project, aligning the hands-on exercises in Modules 4 through 6 with the patterns the Buyer Portal itself uses.

* **Permission checks now read from the Redux store**, using the `rolePermissionSelector` selector with `useAppSelector` in place of the `validatePermissionWithComparisonType` utility. Because the value comes from global state, gated content re-renders when a user's permissions change.
* **In-app navigation now uses React Router's `useNavigate` hook**, replacing the `setOpenPage` prop. `setOpenPage` controls the portal shell's open and closed state rather than acting as a navigation API, and the lab components no longer thread it through as a prop.
* **GraphQL responses are typed with the `B3Request.graphqlB2B` type parameter** instead of `as` assertions. Response interfaces now describe the full `data` envelope, which the request layer unwraps before returning.
* **Expands the routing and querying lessons** to teach `useNavigate` and response typing directly, so the instructional content matches the lab code.
* **Updates the lab project** to a clean install of the Buyer Portal framework released on 2026-10-07.

For details, see the [B2B Buyer Portal course](/developer/learn/courses/b2b-buyer-portal/overview/course-overview).

## October 7, 2026

## Japanese prefecture names now use English spelling

Six Japanese prefecture names now use plain English spelling without macrons, following ISO 3166-2:JP. If your integration matches states by name, update it to use the new names.

| State abbreviation | Previous name | New name |
| ------------------ | ------------- | -------- |
| `13`               | Tōkyō         | Tokyo    |
| `26`               | Kyōto         | Kyoto    |
| `27`               | Ōsaka         | Osaka    |
| `28`               | Hyōgo         | Hyogo    |
| `39`               | Kōchi         | Kochi    |
| `44`               | Ōita          | Oita     |

* **Unchanged identifiers:** state IDs and state abbreviations stay the same, so lookups by ID or abbreviation are not affected.

For details, see [Get all country states](/developer/api-reference/rest/admin/management/geography/states/get-country-states).

## October 7, 2026

## Japanese prefecture names now use English spelling

Six Japanese prefecture names now use plain English spelling without macrons, following ISO 3166-2:JP. If your integration matches states by name, update it to use the new names.

| State abbreviation | Previous name | New name |
| ------------------ | ------------- | -------- |
| `13`               | Tōkyō         | Tokyo    |
| `26`               | Kyōto         | Kyoto    |
| `27`               | Ōsaka         | Osaka    |
| `28`               | Hyōgo         | Hyogo    |
| `39`               | Kōchi         | Kochi    |
| `44`               | Ōita          | Oita     |

* **Unchanged identifiers:** state IDs and state abbreviations stay the same, so lookups by ID or abbreviation are not affected.

For details, see [Get all country states](/developer/api-reference/rest/admin/management/geography/states/get-country-states).

_Showing the 20 most recent of 522 entries. Append `/llms.txt` to the changelog URL for the complete index._