Skip to content

chore(deps): upgrade next 16.2.11 -> 16.2.12 - #6077

Merged
waleedlatif1 merged 1 commit into
stagingfrom
chore/next-16-2-12
Jul 30, 2026
Merged

chore(deps): upgrade next 16.2.11 -> 16.2.12#6077
waleedlatif1 merged 1 commit into
stagingfrom
chore/next-16-2-12

Conversation

@waleedlatif1

Copy link
Copy Markdown
Collaborator

Summary

16.2.12 is the current stable (published 2026-07-25). We were on 16.2.11. The entire changelog is two PRs — one docs backport and one that matters here.

Why this isn't just a routine bump

vercel/next.js#95831"Fixes to support TypeScript 7"resolves #95801: next build dying with a silent SIGSEGV/SIGABRT during its type-check step when typescript@7 is installed, because the legacy TypeScript JS API that Next called was removed in TS 7.

That configuration is ours:

  • apps/sim/package.json declares typescript: ^7.0.2; the lockfile resolves 7.0.2
  • apps/sim/next.config.ts:120 sets typescript.ignoreBuildErrors only under DOCKER_BUILD, so the CI check build runs Next's type-check with TS7 present
  • 16.2.11 has neither the fix nor a guard — the cheaper "throw an actionable error instead of SIGSEGV" mitigation (#95837) was never merged

Builds pass today because Next detects @typescript/native-preview as the compiler (visible in the Build App log: "Detected @typescript/native-preview as TypeScript compiler") and takes a different path. So we're accidentally working, not supported — a change in resolution order could surface a build crash with no useful error. 16.2.12 adds the experimental.useTypeScriptCli backend that makes this official.

No build-performance content in the patch. This is not a speed change, and I'm not claiming one.

All eight pins move in lockstep

next + @next/env + four @next/swc-* at the root, plus the copies in apps/sim, apps/docs, and packages/emcn.

The swc binaries must move with next. They are platform-gated optionalDependencies, so a version skew or gate exclusion leaves them absent from bun.lock entirely and bun install --frozen-lockfile installs no compiler at all — Next then tries to download one at build time, which fails in CI. That is exactly the #5945 failure. Verified all four are recorded at 16.2.12:

"@next/swc-darwin-arm64@16.2.12"  "@next/swc-darwin-x64@16.2.12"
"@next/swc-linux-arm64-gnu@16.2.12"  "@next/swc-linux-x64-gnu@16.2.12"

bunfig.toml comment was a live trap

The gate note said to drop the next/@next/* entries from minimumReleaseAgeExcludes on 2026-07-28 — yesterday. 16.2.12 published 2026-07-25, so it's inside the 7-day window until 2026-08-01. Anyone following that instruction before this bump would have blocked it and re-triggered the missing-compiler failure. Re-dated the note and added an explicit "re-date on future bumps rather than deleting early."

Type of Change

  • Dependency upgrade (latent build-crash hazard)

Testing

  • bun install --frozen-lockfile clean; next --version → 16.2.12
  • All four swc platform binaries present in bun.lock at 16.2.12
  • tsc --noEmit -p apps/sim/tsconfig.json exit 0
  • biome check clean
  • The CI Build App check is the real gate — it exercises next build including the TypeScript step this patch fixes

Deliberately not paired with any config or perf change so that if a Next patch regresses something, this is a clean single-variable revert.

16.2.12 is the current stable (published 2026-07-25) and its entire
changelog is two PRs: a docs backport and vercel/next.js#95831, "Fixes to
support TypeScript 7".

That second one matters here. `apps/sim` declares `typescript: ^7.0.2` and
the lockfile resolves 7.0.2, while 16.2.11 predates any TS7 handling — not
even the actionable-error guard (#95837), which was never merged. The
upstream symptom is `next build` dying with a silent SIGSEGV during its
type-check step, because the legacy TypeScript JS API that Next called is
gone in TS7. Builds pass today only because Next detects
@typescript/native-preview as the compiler and takes a different path, so
we are accidentally-working rather than supported. 16.2.12 adds the
`experimental.useTypeScriptCli` backend that makes this configuration
official.

Zero build-performance content in the patch, so this is not a speed change.

Bumps all eight pins in lockstep — next, @next/env and the four
@next/swc-* binaries at the root, plus the three app/package copies. The
swc binaries must move with next: they are platform-gated
optionalDependencies, so a version skew or a gate exclusion leaves them out
of bun.lock entirely and `bun install --frozen-lockfile` installs no
compiler at all (the #5945 failure).

Also re-dates the bunfig.toml gate note, which said to drop the next
entries on 2026-07-28 — yesterday. 16.2.12 is inside the 7-day window until
2026-08-01, so following that instruction would have blocked this bump and
re-triggered the missing-compiler failure. Re-date on future bumps rather
than deleting the entries early.
@waleedlatif1
waleedlatif1 requested a review from a team as a code owner July 30, 2026 00:57
@vercel

vercel Bot commented Jul 30, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview Jul 30, 2026 1:01am

Request Review

@cursor

cursor Bot commented Jul 30, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
Patch-level framework bump with lockfile-only app changes; main operational risk is install/build behavior if swc pins drift from next.

Overview
Bumps Next.js from 16.2.11 to 16.2.12 across the monorepo: root package.json overrides and optional @next/swc-* pins, apps/sim, apps/docs, packages/emcn, and bun.lock.

The bunfig.toml gate comment is updated for 16.2.12 (TS7 build fix backport, security fixes already in 16.2.11), with the exclude window re-dated to 2026-08-01 and guidance not to remove excludes early while the version is still inside the 7-day minimumReleaseAge window.

Reviewed by Cursor Bugbot for commit 974d324. Configure here.

@greptile-apps

greptile-apps Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Bumps Next.js and lockstep packages from 16.2.11 to 16.2.12 across the monorepo.

  • Pins next to 16.2.12 in root overrides and in apps/sim, apps/docs, and packages/emcn.
  • Moves root @next/env override and four @next/swc-* optionalDependencies to 16.2.12; bun.lock matches.
  • Updates bunfig.toml age-gate commentary and keeps next/@next/* on minimumReleaseAgeExcludes through 2026-08-01.

Confidence Score: 5/5

Safe to merge; this is a consistent lockstep Next 16.2.12 pin with matching lockfile and age-gate excludes and no application code changes.

All next-related package.json pins, root overrides, optional swc binaries, and bun.lock entries move together to 16.2.12, and bunfig still excludes those packages while the release is inside the 7-day minimumReleaseAge window.

Important Files Changed

Filename Overview
package.json Root next/@next/env overrides and four swc optionalDependencies pinned to 16.2.12 in lockstep.
bun.lock Lockfile records next, @next/env, and all four pinned swc platform packages at 16.2.12 with no leftover 16.2.11 pins.
bunfig.toml Comment re-dated for 16.2.12 publish window; exclude list still covers next and the four swc binaries.
apps/sim/package.json App next dependency bumped to 16.2.12.
apps/docs/package.json Docs next dependency bumped to 16.2.12.
packages/emcn/package.json EMCN next dependency bumped to 16.2.12.

Reviews (1): Last reviewed commit: "chore(deps): upgrade next 16.2.11 -> 16...." | Re-trigger Greptile

@waleedlatif1
waleedlatif1 merged commit f0b79c5 into staging Jul 30, 2026
27 checks passed
@waleedlatif1
waleedlatif1 deleted the chore/next-16-2-12 branch July 30, 2026 01:11
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.

1 participant