Skip to content

chore: Sync canary#2198

Merged
amannn merged 147 commits intomainfrom
canary
Dec 29, 2025
Merged

chore: Sync canary#2198
amannn merged 147 commits intomainfrom
canary

Conversation

@amannn
Copy link
Owner

@amannn amannn commented Dec 29, 2025

Note

No functional code changes. Repository state synchronized with canary; no files modified in the diff.

Written by Cursor Bugbot for commit ac1ba91. This will update automatically on new commits. Configure here.

# Conflicts:
#	packages/next-intl/.size-limit.ts
#	packages/next-intl/__mocks__/react.tsx
#	packages/next-intl/src/navigation/shared/createSharedNavigationFns.tsx
#	packages/next-intl/src/react-server/index.test.tsx
#	packages/next-intl/src/server/react-server/RequestLocale.tsx
#	packages/next-intl/src/server/react-server/getConfig.tsx
In Next.js 15.3, [Turbopack config has become
stable](https://nextjs.org/blog/next-15-3#turbopack-configuration-in-nextconfigts-stable).
With this fix, the new option is used in order to avoid a deprecation
warning.
# Conflicts:
#	packages/next-intl/src/plugin/getNextConfig.tsx
…on APIs (#1922)

With #959, the middleware
already handled decoding of non-ASCII characters.

This allows you to define localized
[`pathnames`](https://next-intl.dev/docs/routing#pathnames) like so:

```tsx
import {defineRouting} from 'next-intl/routing';
 
export const routing = defineRouting({
  locales: ['en', 'ja'],
  defaultLocale: 'en',
  pathnames: {
    '/about': {
      'de': '/über-uns'
  }
}
```

Since Next.js automatically encodes incoming pathnames, this supports
incoming requests both for decoded pathnames (e.g. `/de/über-uns`), as
well as encoded ones (e.g. `/de/%C3%BCber-uns`).

One piece has been missing though: Pathnames returned from [navigation
APIs](https://next-intl.dev/docs/routing/navigation) should be turned
into an encoded form.

Now, `next-intl` handles this as well:

```tsx
import {Link, getPathname} from '@/i18n/navigation';

// href="/de/%C3%BCber-uns"
<Link href="/about" locale="de" />

// pathname = "/de/%C3%BCber-uns"
const pathname = getPathname({href: '/about', locale: 'de'});
```

This change brings the navigation APIs in line with [Google's
recommendation to encode non-ASCII
pathnames](https://developers.google.com/search/docs/crawling-indexing/url-structure).
amannn and others added 26 commits December 3, 2025 22:15
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
…2166)

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
# Conflicts:
#	docs/src/pages/docs/usage/extraction.mdx
…#2180)

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
@vercel
Copy link

vercel bot commented Dec 29, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
next-intl-docs Ready Ready Preview, Comment Dec 29, 2025 2:42pm
next-intl-example-app-router Ready Ready Preview, Comment Dec 29, 2025 2:42pm
next-intl-example-app-router-without-i18n-routing Ready Ready Preview, Comment Dec 29, 2025 2:42pm

@amannn amannn marked this pull request as ready for review December 29, 2025 14:40
@amannn amannn merged commit d722a65 into main Dec 29, 2025
7 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants