Skip to content

LTRAC-1731: build(core) - Upgrade Next.js to 16.3.4 - #3202

Merged
jorgemoya merged 1 commit into
canaryfrom
jorgemoya/ltrac-1731-next-16-3-4-security
Sep 2, 2026
Merged

LTRAC-1731: build(core) - Upgrade Next.js to 16.3.4#3202
jorgemoya merged 1 commit into
canaryfrom
jorgemoya/ltrac-1731-next-16-3-4-security

Conversation

@jorgemoya

Copy link
Copy Markdown
Contributor

Linear: LTRAC-1731

What/Why?

Bumps next from ~16.2.11 to ~16.3.4. 16.3.3 patches two critical advisories:

16.3.4 re-enables AVIF image optimization after that fix.

This is deliberately split from the @opennextjs/cloudflare upgrade (LTRAC-1732) so the security fix can ship on its own. The two are strictly ordered: the currently pinned adapter 1.17.3 accepts Next 16.3.4 because its peer range ends in ^16.1.5, so this PR stands alone — but 1.20.5 requires Next >= 16.3.3, so the adapter bump cannot merge first. LTRAC-1732 is stacked on this branch.

Also picked up: backported fixes for optimistic-routing bugs causing repeated prefetch loops, and cache-entry reuse that discards only entries predating a tag revalidation rather than all of them.

Testing

  • core tsc --noEmit — clean
  • core vitest run — 65/65 passing
  • pnpm install reports no unmet next peer against @opennextjs/cloudflare@1.17.3, confirming this lands independently
  • Codex review — no findings

Not covered: a full next build / OpenNext bundle, which needs store credentials. Worth running before merge.

Note for anyone verifying on a cold checkout: core typecheck needs pnpm generate first (for bigcommerce.graphql / bigcommerce-graphql.d.ts) and a built @bigcommerce/catalyst-client, otherwise it fails with unrelated never/implicit-any errors.

Migration

None. Single dependency bump, no API or config changes.

Refs LTRAC-1731

@vercel

vercel Bot commented Sep 1, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
catalyst Ready Ready Preview Sep 2, 2026 12:06am UTC

Request Review

@changeset-bot

changeset-bot Bot commented Sep 1, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 53c02fc

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@bigcommerce/catalyst-core Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Bundle Size Report

Comparing against baseline from 49a3432 (2026-09-02).

Metric Baseline Current Delta
First Load JS 128.8 kB 127.1 kB -1.7 kB (-1.3%)
Total JS 449.7 kB 394.7 kB -55 kB (-12.2%)

Per-Route First Load JS

Route Baseline Current Delta
/(default)/(auth)/change-password/page 332.5 kB 312.4 kB -20.1 kB (-6%)
/(default)/(auth)/login/forgot-password/page 331.6 kB 311.5 kB -20.1 kB (-6.1%)
/(default)/(auth)/login/page 332.1 kB 311.9 kB -20.2 kB (-6.1%)
/(default)/(auth)/register/page 368.4 kB 348.4 kB -20 kB (-5.4%)
/(default)/(faceted)/brand/[slug]/page 344.2 kB 324 kB -20.2 kB (-5.9%)
/(default)/(faceted)/category/[slug]/page 353 kB 332.9 kB -20.1 kB (-5.7%)
/(default)/(faceted)/search/page 344.2 kB 324 kB -20.2 kB (-5.9%)
/(default)/[...rest]/page 327.2 kB 307.1 kB -20.1 kB (-6.1%)
/(default)/account/addresses/page 371.9 kB 351.8 kB -20.1 kB (-5.4%)
/(default)/account/orders/[id]/page 335.3 kB 315.2 kB -20.1 kB (-6%)
/(default)/account/orders/page 336.3 kB 316.2 kB -20.1 kB (-6%)
/(default)/account/settings/page 373.4 kB 353.3 kB -20.1 kB (-5.4%)
/(default)/account/wishlists/[id]/page 350.1 kB 331.1 kB -19 kB (-5.4%)
/(default)/account/wishlists/page 345.1 kB 325.7 kB -19.4 kB (-5.6%)
/(default)/blog/[blogId]/page 327.2 kB 307.1 kB -20.1 kB (-6.1%)
/(default)/blog/page 328.2 kB 308.1 kB -20.1 kB (-6.1%)
/(default)/cart/page 349.7 kB 329.5 kB -20.2 kB (-5.8%)
/(default)/compare/page 339.3 kB 319.3 kB -20 kB (-5.9%)
/(default)/gift-certificates/balance/page 331.1 kB 311 kB -20.1 kB (-6.1%)
/(default)/gift-certificates/page 327.2 kB 307.1 kB -20.1 kB (-6.1%)
/(default)/gift-certificates/purchase/page 370.9 kB 350.9 kB -20 kB (-5.4%)
/(default)/page 344.3 kB 324.3 kB -20 kB (-5.8%)
/(default)/product/[slug]/page 400.3 kB 380.3 kB -20 kB (-5%)
/(default)/webpages/[id]/contact/page 369.3 kB 349.3 kB -20 kB (-5.4%)
/(default)/webpages/[id]/normal/page 335.3 kB 315.2 kB -20.1 kB (-6%)
/(default)/wishlist/[token]/page 340 kB 319.4 kB -20.6 kB (-6.1%)
/maintenance/page 316.7 kB 307.8 kB -8.9 kB (-2.8%)
/_global-error/page 142.8 kB 130.7 kB -12.1 kB (-8.5%)
/_not-found/page 142.8 kB 130.7 kB -12.1 kB (-8.5%)

Threshold: 5% increase. Routes with ⚠️ exceed the threshold.

Next.js 16.3.3 patches two critical advisories: unauthenticated remote code
execution on Windows-hosted servers (GHSA-p293-qw3h-jr36), and unauthenticated
remote code execution in the Image Optimization API when AVIF files are used
(GHSA-2xp9-vwfh-vxw4). 16.3.4 re-enables AVIF image optimization after that fix.

Also picked up are backported fixes for optimistic-routing bugs that caused
repeated prefetch loops, and cache-entry reuse that discards only entries
predating a tag revalidation rather than all of them.

Kept separate from the @opennextjs/cloudflare upgrade so the security fix can
ship on its own. The currently pinned adapter (1.17.3) accepts this version --
its peer range ends in ^16.1.5 -- so this lands independently. It is also a
prerequisite for moving the adapter past 1.20.2, which requires Next 16.3.3.

Refs LTRAC-1731
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@jorgemoya
jorgemoya force-pushed the jorgemoya/ltrac-1731-next-16-3-4-security branch from 0a4e926 to 53c02fc Compare September 2, 2026 00:05
@jorgemoya
jorgemoya marked this pull request as ready for review September 2, 2026 00:12
@jorgemoya
jorgemoya requested a review from a team as a code owner September 2, 2026 00:12
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Unlighthouse Performance Comparison — Vercel

Comparing PR preview deployment Unlighthouse scores vs production Unlighthouse scores.

Summary Score

Aggregate score across all categories as reported by Unlighthouse.

Prod Desktop Prod Mobile Preview Desktop Preview Mobile
Score 90 93 92 95

Category Scores

Category Prod Desktop Prod Mobile Preview Desktop Preview Mobile
Performance 76 85 70 93
Accessibility 95 98 95 98
Best Practices 100 100 100 100
SEO 88 88 100 100

Core Web Vitals

Metric Prod Desktop Prod Mobile Preview Desktop Preview Mobile
LCP 3.7 s 4.4 s 5.2 s 3.2 s
CLS 0 0 0.039 0
FCP 1.2 s 1.2 s 1.2 s 1.2 s
TBT 0 ms 0 ms 0 ms 0 ms
Max Potential FID 50 ms 60 ms 50 ms 50 ms
Time to Interactive 3.7 s 4.4 s 5.3 s 4.0 s

Full Unlighthouse report →

@jorgemoya
jorgemoya added this pull request to the merge queue Sep 2, 2026
Merged via the queue into canary with commit 715f481 Sep 2, 2026
18 of 19 checks passed
@jorgemoya
jorgemoya deleted the jorgemoya/ltrac-1731-next-16-3-4-security branch September 2, 2026 15:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants