# What changed in @netlify/plugin-nextjs

> 23 changes in @netlify/plugin-nextjs 4 to 5 from its official release notes, upgrade guides and advisories: 1 breaking. Each one cited. Sources checked 2026-10-20. HTML: https://unstale.sh/npm/@netlify/plugin-nextjs/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @netlify/plugin-nextjs 5

### Breaking changes

- Pages router no longer prefetches the revalidation marker. (5.16.2) — [release notes](https://github.com/opennextjs/opennextjs-netlify/releases/tag/v5.16.2)

### Performance

- Indexes revalidated tags so requests no longer read one manifest per tag. (5.16.2) — [release notes](https://github.com/opennextjs/opennextjs-netlify/releases/tag/v5.16.2)
- HTMLRewriter WASM is lazy-loaded only when needed. (4.41.6, 5.15.6) — [release notes](https://github.com/opennextjs/opennextjs-netlify/releases/tag/plugin-nextjs-v4.41.6), [release notes](https://github.com/opennextjs/opennextjs-netlify/releases/tag/v5.15.6)

### Behavior and default changes

- Adds header handling for static service-worker assets. (5.16.0) — [release notes](https://github.com/opennextjs/opennextjs-netlify/releases/tag/v5.16.0)

### Fixes and other changes

- App router tags are encoded when purging cache. (5.16.3) — [release notes](https://github.com/opennextjs/opennextjs-netlify/releases/tag/v5.16.3)
- Seeds the route group cache correctly for the new cache key signature. (5.16.2) — [release notes](https://github.com/opennextjs/opennextjs-netlify/releases/tag/v5.16.2)
- Adjusts cache handler keys for compatibility with next@16.3.8. (5.16.1) — [release notes](https://github.com/opennextjs/opennextjs-netlify/releases/tag/v5.16.1)
- Preserves initURL. (5.16.0) — [release notes](https://github.com/opennextjs/opennextjs-netlify/releases/tag/v5.16.0)
- Awaits the Node middleware require in the generated edge handler template. (5.16.0) — [release notes](https://github.com/opennextjs/opennextjs-netlify/releases/tag/v5.16.0)
- Keeps non-ASCII blob keys consistent between build and runtime. (5.16.0) — [release notes](https://github.com/opennextjs/opennextjs-netlify/releases/tag/v5.16.0)
- Prevents crashes when server actions exceed the body size limit. (5.16.0) — [release notes](https://github.com/opennextjs/opennextjs-netlify/releases/tag/v5.16.0)
- Handles invalid _next/image requests. (5.15.13) — [release notes](https://github.com/opennextjs/opennextjs-netlify/releases/tag/v5.15.13)
- Prerendered content is marked as less stale now that the expire setting is enforced when marking content for blocking re-render. (5.15.12) — [release notes](https://github.com/opennextjs/opennextjs-netlify/releases/tag/v5.15.12)
- Fixed matching on data routes when the middleware matcher uses allowed paths. (5.15.11) — [release notes](https://github.com/opennextjs/opennextjs-netlify/releases/tag/v5.15.11)
- A cache tag is now set for getStaticProps redirects. (5.15.10) — [release notes](https://github.com/opennextjs/opennextjs-netlify/releases/tag/v5.15.10)
- Same-url rewrites are no longer optimized when response headers need to be applied. (5.15.10) — [release notes](https://github.com/opennextjs/opennextjs-netlify/releases/tag/v5.15.10)
- Handles extractExportedConstValue returning null or a wrapped object in next@canary. (5.15.9) — [release notes](https://github.com/opennextjs/opennextjs-netlify/releases/tag/v5.15.9)
- Works around tarball bundling issues with virtual CJS modules for Node.js middleware/proxy. (5.15.9) — [release notes](https://github.com/opennextjs/opennextjs-netlify/releases/tag/v5.15.9)
- Fixes resolving CommonJS when a nested package.json is present in Node Middleware/proxy. (5.15.8) — [release notes](https://github.com/opennextjs/opennextjs-netlify/releases/tag/v5.15.8)
- Cache tags provided by Next.js for the App Router are now encoded. (5.15.7) — [release notes](https://github.com/opennextjs/opennextjs-netlify/releases/tag/v5.15.7)
- Handles Next.js using cdn-cache-control for cacheable responses. (5.15.5) — [release notes](https://github.com/opennextjs/opennextjs-netlify/releases/tag/v5.15.5)

## @netlify/plugin-nextjs 4

### Fixes and other changes

- fetch is reassignable instead of const, fixing cases where reassignment is needed. (4.41.5) — [release notes](https://github.com/opennextjs/opennextjs-netlify/releases/tag/plugin-nextjs-v4.41.5)
- self is reassignable instead of const, fixing cases where reassignment is needed. (4.41.5) — [release notes](https://github.com/opennextjs/opennextjs-netlify/releases/tag/plugin-nextjs-v4.41.5)
