Next.js 16 (beta) официально доступен: ранний релиз приносит стабильный Turbopack как сборщик по умолчанию, переработанную маршрутизацию и префетчинг, новые API кеширования, поддержку React Compiler и расширения для интеграций. В числе ключевых новшеств — до 2–5× более быстрые сборки и до 5–10× более быстрый Fast Refresh, файловый кеш в Turbopack, Build Adapters API (alpha), React 19.2 с View Transitions и Activity, а также изменения по умолчанию для кеша и изображения. Это бета-версия: команда призывает попробовать обновление, протестировать проекты и поделиться фидбеком до стабильного релиза.
Что нового в Next.js 16 (beta)
Turbopack — стабилен и по умолчанию
Turbopack достиг статуса production-ready как для разработки, так и для продакшн-сборок и теперь используется по умолчанию во всех новых приложениях на Next.js. По данным команды, разработчики уже отмечают 2–5× ускорение сборок и до 5–10× ускорение Fast Refresh в сравнении с прежними конфигурациями. Для проектов с глубоко кастомизированным webpack переход не обязателен — существующие настройки продолжат работать.
Файловый кеш в Turbopack (beta)
В режиме разработки Turbopack научился сохранять артефакты компиляции на диск и переиспользовать их между перезапусками, что особенно заметно ускоряет старт и пересборки в больших репозиториях. Функцию можно включить в конфигурации:
/** next.config.ts|js */
const nextConfig = {
experimental: {
turbopackFileSystemCacheForDev: true,
},
};
export default nextConfig;
Обновлённый create-next-app
Шаблон нового проекта получил упрощённый мастер настройки, современную структуру, а также лучшие практики по умолчанию: App Router как базу, TypeScript-first конфигурацию, Tailwind CSS и ESLint из коробки.
Build Adapters API (alpha)
Появился первый предварительный вариант API адаптеров сборки. Он позволяет платформам деплоя и кастомным пайплайнам подключаться к процессу build, модифицировать конфигурацию и/или обработку выходных артефактов. Пример включения собственного адаптера:
/** next.config.ts|js */
const nextConfig = {
experimental: {
adapterPath: require.resolve('./my-adapter.js'),
},
};
module.exports = nextConfig;
React Compiler — поддержка стабильна
Вслед за релизом React Compiler 1.0 его интеграция в Next.js стала стабильной. Компилятор автоматически мемоизирует компоненты, сокращая лишние перерендеры без ручной оптимизации. Опция reactCompiler выведена из статуса experimental, но по умолчанию выключена: при включении учитывайте, что сборки и dev-компиляция могут стать длиннее из‑за работы Babel.
Маршрутизация и префетчинг — быстрее «из коробки»
Полностью переработан механизм навигации и предзагрузки. Теперь:
- Выполняется дедупликация layout при префетчинге нескольких ссылок с общей раскладкой — общий слой загружается один раз вместо многократной загрузки.
- Префетчинг стал инкрементальным: подгружаются только отсутствующие в кеше части вместо целых страниц.
- Запросы отменяются при уходе ссылки из вьюпорта, приоритизируются при наведении и повторно выполняются, когда данные помечены как устаревшие.
Эти улучшения не требуют изменений кода и сокращают трафик при одновременном ускорении переходов.
Кеширование и управление данными
Точнее контроль через новые API
В Next.js 16 (beta) переработаны API для обновления кеша и инвалидации.
revalidateTag() теперь принимает второй аргумент — профиль cacheLife — для поведения stale-while-revalidate. Рекомендуемый профиль для большинства случаев — 'max':
import { revalidateTag } from 'next/cache';
// Встроенные профили
revalidateTag('blog-posts', 'max');
revalidateTag('news-feed', 'hours');
revalidateTag('analytics', 'days');
// Пользовательское время
revalidateTag('products', { revalidate: 3600 });
updateTag() — новый API только для Server Actions с семантикой read-your-writes: данные в кеше истекают и обновляются в рамках того же запроса, чтобы пользователь сразу увидел изменения.
'use server';
import { updateTag } from 'next/cache';
export async function updateUserProfile(userId, profile) {
await db.users.update(userId, profile);
updateTag(`user-${userId}`);
}
refresh() — ещё один новый API для Server Actions для обновления только некешируемых фрагментов без затрагивания кеша страницы:
'use server';
import { refresh } from 'next/cache';
export async function markNotificationAsRead(id) {
await db.notifications.markAsRead(id);
refresh();
}
React 19.2 и канареечные возможности
App Router в этой версии использует актуальный React Canary, включая React 19.2. Среди заметных функций:
- View Transitions — плавная анимация элементов при переходах и обновлениях внутри Transition.
- Activity — рендер «фоновой активности», скрывая части UI через
display: noneс сохранением состояния и корректной очисткой эффектов. - useEffectEvent() — новый механизм для безопасной работы с событиями в эффектах без ловушек замыканий.
PPR уходит в Cache Components
Экспериментальный флаг Partial Pre‑Rendering (PPR) удалён. Его возможности интегрируются в Cache Components. Начиная с Next.js 16, включение происходит через experimental.cacheComponents. Подробная документация и примеры ожидаются ближе к конференции и стабильному релизу.
Производительность и инструменты
Помимо ускорения сборки с Turbopack, улучшены команды next dev и next start. Для next.config.ts добавлена опция запуска с нативной поддержкой TypeScript в Node.js через флаг:
next dev -experimental-next-config-strip-types
next build -experimental-next-config-strip-types
next start -experimental-next-config-strip-types
Breaking changes, удаления и деприкации
В бете отмечены изменения по умолчанию и несовместимости, на которые стоит обратить внимание заранее:
- Асинхронные
paramsв маршрутах. - Новые дефолты для
next/image. - Удалены ранее помеченные как deprecated возможности; часть API переведена в статус deprecated и будет удалена в будущих релизах.
Команда готовит развёрнутое руководство по миграции к стабильной версии. Рекомендуется прогнать бета‑версию на CI, проверить ключевые сценарии рендера и работы кеша, а также поведение изображений и данных в App Router.
Как попробовать бета-версию
Доступны несколько путей установки:
# Автоматическое обновление с помощью codemod
npx @next/codemod@canary upgrade beta
# Ручное обновление
npm install next@beta react@latest react-dom@latest
# Создать новый проект на бете
npx create-next-app@beta
Если вы используете React Compiler, убедитесь, что установлен актуальный плагин и опция reactCompiler включена в конфигурации проекта.
Кому особенно стоит обновиться
Команды с крупными монорепозиториями и многостраничными интерфейсами получат максимальную выгоду от Turbopack и файлового кеша — ускорятся холодный старт, пересборки и Fast Refresh. Приложения с активной навигацией и большим количеством ссылок ощутят выигрыш от дедупликации layout и инкрементального префетчинга. Продукты с высокими требованиями к отзывчивости UI оценят React Compiler и новые API кеша с мгновенной видимостью изменений.
Обратная связь и курс на стабильный релиз
Это бета: команда просит делиться наблюдениями и баг‑репортами, чтобы успеть отловить регрессии и отполировать DX/UX до выхода стабильной версии. Чем шире покрытие реальных проектов, тем точнее будут дефолты и поведение кеша в релизе 16.0.