100 Commits
Author SHA1 Message Date
JosephandGitHub b59fae0429 [fragment-scroll] Stop blurring on navigations (#96113)
Dynamic pages (all pages in dev), blur and select the body as
`activeElement`.

- [x] e2e for https://github.com/vercel/next.js/issues/96050
- [ ] attempt a fix that prevents blur
2026-07-29 19:13:35 -04:00
JosephandGitHub 5cdcbbb05b Bump postcss to 8.5.23 (#96107)
Note that https://github.com/advisories/GHSA-6g55-p6wh-862q does not
affect Next.js users unless they build from untrusted source code (which
would have more severe security implications). We're merging this to
reduce noise from security scanners.

- 8.5.21 is 50h+ old so it can be installed
- 8.5.22 is still under 48h - valid at 2026-07-24 08:48:15 UTC 

Closes: https://github.com/vercel/next.js/issues/96349
2026-07-29 18:22:56 -04:00
JosephandGitHub 98cd1b38a8 docs(preventing-flash): cover reconciling state (#96146)
We got feedback for one case where, in dev mode, Strict Mode caused
removed the attributes added to the HTML tag by the injection script.
2026-07-29 14:05:22 -04:00
JosephandGitHub 1b92b2e943 docs: Parallel routes, conditional rendering and auth (#96351)
Closes: https://github.com/vercel/next.js/issues/71552
2026-07-29 18:01:37 +00:00
JosephandGitHub 68cfe37506 docs: remove PPR adapter page from Pages Router (#96316)
Do not mirror PPR for Pages Router, and other adjustments.
2026-07-29 10:03:49 -04:00
JosephandGitHub ad021e98d3 docs: add guide and references for experimental.useOffline (#93218)
Closes:
https://linear.app/vercel/issue/DOC-6390/useoffline-guide-and-api-ref

 - [x] release flag status: default / opt-out
 - [ ] publish repo and demo
- [x] ensure learning path is correct (basic -> w/ client hook -> server
actions)
2026-07-28 17:27:07 -04:00
JosephandGitHub 7ec73949fc docs: clarify instrumentation-client polyfill loading and hydration timing (#95988)
The `instrumentation-client` Polyfills docs recommended a conditional
dynamic `import().then()` to load a polyfill. That import is
fire-and-forget: Next.js loads this file synchronously and does not
await it before hydration, so the polyfill can install after components
have already run (see #83905).

- In "Execution timing" mention that only synchronous top-level code
completes before hydration. Call out that a conditional `import()` here
is not awaited, and cross-reference `supported-browsers` for
load-on-demand strategies and the built-in baseline.

- In **`supported-browsers.mdx`**, "fix" the `Conditionally loading
polyfills` example to `await import()` instead of a floating `.then()`,
otherwise, a reader needs to put their code within the `.then` chain of
the polyfill load.

Closes:
https://linear.app/vercel/issue/DOC-6506/revisit-polyfills-with-instrumentation-client
2026-07-28 15:44:03 -04:00
JosephandGitHub 6b572345d3 doc: typegen for typedRoutes (#96296)
`typegen` also generated the inputs needed for `typedRoutes`
2026-07-28 13:40:22 -04:00
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephGitHubTobias Koppersvercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
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
JosephandGitHub 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
JosephandGitHub cecb6f3276 docs: useSearchParams example stray link (#95759)
Link pointing back to its own section.
2026-07-14 12:03:47 +02:00
JosephandGitHub c3d1e893b7 docs: runtime prefetching update (#95564)
Sync the runtime prefetching guide with latest App Shell changes
2026-07-13 14:50:06 +02:00
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephGitHubvercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 0ef205e72b docs: Cache components requires Node.js runtime (#94897) 2026-06-22 16:29:24 +02:00
JosephandGitHub 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
JosephandGitHub 21a1eafbab docs: server actions guide (#93553)
Let's centralize our Server Actions education into a guide
2026-06-17 18:52:08 +02:00
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 9e4d718de4 docs: root-params highligth fixes (#94620)
Once again, reformatting broke the highlights
2026-06-09 20:10:27 +00:00
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub fb06f5f389 example: remove with-supertokens (#93212)
Retaking the example clean up cycle.
2026-04-24 22:02:27 +02:00
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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>&nbsp;<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>&nbsp;</div>

---------

Co-authored-by: Cursor Agent <[email protected]>
Co-authored-by: Joseph <[email protected]>
2026-04-12 14:13:46 +02:00
JosephandGitHub 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
JosephandGitHub 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>&nbsp;<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>&nbsp;</div>

---------

Co-authored-by: Cursor Agent <[email protected]>
Co-authored-by: Joseph <[email protected]>
2026-04-07 12:07:26 +02:00
JosephandGitHub 2622a53942 docs: vt demo guide (#92249) 2026-04-02 17:19:49 +02:00
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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>&nbsp;<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>&nbsp;</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>&nbsp;<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>&nbsp;</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>&nbsp;<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>&nbsp;</p>

---------

Co-authored-by: Cursor Agent <[email protected]>
Co-authored-by: Joseph <[email protected]>
2026-03-03 09:54:10 +01:00
JosephGitHubCursor AgentJosephvercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
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>&nbsp;<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>&nbsp;</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
JosephandGitHub 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
JosephGitHubVercel <vercel[bot]@users.noreply.github.com>
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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub 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
JosephandGitHub dc35817f9b docs: Papercuts Feb26 (#89484) 2026-02-11 21:07:26 +01:00
JosephandGitHub 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
JosephandGitHub 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>&nbsp;<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
JosephGitHubStevenvercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
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
JosephandGitHub 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