Joseph and GitHub
ec76f095ab
docs: document query-only href resolution and fix with-vercel-blob ( #96280 )
...
Closes: https://github.com/vercel/next.js/issues/96204
The fix to manage rewrites introduced in
https://github.com/vercel/next.js/pull/82236 PR made it so that,
push/replace without explicit pathname broke the `as` pattern, for
example in `with-vercel-blob`.
Also documents the resolution rule in the `useRouter` API reference.
2026-07-27 17:57:37 -04:00
Joseph and GitHub
8be6c2676e
docs: attribute App Shell prefetch to Partial Prefetching ( #96003 )
...
`App Shells` are enabled with partial prefetching is enabled.
2026-07-21 23:19:54 +00:00
Joseph and GitHub
f54dbb9c5b
docs: fix unstable_cache syntax error ( #96002 )
...
The function signature was wrong:
```tsx
function Page({ params } }){
```
Which also prevented prettier from running in the code block. This PR
fixes the signature and formats the code block.
2026-07-21 13:07:30 +02:00
Joseph and GitHub
c0a7b91bec
cna: use LayoutProps helper in TS layout templates ( #95675 )
...
Update create-next-app templates to use `LayoutProps`
2026-07-21 02:17:52 +02:00
7696b6a821
docs: cssChunking graph option ( #95693 )
...
Docs for the newly added `graph` option, with this additional section,
`Balancing requests and grouping`, trying to explain how the graph
option works.
Also adding a couple new sections:
- Choosing a strategy
- Debugging what a route actually uses
- Example
- ends with a deep dive on the high level idea of the graph alg, trying
to explain more of `weightDistribution`
Closes; https://linear.app/vercel/issue/DOC-6481/csschunking-graph-mode
and to some degree
https://linear.app/vercel/issue/DOC-3447/document-how-the-css-chunking-algorithm-works
---------
Co-authored-by: Tobias Koppers <[email protected] >
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
2026-07-15 17:47:40 +02:00
Joseph and GitHub
303f7ffd4a
docs: revalidateTag with expire zero, for route handlers ( #95760 )
...
The error page did not mention an alternative for Route Handlers.
2026-07-14 13:38:17 +02:00
Joseph and GitHub
cecb6f3276
docs: useSearchParams example stray link ( #95759 )
...
Link pointing back to its own section.
2026-07-14 12:03:47 +02:00
Joseph and GitHub
c3d1e893b7
docs: runtime prefetching update ( #95564 )
...
Sync the runtime prefetching guide with latest App Shell changes
2026-07-13 14:50:06 +02:00
Joseph and GitHub
a37068f525
docs: note default error/not-found UI follows OS color scheme, not app theme ( #95673 )
...
Guidance for those who don't customize their own not-found page, pages
router's 404, etc, because the defaults honor the system style, not any
app-level theme settings.
2026-07-10 15:40:39 +02:00
Joseph and GitHub
45d8c93fe0
Fix/next info experimental analyze with graph css chunking ( #95542 )
...
Fixes: https://github.com/vercel/next.js/issues/95530
- Make sure analyze sets `process.env.TURBOPACK ??= '1'`
- Gate the validation - do not run it for `next info` phase
To be honest, I am not sure about the unit test, I had also modified
`test/e2e/next-analyze/next.config.js` to include the `cssChunking`
graph option, but didn't feel like it was the right direction.
Just minimally added a unit test for the regression.
2026-07-07 15:27:21 +02:00
Joseph and GitHub
54ac71cdb8
docs: updates to Cache Components Caching ( #95452 )
...
- Questions kept coming up about where `use cache` results actually
live, and how static shells, App Shells, and ISR relate
- the answers were spread across several pages, but not tied together on
the getting-started guide
- The runtime prefetching example also implied cookie data needs
`allow-runtime`, when the App Shell already carries session data
- `allow-runtime` is really about URL data.
**Changes** (`docs/app/getting-started/caching`)
- Reworked the Usage intro to lead with the cache lifetime concept and
hand off to Prerendering
- Added a **Where cached content is stored** section: server cache,
remote handler, and browser, framed around a cached result being a
serialized payload that travels to each.
- > if I had time to make it shorter, I would...
- We will most likely have a visual aid there and trim it down
- Added a static shell ↔ App Shell explanation in Prerendering, and a
short Incremental Static Regeneration pointer to the ISR guide
- Corrected the runtime prefetching section to the URL-data model
(`searchParams`/`params`)
- replaced the cookie example with a `/search` one that actually needs
`allow-runtime`.
- `catchError` (stabilized).
- Cross-linked `stale`/`revalidate`/`expire` to `cacheLife`
- reviewed and fixed the code-block highlights.
2026-07-07 01:58:46 +02:00
Joseph and GitHub
0d4df38b02
fix: handle prototype-colliding segment names in segment explorer trie ( #95403 )
...
Fixes: https://github.com/vercel/next.js/issues/95395
```console
let x = {}
x['constructor']; // function
x['toString']; // function
x = Object.create(null);
x['constructor']; // undefined
x['toString'] // undefined
```
2026-07-02 14:35:51 +02:00
Joseph and GitHub
b3118fca9f
docs: recommend explicit cacheLife and clarify overriding built-in cache profiles ( #95311 )
...
- Lead use cache Revalidation with explicit cacheLife; split into
Time-based and On-demand.
- Recommend cacheLife in every use cache scope; drop "optional."
- Reorder cacheLife reference: Overriding before Custom; reword both.
- Document that overrides reach the generated cacheLife type signature.
- Add the override option to the config reference and migration guide.
2026-07-01 15:09:01 +02:00
Joseph and GitHub
c5b8ea437d
Instant Navs guide: Highlights fixes and Client Component Page option ( #95313 )
...
- Fix/adjust a few code highlights
- Section about `use client` as a fix for soft-nav instant insights
2026-07-01 11:32:08 +02:00
c77d47fc99
docs: Activity bfcacheId and :has caveats ( #95275 )
...
- x-ref to `bfcacheId`
- add a section on `:has`
---------
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
2026-07-01 10:49:04 +02:00
Joseph and GitHub
c3bf2a395a
fix: preserve repeated search params in client page segment cache keys ( #94863 )
...
Fixes : #94821 , #92787 , #93104
Using `Object.fromEntries` on URLSearchParams, drops repeated keys.
```js
const s = '?foo=bar&foo=baz'
Object.fromEntries(new URLSearchParams(s)) // { foo: 'baz' }
```
There's already a function, `urlSearchParamsToParsedUrlQuery`, which
handles this case.
https://github.com/vercel/next.js/blob/40296fe53f40ffe6a0e2184879bd5e294d271ce4/packages/next/src/client/route-params.ts#L235
```js
urlSearchParamsToParsedUrlQuery(new URLSearchParams(s)) // { foo: ['bar', 'baz'] }
```
- [x] The e2e off one of the issue reports, I'll try to simplify it.
2026-06-29 13:54:29 +02:00
Joseph and GitHub
ad292fb330
docs: update instant navs guide ( #95173 )
...
Narrowing down a few confusion items, and adding screenshots for the nav
inspector.
2026-06-25 21:58:07 +00:00
b0dde9cf27
docs: expand io reference ( #95147 )
...
Rewrites the `io()` API reference around what it expresses: with Cache
Components `await io()` keeps the operation that follow afterward out of
the static shell.
Adds Server/Client usage examples and a composition note, a "When you
don't need `io()`" section, and reframes the `connection()` comparison
around prefetching.
---------
Co-authored-by: Aurora Scharff <[email protected] >
Co-authored-by: Aurora Scharff <[email protected] >
2026-06-25 17:39:36 +02:00
Joseph and GitHub
acd7610f24
docs: server actions guide x-refs ( #95143 )
...
Before this guide existed, often we linked, incorrectly, to
mutating-data. Also adding more related links pointing to this guide.
2026-06-24 23:50:11 +00:00
Joseph and GitHub
7f271d14a1
docs(root-params): generateStaticParams section and CC requirement ( #95073 )
...
Clarify `root-params` w/ gSP
- Required with CC, otherwise optional
2026-06-24 22:57:01 +02:00
Joseph and GitHub
dd08c0c22f
Docs/partial prefetching ( #94855 )
...
## Summary
- `prefetch.mdx`: corrections, disambiguation and TS signature update
- `runtime-prefetching.mdx`: App Shells section corrections
- `instant-navigation.mdx`: DevTools section re-aligned (mpa/spa split,
panel labels, cold-cache indicator)
- x-refs
## TODO
- [x] `partialPrefetching.mdx` API reference with the three levels of
prefetch
- [x] runtime prefetching journey
2026-06-24 16:31:54 +02:00
Joseph and GitHub
6df3f236a7
docs(caching): clarify generateStaticParams prebuild and recommend max for CMS ( #95081 )
...
The caching guide and ISR without CC, did not reference, nor mention,
generateStaticParams.
Additionally, we have learned that agents do use `max` for CMS content
and such, but not as often as we'd like. The default cache life time,
has a revalidate of 15 minutes, which for content that changes rarely,
is too often. Note that `max` is defined as the life time for that case.
We could do a further expansion that, the 30 days is enough because
managed hosting likely evicts the generated asset after 30 days anyway,
and that maybe self-host can use longer revalidate too, and that way
have a discoverability path for defining a custom profile.
2026-06-23 22:51:48 +02:00
Joseph and GitHub
0ef205e72b
docs: Cache components requires Node.js runtime ( #94897 )
2026-06-22 16:29:24 +02:00
Joseph and GitHub
ee6cef2eee
docs: GtK, caching with fetch is opt-in - extended to any method or header included ( #94899 )
...
Once and for all, a note for LLMs and readers, fetch cache is opt-in.
You can cache a POST request, for example a GraphQL request that uses a
Bearer token to access the graph, can be cached.
Training data, and human cognitive association to v13's caching default,
seem to add noise here, let's be more authoritative.
2026-06-18 15:50:14 +02:00
Joseph and GitHub
21a1eafbab
docs: server actions guide ( #93553 )
...
Let's centralize our Server Actions education into a guide
2026-06-17 18:52:08 +02:00
Joseph and GitHub
027b3d0a9d
docs: Route Handlers to be supported later on ( #94705 )
...
I noticed the Restrictions section doesn't explicitly mention Route
Handlers. It is only mentioned in a good to know. However, this is a
temporary restriction.
2026-06-15 08:52:13 +02:00
Joseph and GitHub
3483249397
docs: document non-streamed bot rendering and Cache Components ( #94605 )
...
Bots get to see the fully formed HTML page - and hit the server, rather
than receiving a static shell from PPR.
2026-06-12 14:03:43 +02:00
Joseph and GitHub
40d08d6630
docs: expand the Cache Components migration guide ( #94649 )
...
Continuation of - https://github.com/vercel/next.js/pull/92382
### What?
Adds a `generateStaticParams` section to [Migrating to Cache
Components](https://nextjs.org/docs/app/guides/migrating-to-cache-components ).
### Why?
Developers migrating dynamic routes (for example blogs with `[slug]`)
had no guidance in that guide for how `generateStaticParams` behaves
with Cache Components, why `next build` can show ◐ instead of ○, or that
`return []` becomes a build error.
### How?
- Link to `generateStaticParams` with Cache Components, dynamic routes
with Cache Components, and the `empty-generate-static-params` message
doc instead of duplicating full behavior.
- Before/after example: empty array vs at least one sample param.
- Short note on ◐ (Partial Prerender) with links to the public pages PPR
section and glossary.
Related: https://github.com/vercel/next.js/pull/92507
2026-06-11 17:09:44 +02:00
Joseph and GitHub
0d49fafbea
docs: next/root-params references on i18n guide ( #94629 )
...
x-ref to next/root-params from the i18n guide
2026-06-10 18:20:59 +02:00
0553b34542
doc: instant navs runtime story ( #93204 )
...
- changes getting started -> caching
- new guide for instant navs
- new guide for runtime-prefetching (most pending stuff is here)
- x-refs between docs
- App Shell mentions in other docs (ISR w/ CC)
---------
Co-authored-by: Aurora Scharff <[email protected] >
Co-authored-by: Aurora Scharff <[email protected] >
2026-06-09 21:46:59 +00:00
Joseph and GitHub
9e4d718de4
docs: root-params highligth fixes ( #94620 )
...
Once again, reformatting broke the highlights
2026-06-09 20:10:27 +00:00
Joseph and GitHub
9cde916966
docs: clarify use cache persistence across deploys ( #93554 )
...
Clarify caching directives non-persistence across deploys.
- [x] reinforce that in serverless deploys, the `use cache` directive
doesn't persist between requests/different instances either
2026-06-08 21:04:04 +00:00
Joseph and GitHub
169ed2fd69
chore: reword cacheComponents jsDoc to lead with partial prerendering ( #94474 )
...
Reapplying: https://github.com/vercel/next.js/pull/85274
2026-06-05 15:52:50 +02:00
Joseph and GitHub
ff767a7237
docs: typos and errors outside docs, error, examples folders ( #94472 )
...
Net pass over markdown files outside docs, examples and errors.
2026-06-05 13:15:42 +02:00
Joseph and GitHub
2442dc0b70
docs: cached functions from the client ( #94301 )
...
It is possible to call cached functions from the client, under a couple
of conditions.
Rather than introducing this as a pattern now, let's start with a
callout.
Similarly (extending) Server Functions, the client only sees a
reference, no implementation details leak.
2026-06-02 17:32:42 +02:00
Joseph and GitHub
d3cd368181
docs: update draftMode guide ( #94155 )
...
Reframes the Draft Mode guide so the headline is "every Next.js cache
layer is bypassed for the request," not "switch to dynamic rendering."
The previous guide led with an `isEnabled` fork in `getData()`, which
implied users have to branch their fetch code to make caching step
aside. They don't.
Changes:
- Intro lists the bypassed layers (`fetch` cache, `'use cache'`,
`unstable_cache`, ISR response cache).
- Step 3 fetches from a single endpoint with no `isEnabled` branch.
- New Step 4 shows a preview banner + disable handler, which is where
`isEnabled` is actually useful.
- The "Cache Components" example uses `isEnabled` for a UI indicator
instead of branching the fetch URL.
- Two-URL fork demoted to a final section for CMSs that genuinely need
it.
2026-06-02 17:29:47 +02:00
044e25ac20
doc: clarify rewrites execution order ( #93765 )
...
Rework the execution order of rewrites.
- before and after Files execution is now clearer - when a source
matches and how the destination resolves
- explicit `dynamic routes` step (similar to Proxy's,
https://nextjs.org/docs/app/api-reference/file-conventions/proxy#execution-order )
---------
Co-authored-by: JJ Kasper <[email protected] >
2026-06-02 17:28:14 +02:00
Joseph and GitHub
867227352b
chore: lint-language output only warnings and errors ( #94261 )
...
The lint-language script is too verbose, it prints "no issues found" for
all files it touches.
2026-06-02 10:07:28 +02:00
Joseph and GitHub
bc384860d5
docs: accuracy and pappercuts ( #94299 )
...
Exhaustive pass over the guides and getting started using audit-docs
skill.
2026-06-01 22:28:44 +02:00
Joseph and GitHub
13847b2e9f
docs: bodySizeLimit measures raw HTTP body ( #94137 )
...
Started from https://github.com/vercel/next.js/discussions/93989
Noticed we even have a test helper to account for overhead:
https://github.com/vercel/next.js/blob/fa4c0def823447e75366153690abeda79c7c4ec2/test/e2e/app-dir/actions/account-for-overhead.js#L1-L11
Let's document that the flag controls the raw http body size, overhead +
data
2026-06-01 13:42:09 +02:00
Joseph and GitHub
daf10c3712
docs: move isr cacheHandler callout to next steps ( #94167 )
...
Move the ISR cacheHandler callout to next steps...
2026-05-27 21:43:11 +02:00
Joseph and GitHub
ae76532c46
docs: transpilePackages usage ( #93602 )
...
I've seen people asking about `transpilePackages` before, and now we
got: https://github.com/vercel/next.js/discussions/93542
This PR attempt to make its usage clearer.
2026-05-27 19:22:17 +02:00
Joseph and GitHub
fa4c0def82
docs: ISR w/ Cache Components - experimental.partialFallbacks ( #93299 )
...
Continuation of: https://github.com/vercel/next.js/pull/92619
Completing the ISR with Cache Components story.
- [x] mention to cacheHandler and cacheHandlers - these work fine
together (aka with cacheComponents activated)
- [x] prefetch behavior - background revalidation
- [x] link to demo app
- [x] update version history in partialFallbacks config
- [x] align with partialFallbacks config flag removal
Closes: https://github.com/vercel/next.js/issues/91951
2026-05-27 00:41:22 +02:00
Joseph and GitHub
5795d6594a
docs: add next/root-params API reference ( #93764 )
...
Continuation of: https://github.com/vercel/next.js/pull/82244
Closes:
https://linear.app/vercel/issue/DOC-4924/nextroot-params-documentation
## TODO
- [x] adjust code snippets
- [x] wait for a couple more features to land (type safety support)
- [x] Route Handlers
- [x] Supported inside generateStaticParams for nested segments
- [x] x-ref for discoverability
- [x] enabled/available without a flag - the experimental flag has been
removed
2026-05-27 00:41:01 +02:00
Joseph and GitHub
dc3a7ebf6e
docs: rework dynamic segments intro section ( #94126 )
...
We don't refer to these as `path params` anymore, rather called them
`dynamic segments`, which causes a drop-off when people search for
"nextjs path params".
While looking at this, I also noticed that we don't really mention what
a segment, people don't know this necessarily.
We'll have to come back to this point later on because, params are just
placeholders, the dynamic qualifier is too broad, dynamic at build and
runtime is what we mean today, but arguably params known via
generateStaticParams, are no longer dynamic params, they are known set
of params.
2026-05-26 18:15:53 +02:00
Joseph and GitHub
3da1803241
docs: vocabulary-bridge rule for api-ref and guide skills ( #94127 )
...
Update skills to consider bridging new terminology to keywords used in
Pages Router, or other parts of URL/HTML spec, etc.
2026-05-26 18:12:06 +02:00
Joseph and GitHub
a937e1c7ad
docs: less aggressive AI agent hint for an experimental API ( #93814 )
...
Applying https://github.com/vercel/next.js/pull/93811
2026-05-13 10:59:50 +02:00
Joseph and GitHub
9f3d868062
docs: devIndicators with usage example ( #93784 )
...
The devIndicator page doesn't really show that this is used in
next.config.js - in isolation an agent might not infer the right usage.
2026-05-12 11:02:46 +02:00
Joseph and GitHub
63cd4233b4
docs: clarify cacheTag limit - it is per call ( #93768 )
...
x-ref: https://vercel.slack.com/archives/C03S8ED1DKM/p1778515581719889
2026-05-11 23:19:03 +00:00
Joseph and GitHub
0b8a0fb429
docs: escape literal triple-backticks in contribution guide ( #93584 )
...
Updates:
https://nextjs.org/docs/community/contribution-guide#language-and-filename
to:
<img width="1335" height="690" alt="Screenshot 2026-05-07 at 14 26 35"
src="https://github.com/user-attachments/assets/588799a3-1a0e-4696-9600-627df270f48e "
/>
2026-05-07 14:46:44 +02:00
Joseph and GitHub
506e5ac110
docs: broken link from usePathname compat call out ( #93528 )
...
The compatibility section in `usePathname` used a broken link - in the
sense that it links to the wrong page.
2026-05-06 10:53:03 +02:00
Joseph and GitHub
8f68464f9a
docs: remove unreachable forms and mutations ( #93509 )
...
Remove
/02-pages/03-building-your-application/03-data-fetching/03-forms-and-mutations.mdx
- which is not reachable from the site, because it has been replaced by
the https://nextjs.org/docs/pages/guides/forms guide.
2026-05-06 09:34:01 +02:00
Joseph and GitHub
acb41ed606
docs: clarify rendering flow in Server/Client interleaving example ( #93381 )
...
follow up to: https://github.com/vercel/next.js/pull/93374
2026-04-30 12:03:27 +00:00
Joseph and GitHub
fb06f5f389
example: remove with-supertokens ( #93212 )
...
Retaking the example clean up cycle.
2026-04-24 22:02:27 +02:00
Joseph and GitHub
3f06973bc9
chore: remote apps/docs ( #93041 )
...
We are moving on a different direction here. Removing this app for now.
2026-04-20 11:06:20 -07:00
Joseph and GitHub
8292880874
docs: amends to preserving-ui-state guide ( #92270 )
...
Still drafting this one. We want to show good patterns, and effects are
often a last resource. We favor here resetting in an event handler.
2026-04-18 00:35:37 +02:00
Joseph and GitHub
845485a986
docs: restructure instant nav guide for clarity ( #92684 )
...
Reordered DevTools section, improved code examples and db queries, added
component breakdowns in the fix section, editorial improvements
throughout.
2026-04-16 00:26:26 +02:00
Joseph and GitHub
ab4ec43a7b
docs: draftMode alignment ( #92794 )
...
Closes:
https://linear.app/vercel/issue/DOC-6291/draftmode-disables-cached-scopes-etc
2026-04-15 11:06:06 +02:00
db0fdc30f6
docs(cli): clarify that --debug-build-paths requires route group folders in paths ( #92618 )
...
<!-- CURSOR_AGENT_PR_BODY_BEGIN -->
### What?
Adds a note to the `--debug-build-paths` section of the CLI docs
clarifying that [route
groups](https://nextjs.org/docs/app/building-your-application/routing/route-groups )
must be included in file paths.
### Why?
When using `--debug-build-paths`, users need to include route group
folders (e.g., `(marketing)`) in the file paths they pass. This isn't
obvious from the existing documentation — route groups are stripped from
URLs at runtime but must be present in file paths for this CLI option to
work correctly.
Addresses feedback from a docs comment noting that "Route groups are
also necessary, should be inferred from file paths, but it is not
straightforward from reading this."
### How?
Added a "Good to know" callout with an example showing how to reference
a page inside a route group:
```bash
next build --debug-build-paths="app/(marketing)/about/page.tsx"
```
<!-- NEXT_JS_LLM_PR -->
<!-- CURSOR_AGENT_PR_BODY_END -->
[Slack
Thread](https://vercel.slack.com/archives/C07ND110MMF/p1775828588791049?thread_ts=1775828588.791049&cid=C07ND110MMF )
<div><a
href="https://cursor.com/agents/bc-3a58eac7-35a3-56ab-aff2-f4cf2dd1ca9b "><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/assets/images/open-in-web-dark.png "><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/assets/images/open-in-web-light.png "><img
alt="Open in Web" width="114" height="28"
src="https://cursor.com/assets/images/open-in-web-dark.png "></picture></a> <a
href="https://cursor.com/background-agent?bcId=bc-3a58eac7-35a3-56ab-aff2-f4cf2dd1ca9b "><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/assets/images/open-in-cursor-dark.png "><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/assets/images/open-in-cursor-light.png "><img
alt="Open in Cursor" width="131" height="28"
src="https://cursor.com/assets/images/open-in-cursor-dark.png "></picture></a> </div>
---------
Co-authored-by: Cursor Agent <[email protected] >
Co-authored-by: Joseph <[email protected] >
2026-04-12 14:13:46 +02:00
Joseph and GitHub
c249ea94b0
docs: native db drivers with sync queries ( #92572 )
...
Closes: https://github.com/vercel/next.js/issues/86379
A native db driver, or sync db driver, won't be detected as external
data, rather, as sync I/O.
Main motivation is that better-sqlit3 is popular, and Node.js has
introduced a native sql driver module.
Given no other uncached data, or runtime data access, these queries
would be included in the static shell. Wrapping with Suspense is not
sufficient.
2026-04-09 18:51:10 +02:00
Joseph and GitHub
9f8d671bc4
docs: instant-navs draft, samples for build validation ( #91850 )
...
Build validation requires samples. In this case, specifically for when
params are used.
2026-04-08 12:11:47 +02:00
b9a14768a2
docs: clarify that proxy/middleware matches static assets by default ( #92441 )
...
<!-- CURSOR_AGENT_PR_BODY_BEGIN -->
### What?
Adds an explicit note about Proxy's default matching behavior at the top
of the **Matcher** section in the Proxy API reference — the first place
users look when configuring which paths Proxy runs on.
### Why?
Users have reported issues where Tailwind styles and other static assets
fail to load because their Proxy auth logic intercepts `_next/static`
requests and redirects them (see #92435 ). The existing docs mention that
Proxy runs on "every route" but don't explicitly call out static assets,
image optimizations, or public folder files — making this a common
pitfall that gets misdiagnosed as a CSS/PostCSS problem.
### How?
Added an inline paragraph at the top of the **Matcher** subsection
explaining that without a `matcher`, Proxy matches every request —
including `_next/static`, `_next/image`, and `public/` files — and that
this can break asset loading. Links to the existing Negative matching
section.
Fixes #92435
<!-- NEXT_JS_LLM_PR -->
<!-- CURSOR_AGENT_PR_BODY_END -->
[Slack
Thread](https://vercel.slack.com/archives/C0AA1U29GQ0/p1775539745696779?thread_ts=1775539745.696779&cid=C0AA1U29GQ0 )
<div><a
href="https://cursor.com/agents/bc-263e5d8f-e356-5e3a-a247-856d00a78af4 "><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/assets/images/open-in-web-dark.png "><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/assets/images/open-in-web-light.png "><img
alt="Open in Web" width="114" height="28"
src="https://cursor.com/assets/images/open-in-web-dark.png "></picture></a> <a
href="https://cursor.com/background-agent?bcId=bc-263e5d8f-e356-5e3a-a247-856d00a78af4 "><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/assets/images/open-in-cursor-dark.png "><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/assets/images/open-in-cursor-light.png "><img
alt="Open in Cursor" width="131" height="28"
src="https://cursor.com/assets/images/open-in-cursor-dark.png "></picture></a> </div>
---------
Co-authored-by: Cursor Agent <[email protected] >
Co-authored-by: Joseph <[email protected] >
2026-04-07 12:07:26 +02:00
Joseph and GitHub
2622a53942
docs: vt demo guide ( #92249 )
2026-04-02 17:19:49 +02:00
Joseph and GitHub
0167a02695
Docs/adapters review ( #92223 )
...
Some corrections to the adapters docs.
- The example deploy script ran `cat .next/BUILD_ID` before `pnpm
build`. Under `set -euo pipefail` that kills the script immediately
since the file doesn't exist yet. Moved the build step first.
- `resolveRoutes` requires `URL` and `Headers` objects, not strings. The
example would cause TypeScript/runtime errors.
- Also documented the 6 return fields ~ other adapters might need to use
all of them for redirects, external rewrites, and middleware
short-circuiting.
2026-04-02 00:31:08 +02:00
Joseph and GitHub
faa4b99296
docs: local images referenced by remote source ( #92178 )
...
It was discovered that one could let a remote source, safely-ish, load
local images, which has the benefit of providing, width, height, src,
and blur-* props which we could pass to next/image.
Closes:
https://linear.app/vercel/issue/DOC-6288/local-images-referenced-by-a-remote-source
2026-04-01 18:38:39 +02:00
Joseph and GitHub
4ceb770531
docs: opengraph-image papercuts ( #92018 )
...
Follow up to https://github.com/vercel/next.js/pull/91893
2026-03-28 19:09:53 -07:00
Joseph and GitHub
04cc2f2ed2
docs: post release amends ( #91715 )
...
Fixes based on feedback post release
Fixes: https://github.com/vercel/next.js/pull/91715
2026-03-20 15:47:19 +01:00
Joseph and GitHub
bcd9c19a61
docs: Clarify ignoreBuildErrors behavior ( #91367 )
...
Just a complementary note to the TS config reference.
2026-03-18 16:54:42 +01:00
69f53fd971
docs: Streaming guide ( #90779 )
...
- [x] update links to demo
- [x] minor polishing identified by AI
- [x] update links (dep: docs-unify-caching-story)
- [x] check the implementation details vs actionable info balance
- [x] how (and when) to block streaming?
https://github.com/vercel/next.js/pull/90450
- [x] INP and the hydrate me later trick link to demo
---------
Co-authored-by: Delba de Oliveira <[email protected] >
2026-03-10 20:59:22 +01:00
Joseph and GitHub
3162af8dff
docs: More Server Actions security guidance across docs ( #90878 )
...
Closes:
https://linear.app/vercel/issue/DOC-6108/server-action-security-lift
2026-03-10 20:59:03 +01:00
Joseph and GitHub
762bff650f
fix: run lerna on a branch ( #91092 )
...
Trying to fix: `lerna ERR! ENOGIT Detached git HEAD, please checkout a
branch to choose versions.` on `set-preview-version.js`
[Slack
thread](https://vercel.slack.com/archives/C02CDC2ALJH/p1773051154649349 )
2026-03-09 13:09:47 +01:00
6155ca1722
docs: large page data error ( #90920 )
...
<!-- CURSOR_AGENT_PR_BODY_BEGIN -->
<!-- Thanks for opening a PR! Your contribution is much appreciated.
To make sure your PR is handled as smoothly as possible we request that
you follow the checklist sections below.
Choose the right checklist for the change(s) that you're making:
## For Contributors
### Improving Documentation
- Run `pnpm prettier-fix` to fix formatting issues before opening the
PR.
- Read the Docs Contribution Guide to ensure your contribution follows
the docs guidelines:
https://nextjs.org/docs/community/contribution-guide
### Fixing a bug
- Related issues linked using `fixes #number`
- Tests added. See:
https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md
### Adding a feature
- Implements an existing feature request or RFC. Make sure the feature
request has been accepted for implementation before opening a PR. (A
discussion must be opened, see
https://github.com/vercel/next.js/discussions/new?category=ideas )
- Related issues/discussions are linked using `fixes #number`
- e2e tests added
(https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs )
- Documentation added
- Telemetry added. In case of a feature if it's used or not.
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md
## For Maintainers
- Minimal description (aim for explaining to someone not on the team to
understand the PR)
- When linking to a Slack thread, you might want to share details of the
conclusion
- Link both the Linear (Fixes NEXT-xxx) and the GitHub issues
- Add review comments if necessary to explain to the reviewer the logic
behind a change
### What?
Improve the `errors/large-page-data.mdx` error page.
### Why?
The existing error page lacked clarity on the `__NEXT_DATA__` mechanism,
performance impacts, configuration options, and its applicability solely
to the Pages Router. This led to confusion, as highlighted in community
discussions:
-
https://github.com/vercel/next.js/discussions/38364#discussioncomment-3090327
-
https://github.com/vercel/next.js/discussions/60193#discussioncomment-8010640
### How?
- Added a note clarifying this warning applies only to the Pages Router.
- Explained the `__NEXT_DATA__` mechanism, why the threshold exists, and
its performance implications (page weight, hydration, memory).
- Provided actionable suggestions to reduce data size (filter, paginate,
client-side fetching).
- Documented the `experimental.largePageDataBytes` configuration option
with a `next.config.js` example.
- Included relevant external links for further reading.
Closes NEXT-
Fixes #
-->
---
[Slack
Thread](https://vercel.slack.com/archives/C08N392Q9EV/p1772698459867909?thread_ts=1772698459.867909&cid=C08N392Q9EV )
<p><a
href="https://cursor.com/agents/bc-f75e35d4-cde9-5300-8c76-b4a67c24d55f "><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/assets/images/open-in-web-dark.png "><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/assets/images/open-in-web-light.png "><img
alt="Open in Web" width="114" height="28"
src="https://cursor.com/assets/images/open-in-web-dark.png "></picture></a> <a
href="https://cursor.com/background-agent?bcId=bc-f75e35d4-cde9-5300-8c76-b4a67c24d55f "><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/assets/images/open-in-cursor-dark.png "><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/assets/images/open-in-cursor-light.png "><img
alt="Open in Cursor" width="131" height="28"
src="https://cursor.com/assets/images/open-in-cursor-dark.png "></picture></a> </p>
<!-- CURSOR_AGENT_PR_BODY_END -->
---------
Co-authored-by: Cursor Agent <[email protected] >
Co-authored-by: Joseph <[email protected] >
2026-03-07 01:53:53 +01:00
75af3bbd28
Uncached data suspense issue ( #90450 )
...
<!-- Thanks for opening a PR! Your contribution is much appreciated.
To make sure your PR is handled as smoothly as possible we request that
you follow the checklist sections below.
Choose the right checklist for the change(s) that you're making:
## For Contributors
### Improving Documentation
- Run `pnpm prettier-fix` to fix formatting issues before opening the
PR.
- Read the Docs Contribution Guide to ensure your contribution follows
the docs guidelines:
https://nextjs.org/docs/community/contribution-guide
### Fixing a bug
- Related issues linked using `fixes #number`
- Tests added. See:
https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md
### Adding a feature
- Implements an existing feature request or RFC. Make sure the feature
request has been accepted for implementation before opening a PR. (A
discussion must be opened, see
https://github.com/vercel/next.js/discussions/new?category=ideas )
- Related issues/discussions are linked using `fixes #number`
- e2e tests added
(https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs )
- Documentation added
- Telemetry added. In case of a feature if it's used or not.
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md
## For Maintainers
- Minimal description (aim for explaining to someone not on the team to
understand the PR)
- When linking to a Slack thread, you might want to share details of the
conclusion
- Link both the Linear (Fixes NEXT-xxx) and the GitHub issues
- Add review comments if necessary to explain to the reviewer the logic
behind a change
### What?
Added a new section "Opting Into Fully Dynamic Rendering" to
`errors/blocking-route.mdx`.
### Why?
To surface the "Suspense over body" pattern as a general solution for
"Uncached data or connection() was accessed outside of <Suspense>"
errors. This pattern was previously only documented in
`next-prerender-dynamic-viewport.mdx` but is relevant to all blocking
route errors, providing a clear opt-out for users who want fully dynamic
rendering without granular Suspense boundaries. This directly addresses
a common user query.
### How?
Added a new section with a code example demonstrating wrapping the root
`<html>` in `<Suspense>` within `app/layout.tsx`.
Closes NEXT-
Fixes #
-->
---
[Slack
Thread](https://vercel.slack.com/archives/C07BS1WEYAZ/p1771948980142259?thread_ts=1771948980.142259&cid=C07BS1WEYAZ )
<p><a
href="https://cursor.com/agents/bc-a1a4ed9d-03cd-4241-b057-748fbf9487a9 "><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/assets/images/open-in-web-dark.png "><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/assets/images/open-in-web-light.png "><img
alt="Open in Web" width="114" height="28"
src="https://cursor.com/assets/images/open-in-web-dark.png "></picture></a> <a
href="https://cursor.com/background-agent?bcId=bc-a1a4ed9d-03cd-4241-b057-748fbf9487a9 "><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/assets/images/open-in-cursor-dark.png "><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/assets/images/open-in-cursor-light.png "><img
alt="Open in Cursor" width="131" height="28"
src="https://cursor.com/assets/images/open-in-cursor-dark.png "></picture></a> </p>
---------
Co-authored-by: Cursor Agent <[email protected] >
Co-authored-by: Joseph <[email protected] >
2026-03-05 14:58:15 +01:00
872c01b5e6
Create next app CLI docs ( #90788 )
...
<!-- Thanks for opening a PR! Your contribution is much appreciated.
To make sure your PR is handled as smoothly as possible we request that
you follow the checklist sections below.
Choose the right checklist for the change(s) that you're making:
## For Contributors
### Improving Documentation
- Run `pnpm prettier-fix` to fix formatting issues before opening the
PR.
- Read the Docs Contribution Guide to ensure your contribution follows
the docs guidelines:
https://nextjs.org/docs/community/contribution-guide
### Fixing a bug
- Related issues linked using `fixes #number`
- Tests added. See:
https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md
### Adding a feature
- Implements an existing feature request or RFC. Make sure the feature
request has been accepted for implementation before opening a PR. (A
discussion must be opened, see
https://github.com/vercel/next.js/discussions/new?category=ideas )
- Related issues/discussions are linked using `fixes #number`
- e2e tests added
(https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs )
- Documentation added
- Telemetry added. In case of a feature if it's used or not.
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md
## For Maintainers
- Minimal description (aim for explaining to someone not on the team to
understand the PR)
- When linking to a Slack thread, you might want to share details of the
conclusion
- Link both the Linear (Fixes NEXT-xxx) and the GitHub issues
- Add review comments if necessary to explain to the reviewer the logic
behind a change
### What?
Updated `installation.mdx` and `create-next-app.mdx` documentation.
### Why?
To accurately reflect the `create-next-app` CLI's behavior regarding
`AGENTS.md` and `CLAUDE.md` file generation, and to update the displayed
default configuration.
### How?
- **`docs/01-app/01-getting-started/01-installation.mdx`**:
- Updated `--yes` flag description to mention `AGENTS.md` and
`CLAUDE.md` inclusion.
- Corrected the recommended defaults prompt to replace "Turbopack" with
"AGENTS.md".
- Added the `AGENTS.md` prompt to the customize settings section.
- **`docs/01-app/03-api-reference/06-cli/create-next-app.mdx`**:
- Added `--agents-md` flag to the options table.
- Updated recommended defaults and customize settings prompts.
Closes NEXT-
Fixes #
-->
---
[Slack
Thread](https://vercel.slack.com/archives/C07BS1WEYAZ/p1772483393984349?thread_ts=1772483393.984349&cid=C07BS1WEYAZ )
<p><a
href="https://cursor.com/agents/bc-2f6bce63-8c1b-544a-9a10-cb65f56b213d "><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/assets/images/open-in-web-dark.png "><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/assets/images/open-in-web-light.png "><img
alt="Open in Web" width="114" height="28"
src="https://cursor.com/assets/images/open-in-web-dark.png "></picture></a> <a
href="https://cursor.com/background-agent?bcId=bc-2f6bce63-8c1b-544a-9a10-cb65f56b213d "><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/assets/images/open-in-cursor-dark.png "><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/assets/images/open-in-cursor-light.png "><img
alt="Open in Cursor" width="131" height="28"
src="https://cursor.com/assets/images/open-in-cursor-dark.png "></picture></a> </p>
---------
Co-authored-by: Cursor Agent <[email protected] >
Co-authored-by: Joseph <[email protected] >
2026-03-03 09:54:10 +01:00
080e1b3c26
Accept header content negotiation ( #90607 )
...
<!-- Thanks for opening a PR! Your contribution is much appreciated.
To make sure your PR is handled as smoothly as possible we request that
you follow the checklist sections below.
Choose the right checklist for the change(s) that you're making:
## For Contributors
### Improving Documentation
- Run `pnpm prettier-fix` to fix formatting issues before opening the
PR.
- Read the Docs Contribution Guide to ensure your contribution follows
the docs guidelines:
https://nextjs.org/docs/community/contribution-guide
### Fixing a bug
- Related issues linked using `fixes #number`
- Tests added. See:
https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md
### Adding a feature
- Implements an existing feature request or RFC. Make sure the feature
request has been accepted for implementation before opening a PR. (A
discussion must be opened, see
https://github.com/vercel/next.js/discussions/new?category=ideas )
- Related issues/discussions are linked using `fixes #number`
- e2e tests added
(https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs )
- Documentation added
- Telemetry added. In case of a feature if it's used or not.
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md
## For Maintainers
- Minimal description (aim for explaining to someone not on the team to
understand the PR)
- When linking to a Slack thread, you might want to share details of the
conclusion
- Link both the Linear (Fixes NEXT-xxx) and the GitHub issues
- Add review comments if necessary to explain to the reviewer the logic
behind a change
### What?
Added a new "Content negotiation" subsection to the Backend For Frontend
(BFF) guide.
Updated the `related` links in the frontmatter of the BFF guide to
include "rewrites".
### Why?
To document how to implement content negotiation using Next.js rewrites
and Route Handlers, specifically for serving different content types
(e.g., Markdown) based on the `Accept` header. This includes explaining
the role of the `Vary: Accept` header for correct caching behavior.
### How?
A new subsection was added to
`docs/01-app/02-guides/backend-for-frontend.mdx`.
The section includes a `next.config.js` rewrite example using `has` to
match the `Accept` header.
A corresponding Route Handler example (`app/docs/md/[...slug]/route.ts`)
demonstrates serving Markdown content.
The documentation explains the `Vary: Accept` header and its
implications for caching.
The `related` links in the frontmatter were updated to point to the
rewrites documentation.
Closes NEXT-
Fixes #
-->
---
[Slack
Thread](https://vercel.slack.com/archives/C07BS1WEYAZ/p1772118031912479?thread_ts=1772118031.912479&cid=C07BS1WEYAZ )
<p><a
href="https://cursor.com/agents/bc-2c93f44d-958d-5c0b-abe0-a2b36aa76f19 "><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/assets/images/open-in-web-dark.png "><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/assets/images/open-in-web-light.png "><img
alt="Open in Web" width="114" height="28"
src="https://cursor.com/assets/images/open-in-web-dark.png "></picture></a> <a
href="https://cursor.com/background-agent?bcId=bc-2c93f44d-958d-5c0b-abe0-a2b36aa76f19 "><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/assets/images/open-in-cursor-dark.png "><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/assets/images/open-in-cursor-light.png "><img
alt="Open in Cursor" width="131" height="28"
src="https://cursor.com/assets/images/open-in-cursor-dark.png "></picture></a> </p>
---------
Co-authored-by: Cursor Agent <[email protected] >
Co-authored-by: Joseph <[email protected] >
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
2026-02-27 19:31:22 +01:00
Joseph and GitHub
7643fc9483
example: restore .next handling for with-docker examples ( #90651 )
...
- Remove BuildKit cache mount on `.next/cache` that trapped fetch cache
in a volume unreachable by the runner stage
- Restore `mkdir .next && chown` in runner stage for writable prerender
cache
- Add commented-out `COPY .next/cache` line as opt-in for persisting
build-time fetch cache
- Apply same fixes to `Dockerfile.bun` (only needed the `mkdir`/`chown`,
it never had the BuildKit mount)
Closes #90648
2026-02-27 15:23:45 +01:00
05b0690356
feat: Join guides and frame around UI preservation ( #90595 )
...
As we discussed, let's scale back how much Activity we teach and focus
on UI preservation, choice of pattern, and wrap it all with a demo where
these are implemented.
- [x] rename file
---------
Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>
2026-02-26 16:18:36 +01:00
9192de431b
docs: update with more patterns and decision based ( #90203 )
...
Adding useActionState reset pattern, and reframing some of the
recommendations as a choice.
---------
Co-authored-by: Ismael <[email protected] >
2026-02-24 19:11:23 +01:00
Joseph and GitHub
dcf11d111b
docs: clarify that next upgrade is for 16.1.x+ ( #90435 )
...
Closes: https://github.com/vercel/next.js/issues/90425
2026-02-24 17:50:03 +01:00
Joseph and GitHub
5f26a684e6
docs: rework version staleness ( #90192 )
...
Closes:
https://linear.app/vercel/issue/DOC-6144/error-page-version-staleness
2026-02-24 15:38:49 +01:00
Joseph and GitHub
b737b04638
docs: Activity boundary guide ( #89126 )
2026-02-13 16:07:38 +01:00
30dbf5ca75
docs: inline-css dev-action oriented ( #89064 )
...
Closes:
https://linear.app/vercel/issue/DOC-5722/inlinecss-unclear-large-bundles-description
---------
Co-authored-by: Allen Zhou <[email protected] >
2026-02-13 11:45:33 +01:00
Joseph and GitHub
43c9a4915a
docs: improve next/image localPatterns error page ( #89914 )
...
Align with https://nextjs.org/docs/messages/next-image-unconfigured-host
Closes:
https://linear.app/vercel/issue/DOC-5850/feedback-image-configuration-it-doesn-t-work-my-pattern-is-defined-as
2026-02-13 11:18:04 +01:00
Joseph and GitHub
02f2183d6a
docs: adapterPath amends ( #89930 )
...
- use experimental versioning
- fix spacing for graphs
- spacing in [!NOTE]
2026-02-13 00:14:00 +00:00
6627734522
docs: add deploymentId config and clarify encryption key for self-hosting ( #89795 )
...
Closes:
https://linear.app/vercel/issue/DOC-3953/encryption-keys-in-server-actions ,
https://linear.app/vercel/issue/DOC-4975/next-server-actions-encryption-key-and-deploymentid
Closes https://github.com/vercel/next.js/discussions/88327
---------
Co-authored-by: Allen Zhou <[email protected] >
2026-02-12 16:33:39 +01:00
Joseph and GitHub
c5c469926f
docs: Move browserToTerminal into logging ( #88901 )
...
`browserToTerminal` stabilizes `browserDebugInfoInTerminal` - since it
lives under logging, let's remove the page and redirect to logging w/
fragment
2026-02-12 01:08:32 +01:00
Joseph and GitHub
dc35817f9b
docs: Papercuts Feb26 ( #89484 )
2026-02-11 21:07:26 +01:00
Joseph and GitHub
18a6866676
docs: adapt lead to source path patterns ( #89392 )
...
Closes:
https://linear.app/vercel/issue/DOC-5826/feedback-documentation-i-think-there-is-some-severe-issue-with-this
2026-02-11 21:07:05 +01:00
Joseph and GitHub
d6d84be211
Remove more examples ( #89709 )
...
Removing examples that we are not using, or maintaining anymore.
2026-02-09 10:36:57 +00:00
7437fed8bf
Snippet multi package syntax ( #89381 )
...
<!-- Thanks for opening a PR! Your contribution is much appreciated.
To make sure your PR is handled as smoothly as possible we request that
you follow the checklist sections below.
Choose the right checklist for the change(s) that you're making:
## For Contributors
### Improving Documentation
- Run `pnpm prettier-fix` to fix formatting issues before opening the
PR.
- Read the Docs Contribution Guide to ensure your contribution follows
the docs guidelines:
https://nextjs.org/docs/community/contribution-guide
### Fixing a bug
- Related issues linked using `fixes #number`
- Tests added. See:
https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md
### Adding a feature
- Implements an existing feature request or RFC. Make sure the feature
request has been accepted for implementation before opening a PR. (A
discussion must be opened, see
https://github.com/vercel/next.js/discussions/new?category=ideas )
- Related issues/discussions are linked using `fixes #number`
- e2e tests added
(https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs )
- Documentation added
- Telemetry added. In case of a feature if it's used or not.
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md
## For Maintainers
- Minimal description (aim for explaining to someone not on the team to
understand the PR)
- When linking to a Slack thread, you might want to share details of the
conclusion
- Link both the Linear (Fixes NEXT-xxx) and the GitHub issues
- Add review comments if necessary to explain to the reviewer the logic
behind a change
### What?
Updated `docs/01-app/02-guides/package-bundling.mdx` to use
multi-package manager syntax for `next experimental-analyze` commands.
### Why?
To clarify the correct way to run `next experimental-analyze` with
different package managers (npx, yarn, pnpm), preventing common mistakes
like using `pnpx` instead of `pnpm next` for local binary execution.
### How?
Added `yarn next experimental-analyze` and `pnpm next
experimental-analyze` alternatives to the `npx next
experimental-analyze` code blocks in Step 1 and Step 4.
Closes NEXT-
Fixes #
-->
---
[Slack
Thread](https://vercel.slack.com/archives/C046HAU4H7F/p1770024460553639?thread_ts=1770024460.553639&cid=C046HAU4H7F )
<a
href="https://cursor.com/background-agent?bcId=bc-9b5e5ceb-78cf-5495-953e-53c04d01399c "><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/assets/images/open-in-cursor-dark.png "><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/assets/images/open-in-cursor-light.png "><img
alt="Open in Cursor" width="131" height="28"
src="https://cursor.com/assets/images/open-in-cursor-dark.png "></picture></a> <a
href="https://cursor.com/agents?id=bc-9b5e5ceb-78cf-5495-953e-53c04d01399c "><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/assets/images/open-in-web-dark.png "><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/assets/images/open-in-web-light.png "><img
alt="Open in Web" width="114" height="28"
src="https://cursor.com/assets/images/open-in-web-dark.png "></picture></a>
---------
Co-authored-by: Cursor Agent <[email protected] >
2026-02-03 01:56:05 +01:00
ab4b3726ea
fix: coerce HEAD to GET for internal images ( #84180 )
...
Fixes: https://github.com/vercel/next.js/issues/84129
TODO:
- [x] e2e test (?)
- [x] verify against repro steps in source issue
---------
Co-authored-by: Steven <[email protected] >
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
2026-01-29 15:43:18 +00:00
Joseph and GitHub
f2aa053c9f
docs: revalidatePath w/ rewrites and trailing slash ( #88956 )
...
Follow up docs change for: https://github.com/vercel/next.js/pull/88732
and https://github.com/vercel/next.js/pull/88623
2026-01-26 12:19:00 +01:00
Joseph and GitHub
0a6b9ba5b3
docs: improve clarity in cache components and server/client docs ( #88946 )
...
- Applying learnings from a recipe
- React.cache usage under a use cache scope
2026-01-26 09:51:39 +01:00
Joseph and GitHub
2b3d4f815b
docs: Server functions rename ( #86827 )
...
Closes: https://github.com/vercel/next.js/issues/86781
2026-01-23 17:09:02 +01:00
Joseph and GitHub
9b44e2f2ee
docs: fix typos and clarify examples in Cache Components guide ( #87530 )
2025-12-20 17:11:01 -05:00
Joseph and GitHub
a350c2bca5
docs: tweaks/fixes to papercuts ( #87445 )
2025-12-20 13:09:21 -08:00
ac4f404c97
docs: generateMetadata and generateViewport w/ CC ( #87218 )
...
Co-authored-by: Rich Haines <[email protected] >
2025-12-19 18:05:06 +01:00
Joseph and GitHub
b1b59346c3
docs: use cache private redo ( #87111 )
2025-12-18 21:43:23 +01:00
f6df65cb11
docs: next experimental-analyze ( #87272 )
...
Adding CLI docs for next experimental-analyze
---------
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
2025-12-18 21:41:14 +01:00
Joseph and GitHub
6cc51a3b8a
docs: dynamic routes w/ gsP ( #86402 )
2025-12-12 14:51:29 +01:00