NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #4761 most downloaded on npm
Internationalization (i18n) for Next.js
Last release 2 days ago
02 Oct 2026
Ships fairly regularly
a new release about every 1 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
3 versions withdrawn
withdrawn after publishing
6 years old
504 releases · first in 2020
One column per quarter.
Improvements for useExtracted ( #2431 ) ( 0454168 ) – by @amannn
Add optional @types/react peer dependency to support global virtual stores of package managers ( #2421 ) ( 8df0500 ) – by @unrevised6419
@types/react peer dependency to support global virtual stores of package managers (#2421) (8df0500) – by @unrevised6419Emit source ranges for useTranslations key references in SWC plugin ( #2420 ) ( 5209b97 ) – by @amannn
Avoid reading the pathname in useRouter and Link to work better with Cache Components ( #2415 ) ( ed97a92 ) – by @amannn
Improve base path detection for setting a cookie ( #2410 ) ( f04681d ) – by @soroush5
Keep $ patterns in route param values literally ( #2406 ) ( a97b35e ) – by @soroush5
Allow @eloqnt/* patches to resolve by moving to ^0.1.0 ranges ( #2398 ) ( 4d18120 ) – by @amannn
Unbreak experimental.messages without a messages.sourceLocale ( #2395 ) ( 67fca94 ) – by @amannn
useExtracted improvements ( #2346 ) ( 4ccf3b8 ) – by @amannn
Pin @swc/core to a range that is compatible with the extractor plugin ( #2389 ) ( a37d8aa ) – by @amannn
Deprecate requestLocale param of getRequestConfig ( #2380 ) ( ae770af ) – by @amannn
Deprecate setRequestLocale and add blog post on next/root-params ( #1632 ) – by @amannn
setRequestLocale and add blog post on next/root-params (#1632) – by @amannnAvoid usePathname() reads for non-locale-switching links, avoiding unnecessary <Suspense> wrappers with partial prefetching ( #2362 ) ( 82de47f ) – by
usePathname() reads for non-locale-switching links, avoiding unnecessary <Suspense> wrappers with partial prefetching (#2362) (82de47f) – by @ceolinwillNext.js 16.3 compatibility preparation (only update locale cookie for document requests and not prefetches) ( #2355 ) ( 0555ace ) – by @amannn
Correctly format plural/select branches that are only # or empty ( #2356 ) ( cc34d9a ) – by @spokodev
Handle ICU escape sequences around < consistently in dev and production ( #2352 ) ( 4025d1f ) – by @amannn
Use URL-safe base64 for auto-generated message keys of useExtracted ( #2330 ) ( a003d3a ) – by @spokodev
Improvements for useExtracted ( #2316 ) ( bff2f96 ) – by @amannn
Revert x-forwarded-host redirect domain change ( #2322 ) ( eb3a6a4 ) – by @amannn
Avoid watchers for detached telemetry process (#2319) (ff77a3d) – by @amannn
Add displayName to useFormatter (#2285) (3666aa8) – by @roderickhsiao
Set redirect domain if x-forwarded-host header exists (#2281) (70d35db) – by @FourwingsY
Add per-domain localePrefix override support (#2273) (3e9febf) – by @frankmatheron
Prototype safety guards for precompile: true (#2307) (c0bf0ee) – by @amannn
Improve middleware pathname validation (#2304) (1c80b66) – by @amannn
Support transitionTypes on Link (#2302) (02811f5) – by @amannn
Remove TypeScript peer dependency and update examples to TypeScript v6 (#2293) (5e7bcd7) – by @wojtekmaj
Update @formatjs/intl-localematcher (#2265) (196f1f3) – by @amannn
Avoid throwing config errors for non-Next.js consumers of next.config.ts (#2245) (f57800e) – by @amannn
Fix precompile alias on Windows (#2237) (8e7151a) – by @amannn
Ahead-of-time compilation for messages (#2220) (02149c1) – by @amannn
Improvements for useExtracted (#2200) (ebc5e43) – by @amannn
Improvements for useExtracted (#2176) (3937e44) – by @amannn
Custom formats for useExtracted, consistency fixes for file references, pruning of messages and sorting of keys (#2155) (c02818e) – by @amannn
Improvements for useExtracted (#2152) (9b7c9fe) – by @amannn
Skip accept-language parsing when locale cookie is already present (#2143) (0d1331b), closes #2116 – by @lxup
Improvements for useExtracted (#2133) (5397c49) – by @amannn
Move SWC cache to node_modules (#2120) (0ba9105) – by @amannn
Move AST transformer of useExtracted to SWC plugin & handle source maps (#2114) (e63fbc5) – by @amannn
Fix inconsistent ordering of messages for useExtracted pt. 2 (#2103) (5cbd5da) – by @amannn
Bug fixes for useExtracted (#2099) (b1ff1fa) – by @amannn
Avoid partial matches in overlapping localized pathnames (#2090) (c276c80), closes #2089 #2089 – by @amannn
Add useExtracted (experimental) (#2080) (7a85644) – by @amannn
Next.js 16 update (#2054) (c397e92) – by @amannn
Use correct return type for getTimeZone (#2053) (bdc2af4), closes #2052 – by @amannn
Only call NextResponse.rewrite if really necessary (#2051) (43ed4aa) – by @amannn
Bump @types/react version (#2050) (c1e997e), closes #2044 #2044 – by @amannn
Prefix pathnames when switching with useRouter to another locale (#2021) (c82d0af), closes #2020 – by @amannn
Avoid double-encoding of already encoded params (#2017) (31265b4), closes #2014 – by @amannn
Avoid usePathname inconsistency in Next.js leading to a hydration error with custom prefixes, localePrefix: 'always' and static rendering (#2012) (bc9
usePathname inconsistency in Next.js leading to a hydration error with custom prefixes, localePrefix: 'always' and static rendering (#2012) (bc9cb62), closes #2011 vercel/next.js#73085 #1571 – by @hugotigerEnsure messages declaration continues working in next dev for upcoming next@15.5.1 (#2008) (2bf09ec) – by @amannn
Don't create messages declaration file when running next {start,info,telemetry} (#1992) (fd0722a) – by @amannn
Correctly compile messages containing escaped curly braces (e.g. '{name'}) (#1950) (4d418f4), closes #1948 – by @amannn
Add friendly error message when failing to load current Next.js version (#1945) (5021773) – by @cupofjoakim
Ensure cookie is synced before navigation with useRouter (#1947) (3ee9c4d) – by @amannn
Don't encode hashes in unknown pathnames (#1935) (65978d2) – by @amannn
Support BigInt for number interpolation with useTranslations (#1929) (a893330), closes #1928 – by @sgleisner
Encode non-ASCII characters in pathnames returned from navigation APIs (#1923) (3d23c61) – by @amannn
Add forcePrefix option for redirect and getPathname (#1865) (5905976) – by @amannn
Your coding agent can read these notes before it upgrades. Set up the MCP server →