BlogsVercelNext.js Framework Evolution

Next.js Framework Evolution

Next.js Framework Evolution

11
posts
2016–2026

Vercel provides comprehensive support for Next.js, continuously evolving its platform to integrate new framework versions and enhance performance. This includes optimizing for features like leaner prefetching, immutable static assets, faster routing at scale, and improved observability for Incremental Static Regeneration (ISR) and Partial Prerendering (PPR). The platform's build output API and CDN are adapted to leverage framework-specific optimizations, ensuring efficient deployment and runtime performance.

2026

Next.js 16.3 support on Vercel

8/4/2026

This post details Vercel's platform-level improvements to support Next.js 16.3's features: immutable static assets, faster routing at scale, and enhanced observability for prefetching and ISR/PPR. It explains how Vercel's CDN and build output API were updated to handle immutable static assets, reducing CDN requests and bytes transferred. It also describes optimizations to the route metadata serving layer for faster routing on large sites and introduces new observability features for prefetch requests, ISR revalidations, and Partial Prerendering (PPR).

2018

Next.js 6.1

6/27/2018

Next.js 6.1 removes `react-hot-loader` for improved hot reloading reliability and closer parity with production behavior. It introduces automatic `hot-self-accept-loader` application for custom `pageExtensions`. Codebase refactoring includes moving the build directory and renaming `.next/dist` to `.next/server`. A new `next-codemod` tool is released with an initial `url-to-withrouter` codemod to automate migration from the deprecated `url` prop to `withRouter`. Future work on Webpack 4 and serverless Next.js is highlighted.

Next.js 6 and Nextjs.org

5/16/2018

Next.js 6 release details: zero-config static exports, `_app.js` for page transitions and error handling, Babel 7 integration with JSX fragments and nested `.babelrc`, and TypeScript support. Relaunch of nextjs.org with consolidated documentation, learning resources, and a showcase.

Next.js 5.1: Faster Page Resolution

3/26/2018

Introduced a 102x speedup in page resolution by simplifying the logic based on URL path. Implemented `publicRuntimeConfig` and `serverRuntimeConfig` for environment configuration, making variables accessible on both server and client or server-only. Refactored error handling to automatically reload pages on 404 HTTP status for page bundles, improving compatibility with CDNs. Introduced phases in `next.config.js` to allow conditional configuration based on the Next.js phase (development, build, etc.). Improved production source map generation by replacing `app.js` with `main.js` to enable source maps for all files. Added new official plugins like `@zeit/next-bundle-analyzer` and improved existing CSS, Less, and Sass plugins for better hot reloading and bundling.

Next.js 5: Universal Webpack, CSS Imports, Plugins and Zones

2/5/2018

Next.js 5 refactors the codebase to make Webpack work universally for both server and client code, passing an `isServer` property to the decorator function. This enables the use of Webpack loaders for CSS, LESS, SASS, SCSS, and CSS Modules by extending the `webpack` configuration in `next.config.js` or by using `next-plugins` like `next-css`. TypeScript support is also integrated by customizing `.babelrc` or using the `next-typescript` plugin with `ts-loader`. Support for React altlibs like Preact is improved via plugins like `@zeit/next-preact`. Production source maps can be enabled by configuring `config.devtool = 'source-map'` when not in development. The 'Zones' feature allows composing multiple Next.js applications by defining rules in a `rules.json` file and using `vercel alias` to connect them under a parent domain.

2017

Towards Next.js 5: Introducing Canary Updates

11/15/2017

This post announces the availability of a canary channel for Next.js and outlines the roadmap for Next.js 5, focusing on scalability improvements for large codebases and teams. It details plans for improved compilation speed, better sourcemaps, running multiple Next.js apps on the same domain, and simpler npm component sharing. The post also introduces the canary release process and the first canary release (4.2.0-canary.1) with its specific changes and examples.

Next.js 4: React 16 and styled-jsx 2

10/9/2017

Next.js 4 release notes detailing support for React 16 and styled-jsx 2. Highlights include a 2.6x SSR performance improvement with React 16 and styled-jsx 2's ability to use dynamic styles from component scope, with performance benchmarks provided.

Next.js 3.0

8/8/2017

This post announces the stable release of Next.js 3.0, introducing two major features: Static Export Support (`next export`) for deploying projects as plain HTML/CSS files, and Dynamic Import Support leveraging TC39 dynamic import proposals. It also details `next/dynamic` for dynamically loaded React Components that support server-rendering, improved error display, and enhanced Hot Module Replacement (HMR) stability across various error scenarios including Node.js 8.0 support, navigation to errors, 404 handling, incorrect return types, and runtime errors. Performance improvements include a 5x faster bootup time for baseline apps and a 10% leaner core bundle.

Next 3.0 Preview: Static Exports and Dynamic Imports

5/15/2017

Introduced `next export` for static site generation, enabling deployment without a server. Added support for TC39 dynamic imports (`import()`) and a `next/dynamic` higher-order component to facilitate lazy loading of components. Enhanced server-side rendering capabilities to work with dynamic imports, preventing blank pages or loading spinners.

Next.js 2.0

3/27/2017

Introduced programmatic API for custom servers, enabling dynamic routing and custom caching. Mandated bringing own React and ReactDOM for version flexibility. Integrated styled-jsx for component CSS. Added `prefetch` attribute to `<Link>` for performance. Implemented scalable HMR with lazy compilation. Improved build optimizations for smaller and more efficient bundles. Enhanced extensibility through Babel and Webpack configuration. Outlined roadmap towards version 3.0 including improved HMR, faster dev compilation, lazy import support, React Fiber integration, and static exports.

2016

Next.js

10/25/2016

This post introduces Next.js, a framework for server-rendered universal JavaScript web apps built on React, Webpack, and Babel. It highlights key principles: zero setup via filesystem routing, JavaScript-only components, automatic server rendering and code splitting, developer-defined data fetching with `getInitialProps`, anticipation for performance via prefetching, and simple deployment. It also details the "Hello World" setup and the use of `glamor` for CSS-in-JS.