2 min read

After releasing Next.js 7 in September last year, the team behind Next.js released the production-ready Next.js 8, yesterday. This release comes with a serverless mode, build-time memory usage reduction, prefetch performance improvements, security improvements, and more. Similar to previous releases, all the updates are backward compatible.

The following are some of the updates Next.js 8 comes with:

Serverless mode

The serverless deployment comes with various benefits including more reliability, scalability, and separation of concerns by splitting an application into smaller parts. These smaller parts are also called as lambdas. To provide these benefits of serverless deployment to Next.js users, this version comes with a serverless mode in which each page in the ‘page’ directory will be treated as a lambda. It will also come with low-level APIs for implementing serverless deployment.

Better build-time memory usage

The Next.js team, with the Webpack team, has worked towards improving the build performance and resource utilization of Next.js and Webpack. This collaboration has resulted in up to 16 times better memory usage with no degradation in performance. This improvement ensures that memory gets released much more quickly and no processes crash under stress.

Prefetch performance improvements

Next.js supports prefetching pages for faster navigation. Earlier, users were required to inject a ‘script’ tag into the document ‘body’, which caused an overhead while opening pages.

In Next.js 8, the ‘prefetch’ attribute uses link rel=”preload” instead of a ‘script’ tag. Now the prefetching start after onload to allow the browser to manage resources. In addition to removing the overhead, this version also disables prefetch on slower network connections by detecting 2G internet and navigator.connection.saveData mode.

Security improvements

In this version, a new ‘crossOrigin’ config option is introduced to ensure that all ‘script’ tags have the ‘cross-origin’ set. Also, with this new config option, you do not require ‘pages/_document.js’ to set up cross-origin in your application.

Another security improvement includes removing the inline JavaScript. In previous versions, users were required to include script-src ‘unsafe-inline’ in their policy to enable Content Security Policy. This was done because Next.js was creating an inline ‘script’ tag to pass data. In this version, the inline script tag is changed to a JSON tag for safe transfer to the client. This essentially means Next.js no longer includes no inline scripts anymore.

To read about other updates introduced in Next.js 8, check out its official announcement.

Read Next

Next.js 7, a framework for server-rendered React applications, releases with support for React context API and Webassembly

16 JavaScript frameworks developers should learn in 2019

Nuxt.js 2.0 released with a new scaffolding tool, Webpack 4 upgrade, and more!