-
Notifications
You must be signed in to change notification settings - Fork 23
feat: upgrade to next 16 #4711
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
devin-ai-integration
wants to merge
11
commits into
app
Choose a base branch
from
devin/1762210596-upgrade-next-16
base: app
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
feat: upgrade to next 16 #4711
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Co-Authored-By: Deep Singhvi <[email protected]>
Contributor
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
- Rename icons-cdn middleware.ts to proxy.ts - Add experimental.cacheComponents: true to both next.config.ts files - This enables cacheTag() functionality required in Next.js 16 Co-Authored-By: Deep Singhvi <[email protected]>
…ings - Add --webpack to all next build commands in package.json files - fern-docs/bundle: docs:build:local, docs:build:selfhosted, docs:build:selfserved - fern-docs/icons-cdn: build - fern-docs/search-ui: demo:build - fern-dashboard: dashboard:rsd - Fix deprecation: skipMiddlewareUrlNormalize → skipProxyUrlNormalize - Fix deprecation: move cacheComponents from experimental to top-level - This ensures all Vercel deployments use webpack instead of defaulting to Turbopack Co-Authored-By: Deep Singhvi <[email protected]>
…nents - Remove 'export const revalidate' from 9 files in fern-docs/bundle - Remove 'export const revalidate' from 2 files in fern-dashboard - These exports are incompatible with cacheComponents: true in Next.js 16 - Fixes webpack build errors: 'Route segment config revalidate is not compatible with nextConfig.cacheComponents' Co-Authored-By: Deep Singhvi <[email protected]>
Co-Authored-By: Deep Singhvi <[email protected]>
Co-Authored-By: Deep Singhvi <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Upgrade to Next.js 16.0.0 and React 19.2.0 + Merge from
appThis PR upgrades Next.js from 15.5.4 to 16.0.0 and React from 19.0.0 to 19.2.0, following the official Next.js 16 upgrade guide and using PR #4453 as reference. Additionally, this PR merges the latest 10 commits from the
appbranch, including LLM authentication endpoints, editor improvements, and caching optimizations.What was the motivation & context behind this PR?
User requested a minimal-change upgrade to Next.js 16. Per feedback from a Vercel engineer: "anything that you want to render statically, mark with
"use cache"". After consultation, I took a minimal-risk approach:cacheComponentsdisabled for fern-docs/bundle (avoiding prerender errors)"use cache"directive to pages that previously usedexport const dynamic = "force-static"as forward-compatible annotationappbranch to stay currentKey changes made:
Breaking changes handled:
middleware.ts→proxy.tsin fern-docs/bundle (Next.js 16 requirement)next-env.d.tsfiles to useimportinstead of/// <reference path>experimental.turboconfig to top-levelturbopackconfigRoute segment config:
export const dynamicandexport const revalidatedeclarations (incompatible with Next.js 16 when using cacheComponents)"use cache"directive to static pages as forward-compatible annotationunstable_noStore()calls to API routes needing dynamic renderingRendering changes:
ScrollToTopClientwrapper with Suspense boundary (avoids uncached data access errors during prerendering)cacheComponentsdisabled in fern-docs/bundle next.config.ts (minimal-risk approach)cacheComponentsin fern-dashboard next.config.tsBuild configuration:
--webpackflag to build scripts (continue using webpack instead of Turbopack)@next/rspack-coreinstead of@rspack/coreForceCompleteRuntimePluginfrom rspack buildsApp branch merge (10 commits):
How has this PR been tested?
✅ All CI checks passed (15/15 green)
✅ All Vercel deployments succeeded
✅ Local build tested:
QSTASH_TOKEN=stub pnpm -F @fern-docs/bundle exec next build --webpack✅ Lint and format checks passed
✅ Merge from
appbranch completed cleanly with no conflictsPreview deployments:
Human review checklist:
export const dynamic = "force-static"still render staticallyScrollToTopClientwrapperMedium priority:
unstable_noStore()still render dynamically@next/rspack-coreRequested by: Deep Singhvi (@dsinghvi)
Devin session: https://app.devin.ai/sessions/d394041c655645aa9ad3a63a1b30a7ff