Next.js 15 выпущен — стабильный Turbopack, асинхронные API запросов и новые настройки кэширования

ReactNode.jsDevOps

Что произошло Next.js 15 выпущен. Основные моменты: сервер разработки Turbopack объявлен стабильным и расширен для производственных сборок, набор асинхронных API запросов и новые семантики кэширования по умолчанию (в частности, многие fetch/обработчики маршрутов по умолчанию используют no-store), встроенная поддержка и усиление функций React 19, а также дополнительные изменения безопасности Server Actions. Эти изменения поставляются на уровне фреймворка и могут повлиять на маршрутизацию, поведение кэширования, конвейеры сборки и локальные рабочие процессы разработчиков. (nextjs.org)

Почему это важно для полностековых команд

  • Скорость сборки и разработки: стабильный Turbopack для разработки значительно снижает время холодного старта и инкрементальной компиляции для крупных приложений — это хорошо для CI-петлей и продуктивности разработчиков. (nextjs.org)
  • Семантики маршрутизации и кэширования: установка более безопасного кэширования (no-store) для обработчиков маршрутов fetch/GET изменяет поведение CDN/кэша и может увеличить нагрузку на источник, если это не будет проверено. Это является нарушением поведения для команд, которые полагались на неявное кэширование. (nextjs.org)
  • Поверхность безопасности: Server Actions получают усиленные настройки по умолчанию (удаление мертвого кода неиспользуемых действий, непредсказуемые ID), изменяя способ, которым серверные функции открываются, и требуя проверки любых неявных конечных точек. (nextjs.org)
  • Совместимость: Next.js 15 совместим с React 19 и компилятором React; командам следует планировать поэтапные обновления, чтобы избежать несоответствий между фреймворком, версией React и любыми пользовательскими компиляторами/инструментами. (nextjs.org)

Немедленный контрольный список (практический, с высоким воздействием)

  1. Проведите быстрые тесты в тестовой среде

    • Выполните полное развертывание в тестовой среде и запустите синтетические пользовательские потоки, которые проверяют маршруты SSR, API/обработчики маршрутов, оптимизацию изображений и промежуточное ПО. Следите за неожиданными заголовками кэша и всплесками трафика на источник. (nextjs.org)
  2. Проверьте предположения о кэшировании

    • Поиск по коду на предмет мест, которые полагались на неявное кэширование (клиентские fetch-запросы, обработчики маршрутов GET). Явно установите соответствующий Cache-Control или используйте API кэширования Next.js, чтобы включить кэширование там, где это необходимо. Ожидайте, что "no-store" станет новой базовой настройкой во многих местах. (nextjs.org)
  3. Примените Turbopack в локальной разработке (путь по желанию)

    • Попробуйте next dev --turbo на представительных машинах разработчиков и CI, чтобы измерить улучшения запуска и Fast Refresh. Сохраняйте резервные копии Webpack/Vite, пока не будет подтверждено соответствие сборок и используемых вами плагинов/инструментов. (nextjs.org)
  4. Укрепите использование Server Actions

    • Рассматривайте Server Actions как публичные конечные точки: убедитесь, что проверки аутентификации/авторизации выполнены. Убедитесь, что неиспользуемые действия удалены (удаление мертвого кода на этапе сборки) и что секреты не попадают в экспортируемые серверные функции. (nextjs.org)
  5. Корректировки CI и инфраструктуры

    • Обновите кэши и сборщики CI (Turbopack вводит новое поведение кэширования). Мониторьте время сборки и размеры артефактов после переключения. Если используете кэши edge/CDN, подтвердите, что поведение заголовков соответствует ожиданиям, и обновите TTL/правила очистки. (nextjs.org)
  6. Совместимость зависимостей и времени выполнения

    • Убедитесь, что версии времени выполнения Node.js, используемые в производстве, поддерживаются сборкой и рекомендациями по времени выполнения Next.js 15. Зафиксируйте версии в CI и Dockerfile, чтобы избежать неожиданностей. Протестируйте пути для нативных модулей и процессоров изображений (sharp), указанные в релизе. (nextjs.org)

Долгосрочные действия (недели)

  • Измерьте: добавьте наблюдаемость вокруг частоты запросов к источнику, коэффициентов попадания в кэш и LCP/CLS, чтобы поймать регрессии производительности после изменений семантики кэширования.
  • Переходите постепенно: если вы полагаетесь на полные производственные сборки Turbopack, поэтапно осуществляйте миграцию и проверяйте покрытие плагинов/инструментов; Turbopack теперь стабилен для разработки и расширяется для производственных сборок.
  • Проверьте интеграции: сторонние аналитические инструменты, A/B инструменты и потоки аутентификации, которые предполагают детерминированные кэшированные ответы, могут потребовать обновления конфигурации.
  • Планируйте обновление React: согласуйте обновления версий React с окнами принятия Next.js 15, чтобы воспользоваться улучшениями компилятора и рендеринга без нарушения поведения клиента.

Итог Next.js 15 — это значительный релиз фреймворка, который улучшает скорость разработки (Turbopack) и укрепляет поведение на стороне сервера, но также намеренно изменяет настройки по умолчанию для кэширования и раскрытия конечных точек. Рассматривайте это как совместный релиз для улучшения опыта разработчиков и безопасности: тестируйте в тестовой среде, проверяйте кэширование и Server Actions, и интегрируйте Turbopack в рабочие процессы разработчиков перед переключением производственных сборок. (nextjs.org)

Источник: (Примечания к релизу Next.js 15).

Источник

Читать дальше