What
Every pnpm docs:dev boot on Next 16.3.1 prints:
⚠ The "middleware" file convention is deprecated. Please use "proxy" instead.
To migrate automatically, run:
npx @next/codemod@canary middleware-to-proxy .
Learn more: https://nextjs.org/docs/messages/middleware-to-proxy
Observed on origin/main @ 01c50322a1, on two independent boots.
apps/docs/middleware.ts is tracked and is the docs app's i18n locale negotiator
(FD_LOCALE cookie, Negotiator, i18n.languages). No apps/docs/proxy.ts exists. Next
already reports the timing under the new name — request log lines read proxy.ts: 91ms —
so the runtime has renamed the slot while the repo still spells the file the old way.
Why it may be worth a card
A deprecated file convention becomes a removed one at some Next major. The migration is a
rename plus whatever the codemod adjusts: cheap now, forced later.
It also removes a recurring warning from every docs dev boot. That is the kind of standing
noise that trains readers to skim boot output — and boot output is exactly where the
Generated AGENTS.md and CLAUDE.md line behind #10249 was sitting.
Found while working on #10249; out of that card's file surface.
Generated by Claude Code
What
Every
pnpm docs:devboot on Next16.3.1prints:Observed on
origin/main@01c50322a1, on two independent boots.apps/docs/middleware.tsis tracked and is the docs app's i18n locale negotiator(
FD_LOCALEcookie,Negotiator,i18n.languages). Noapps/docs/proxy.tsexists. Nextalready reports the timing under the new name — request log lines read
proxy.ts: 91ms—so the runtime has renamed the slot while the repo still spells the file the old way.
Why it may be worth a card
A deprecated file convention becomes a removed one at some Next major. The migration is a
rename plus whatever the codemod adjusts: cheap now, forced later.
It also removes a recurring warning from every docs dev boot. That is the kind of standing
noise that trains readers to skim boot output — and boot output is exactly where the
Generated AGENTS.md and CLAUDE.mdline behind #10249 was sitting.Found while working on #10249; out of that card's file surface.
Generated by Claude Code