Skip to content

Commit 27174e1

Browse files
authored
chore: merge the latest release into canary (#2749)
* chore: update next to latest v15 * Version Packages (canary)
1 parent d77f69d commit 27174e1

File tree

6 files changed

+760
-655
lines changed

6 files changed

+760
-655
lines changed

core/CHANGELOG.md

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,96 @@
11
# Changelog
22

3+
## 1.3.5
4+
5+
### Patch Changes
6+
7+
- [#2744](https://github.com/bigcommerce/catalyst/pull/2744) [`720fe17`](https://github.com/bigcommerce/catalyst/commit/720fe1722295841a995277ec514bc8280644b879) Thanks [@chanceaclark](https://github.com/chanceaclark)! - # Next.js 15.5.7 Upgrade
8+
9+
Catalyst has been upgraded to Next.js 15.5.7. This is a patch version upgrade that requires migration steps for existing stores to fix a security vulnerability.
10+
11+
## 🔒 Critical Security Update
12+
13+
**This upgrade addresses a critical security vulnerability ([CVE-2025-55182](https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components))** that affects React Server Components. The vulnerability allowed unauthenticated remote code execution on servers running React Server Components. This upgrade includes:
14+
- Next.js 15.5.7 with the security patch
15+
- React 19.1.2 and React DOM 19.1.2 with the security patch
16+
17+
**All users are strongly encouraged to upgrade immediately.**
18+
19+
## Key Changes
20+
-**Next.js 15.5.7**: Upgraded from Next.js 15.5.1-canary.4 to 15.5.7 (no more canary)
21+
- ⚛️ **React 19**: Upgraded to React 19.1.2 and React DOM 19.1.2
22+
- 🔄 **Partial Prerendering (PPR) Removed**: Removed partial prerendering as it's unsupported in non-canary versions of Next.js 15.
23+
24+
### ⚠️ Partial Prerendering (PPR) Removed
25+
26+
**Important**: PPR (Partial Prerendering) has been **removed** in this release as it's unsupported in non-canary versions of Next.js 15.
27+
- The `ppr` experimental flag has been removed from `next.config.ts`
28+
- Full support for Next.js 16's and it's new cache component patterns will be added in a future release
29+
- This may result in different performance characteristics compared to the Next.js 15 + PPR setup
30+
31+
## Migration Guide
32+
33+
### Step 1: Update Dependencies
34+
35+
If you're maintaining a custom Catalyst store, update your `package.json`:
36+
37+
```json
38+
{
39+
"dependencies": {
40+
"next": "15.5.7",
41+
"react": "^19.1.2",
42+
"react-dom": "^19.1.2"
43+
},
44+
"devDependencies": {
45+
"@next/bundle-analyzer": "15.5.7",
46+
"eslint-config-next": "15.5.7"
47+
}
48+
}
49+
```
50+
51+
Then run:
52+
53+
```bash
54+
pnpm install
55+
```
56+
57+
### Step 2: Update next.config.ts
58+
59+
Remove or comment out PPR configuration:
60+
61+
```typescript
62+
// Remove or disable:
63+
// experimental: {
64+
// ppr: 'incremental',
65+
// }
66+
```
67+
68+
Remove or comment out eslint config
69+
70+
```typescript
71+
// eslint: {
72+
// ignoreDuringBuilds: !!process.env.CI,
73+
// dirs: [
74+
// 'app',
75+
// 'auth',
76+
// 'build-config',
77+
// 'client',
78+
// 'components',
79+
// 'data-transformers',
80+
// 'i18n',
81+
// 'lib',
82+
// 'middlewares',
83+
// 'scripts',
84+
// 'tests',
85+
// 'vibes',
86+
// ],
87+
// },
88+
```
89+
90+
### Step 3: Remove `export const experimental_ppr`
91+
92+
Remove any references to `export const experimental_ppr` in your codebase as it is not being used anymore.
93+
394
## 1.3.4
495

596
### Patch Changes

core/app/[locale]/(default)/compare/page.tsx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,3 @@ export default async function Compare(props: Props) {
130130
</CompareAnalyticsProvider>
131131
);
132132
}
133-
134-
// Disabled to circumvent a bug in Next.js and PPR
135-
// More info: https://github.com/vercel/next.js/issues/59407
136-
export const experimental_ppr = false;

core/app/[locale]/(default)/layout.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,3 @@ export default async function DefaultLayout({ params, children }: Props) {
2323
</>
2424
);
2525
}
26-
27-
export const experimental_ppr = true;

core/next.config.ts

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -64,28 +64,10 @@ export default async (): Promise<NextConfig> => {
6464
reactStrictMode: true,
6565
experimental: {
6666
optimizePackageImports: ['@icons-pack/react-simple-icons'],
67-
ppr: 'incremental',
6867
},
6968
typescript: {
7069
ignoreBuildErrors: !!process.env.CI,
7170
},
72-
eslint: {
73-
ignoreDuringBuilds: !!process.env.CI,
74-
dirs: [
75-
'app',
76-
'auth',
77-
'build-config',
78-
'client',
79-
'components',
80-
'data-transformers',
81-
'i18n',
82-
'lib',
83-
'middlewares',
84-
'scripts',
85-
'tests',
86-
'vibes',
87-
],
88-
},
8971
// default URL generation in BigCommerce uses trailing slash
9072
trailingSlash: process.env.TRAILING_SLASH !== 'false',
9173
// eslint-disable-next-line @typescript-eslint/require-await

core/package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@bigcommerce/catalyst-core",
33
"description": "BigCommerce Catalyst is a Next.js starter kit for building headless BigCommerce storefronts.",
4-
"version": "1.3.4",
4+
"version": "1.3.5",
55
"private": true,
66
"scripts": {
77
"dev": "npm run generate && next dev",
@@ -57,14 +57,14 @@
5757
"lodash.debounce": "^4.0.8",
5858
"lru-cache": "^11.1.0",
5959
"lucide-react": "^0.474.0",
60-
"next": "15.5.1-canary.4",
60+
"next": "15.5.7",
6161
"next-auth": "5.0.0-beta.30",
6262
"next-intl": "^4.1.0",
6363
"nuqs": "^2.4.3",
6464
"p-lazy": "^5.0.0",
65-
"react": "^19.1.0",
65+
"react": "^19.1.2",
6666
"react-day-picker": "^9.7.0",
67-
"react-dom": "^19.1.0",
67+
"react-dom": "^19.1.2",
6868
"react-headroom": "^3.2.1",
6969
"schema-dts": "^1.1.5",
7070
"server-only": "^0.0.1",
@@ -79,7 +79,7 @@
7979
"@bigcommerce/eslint-config-catalyst": "workspace:^",
8080
"@faker-js/faker": "^9.8.0",
8181
"@gql.tada/cli-utils": "^1.6.3",
82-
"@next/bundle-analyzer": "15.2.3",
82+
"@next/bundle-analyzer": "15.5.7",
8383
"@playwright/test": "^1.52.0",
8484
"@tailwindcss/container-queries": "^0.1.1",
8585
"@tailwindcss/typography": "^0.5.16",
@@ -94,7 +94,7 @@
9494
"dotenv": "^16.5.0",
9595
"dotenv-cli": "^8.0.0",
9696
"eslint": "^8.57.1",
97-
"eslint-config-next": "15.2.3",
97+
"eslint-config-next": "15.5.7",
9898
"postcss": "^8.5.4",
9999
"postcss-preset-env": "^10.2.1",
100100
"prettier": "^3.6.2",

0 commit comments

Comments
 (0)