Next.js Updates & Release Notes
107 updates curated from 2 sources by the Releasebot Team. Last updated: Sep 4, 2026
- Sep 3, 2026
- Date parsed from source:Sep 3, 2026
- First seen by Releasebot:Sep 4, 2026
How Turbopack chunks your JavaScript
Next.js ships experimental chunking controls to improve navigation performance and share code across pages.
Turbopack’s chunking speeds up page loads and enables sharing code across pages. We've shipped new experimental features to allow you to tune chunking for your website and to improve navigation performance on Next.js sites.
Original source - Aug 31, 2026
- Date parsed from source:Aug 31, 2026
- First seen by Releasebot:Aug 31, 2026
v16.3.4
Next.js fixes AVIF image optimization and key build and Turbopack bugs in a follow-up release.
Follow-up release to v16.3.3 re-enabling AVIF Image Optimization (#97949).
The following bug fixes have been backported. It does not include all pending features/changes on canary.
Credits
Huge thanks to @eps1lon, @mischnic, and @timneutkens for helping!
- testmode: Fix infinite recursion in testmode passthrough fetch (#97691)
- Fix build error when aliasing typescript to @typescript/typescript6 (#97997)
- Fix unset crossOrigin in Turbopack manifests (#97930)
All of your release notes in one feed
Join Releasebot and get updates from Vercel and hundreds of other software products.
- Aug 31, 2026
- Date parsed from source:Aug 31, 2026
- First seen by Releasebot:Aug 31, 2026
v15.5.25
Next.js re-enables AVIF image optimization in a follow-up release for newer sharp versions.
Follow-up release to v15.5.24 re-enabling AVIF Image Optimization when newer versions of sharp are installed (#97954).
Original source - Aug 25, 2026
- Date parsed from source:Aug 25, 2026
- First seen by Releasebot:Aug 25, 2026
- Modified by Releasebot:Aug 29, 2026
August 2026 Security Release
Next.js releases an August 2026 security update with critical vulnerability fixes for Active and Maintenance LTS users.
The August 2026 security release is now available. Upgrade to 16.3.3 (Active LTS) or 15.5.24 (Maintenance LTS) now to address two Critical severity vulnerabilities.
Original source - Aug 25, 2026
- Date parsed from source:Aug 25, 2026
- First seen by Releasebot:Aug 25, 2026
Update: August Next.js Security Release
Next.js moves its August security release to August 25, 2026 and addresses two critical vulnerabilities.
Next.js is moving the August security release forward to August 25, 2026.
- The release includes Next.js 16.3.3 and 15.5.24.
- It will address two critical severity vulnerabilities.
Similar to Next.js with recent updates:
- Claude Code updates436 release notes · Latest Sep 4, 2026
- Gemini updates407 release notes · Latest Sep 3, 2026
- Claude updates136 release notes · Latest Sep 2, 2026
- React updates32 release notes · Latest Jul 21, 2026
- Anthropic updates61 release notes · Latest Sep 1, 2026
- Gemini CLI updates163 release notes · Latest Sep 1, 2026
- Aug 25, 2026
- Date parsed from source:Aug 25, 2026
- First seen by Releasebot:Aug 25, 2026
v16.3.3
Next.js fixes critical security issues in image optimization and Windows-hosted servers.
This release contains security fixes for the following advisories:
Critical
- Unauthenticated Remote Code Execution on windows-hosted servers
- Unauthenticated Remote Code Execution in Image Optimization API when AVIF files are used
- Aug 25, 2026
- Date parsed from source:Aug 25, 2026
- First seen by Releasebot:Aug 25, 2026
v15.5.24
Next.js releases security fixes for critical remote code execution vulnerabilities in Windows-hosted servers and Image Optimization API.
This release contains security fixes for the following advisories:
Critical
- Unauthenticated Remote Code Execution on windows-hosted servers
- Unauthenticated Remote Code Execution in Image Optimization API when AVIF files are used
- Aug 20, 2026
- Date parsed from source:Aug 20, 2026
- First seen by Releasebot:Aug 21, 2026
v16.3.2
Next.js ships a backport release focused on bug fixes, including app entry validation scoped to the app directory, a catch-all index routing fix, and Turbopack improvements for worker chunk loading, resolve request keys, and remote caching authentication.
Note
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- [backport] Scope app-entry export validation to files inside the app directory (#97357)
- [backport] Fix catch-all index page being served for every other slug (#97416)
- [16.3] Turbopack: don't trace embedded WASM loader helpers (#97353) (#97463)
- [16.3] Turbopack: retain conditions when replacing resolve request keys (#97453)
- [16.3.x] Fix Turbopack worker chunk loading with asset prefix (#97419)
- [16.3.x] Authenticate Turborepo remote caching with OIDC instead of a static PAT (#97603)
Credits
Huge thanks to @lubieowoce, @unstubbable, @timneutkens, @mischnic, and @eps1lon for helping!
Original source - August 2026
- No date parsed from source.
- First seen by Releasebot:Aug 20, 2026
Upcoming Next.js August Security Release
Next.js is preparing a security release with patches for 16.3 and 15.5 to fix a critical vulnerability.
Next.js is preparing a scheduled security release for August 26, 2026.
- The release includes patches for Next.js 16.3 and 15.5.
- It will address one critical severity vulnerability.
- Aug 18, 2026
- Date parsed from source:Aug 18, 2026
- First seen by Releasebot:Aug 18, 2026
- Modified by Releasebot:Aug 28, 2026
Building App-like Experiences with Next.js 16.3
Next.js 16.3 adds Instant Navigations, server-rendered data, optimistic updates, and live client state for app-like experiences.
Build app-like experiences with Instant Navigations, server-rendered data, optimistic updates, and live client state in Next.js 16.3.
Original source - Aug 13, 2026
- Date parsed from source:Aug 13, 2026
- First seen by Releasebot:Aug 14, 2026
v16.3.1
Next.js ships a maintenance-focused 16.3.1 update with Turbopack fixes, Next/image improvements, cache and HMR reliability upgrades, and several backported fixes for routing, SSR, and dev workflows.
[16.x] Turbopack: don't strip async-module runtime from shared runtime chunks by @lukesandberg in #96653
[16.x] [turbopack] Add turbopack_ecmascript and turbopack_wasm 's embeded FS to internal_assets_conditions by @lukesandberg in #96655
[16.x] [turbopack] Collapse nested promises in the analyzer by @sampoder in #96675
[16.x] fix(next/image): preserve image response after optimization by @styfle in #96733
[16.3.x] Default deploy e2e tests to the repo next version by @eps1lon in #96900
[backport] Bump @swc/helpers by @mischnic in #96885
[backport] [turbopack] Raise registration calls in hoisted modules to the top by @lukesandberg in #97308
[backport] Fix missing styled-jsx styles in Pages Router SSR on adapter builds by @lukesandberg in #97302
[backport] [turbopack] Fix HMR for dynamic imports evaluated from layouts by @lukesandberg in #97317
[backport] Restore the live headers() view of the incoming request by @unstubbable in #97311
[backport] Allow literal exports in 'use cache' files by @unstubbable in #97312
[backport] Keep the dev validation worker alive across HMR updates by @unstubbable in #97315
[backport] Discard only cache entries that predate a tag revalidation, and reuse completed entries by @unstubbable in #97314
[backport] Encode the cache item name built by unstable_cache by @unstubbable in #97313
[16.3] [ci] Use OIDC tokens to read private preview builds by @eps1lon in #97258
[backport] [test] Compile the middleware redirect routes up front in dev by @lukesandberg in #97328
[backport] Fix Nav Inspector request loop on repeat captures by @acdlite in #97326
[backport] Fix: Optimistic routing bugs leading to repeated prefetch loops by @acdlite in #97325
[backport] Retain fewer stale cache versions and use a TTL, plus the mtime fallback by @lukesandberg in #97304
[backport] Revert i18n localization change for dynamic Pages API routes (#94905) by @gaojude in #97330
[16.3] [ci] Use OIDC tokens to read private preview builds by @eps1lon in #97258
Full Changelog : v16.3.0...v16.3.1
Original source - Aug 6, 2026
- Date parsed from source:Aug 6, 2026
- First seen by Releasebot:Aug 9, 2026
- Modified by Releasebot:Aug 20, 2026
v15.5.23
Next.js fixes ReplyServer traversal guards in FlightClient in a 15.x update.
What's Changed
- [15.x] Port ReplyServer traversal guards to FlightClient by @eps1lon in #96405
Full Changelog: v15.5.22...v15.5.23
Original source - Aug 6, 2026
- Date parsed from source:Aug 6, 2026
- First seen by Releasebot:Aug 7, 2026
Making navigations instant in v0
Next.js 16.3 ships an instant() test helper to verify instant navigation and speed up slow routes across the app.
Next.js 16.3 ships a new
Original sourceinstant()test helper that verifies whether a navigation is instant. Using it through the next-cache-components-optimizer Skill, a coding agent wrote a failing test for each slow route in v0, applied fixes, and verified the routes, making navigations across the app instant. - Aug 3, 2026
- Date parsed from source:Aug 3, 2026
- First seen by Releasebot:Aug 5, 2026
- Modified by Releasebot:Aug 28, 2026
Next.js 16.3
Next.js 16.3 introduces Instant Navigations, faster dev servers and builds, plus improved tooling for AI agents.
Next.js 16.3 introduces Instant Navigations, a suite of tools for single-page-app responsiveness, plus a faster dev server, faster builds, and improved tooling for AI agents.
Original source - Aug 3, 2026
- Date parsed from source:Aug 3, 2026
- First seen by Releasebot:Nov 13, 2025
- Modified by Releasebot:Aug 4, 2026
v16.3.0
Next.js ships a broad release focused on Turbopack, routing, dev server, and caching improvements, with faster builds, better HMR, stronger persistence, and numerous fixes across app routes, adapters, and tooling.
Core Changes
- Update vendored lodash to 4.17.23 to fix CVE-2025-13465: #91558
- Fix invalid HTML response for route-level RSC requests in deployment adapter: #91541
- Normalize encoded dynamic placeholders in app routes: #91603
- Fix(pages-router): restore Content-Length and ETag for /_next/data/ JSON responses: #90304
- Update tokio from 1.43.0 to 1.47.3: #90945
- [turbopack] Simplify snapshotting logic: #91178
- Turbopack: enable server HMR for app route handlers: #91466
- turbo-tasks-backend: batch find_and_schedule_dirty using for_each_task_meta: #91497
- [turbopack] Use bail! instead of panic! for duplicate module ident error: #91636
- Skip loadBindings() Lightning CSS check during next start: #91538
- turbo-tasks-backend: batch schedule dirty tasks in aggregation_update: #91461
- Turbopack: Add importModule() support to webpack loaders: #89630
- turbo-persistence: fix mmap page alignment and improve error context in MetaFile::open_internal: #91640
- turbopack-css: demote recoverable CSS parse warnings to Warning severity: #91524
- feat(node-streams): add config flag, define-env, and env precedence test: #90427
- Rename /_next/webpack-hmr to /_next/hmr: #91415
- Add per-slot error attribution for instant validation using slot markers and config depth preference: #91610
- Handle encoded params further: #91627
- [turbopack] Respect {eval:true} in worker_threads constructors: #91666
- Fix missing route in otel spans without base-server: #91665
- [turbopack] Optimize compaction cpu usage: #91468
- Fix layout segment optimization: move app-page imports to server-utility transition: #91701
- Fix server actions in standalone mode with cacheComponents: #91711
- turbo-persistence: remove Unmergeable mmap advice: #91713
- turbopack: move "compact database" tracing span to backend layer: #91693
- Turbopack: lazy require metadata and handle TLA: #91705
- Fix adapter outputs for dynamic metadata routes: #91680
- Turbopack: fix webpack loader runner layer: #91727
- [turbopack] Remove incorrect debug_assert in try_read_task_cell: #91699
- Add module count field to module graph tracing spans: #91697
- turbopack-cli: add --persistent-caching flag for filesystem-backed cache: #91657
- Turbopack: pull in updated vercel/nft tests: #91651
- [turbopack] Improve regressed build speed on cross-compiled MUSL: #91477
- [Segment Bundling] [Scaffolding] Ensure inlining hint correctness: #91320
- [Segment Bundling] [Scaffolding] Track which segments can be omitted from prefetch: #91438
- Avoid deprecated TS node10 moduleResolution defaults: #91847
- [turbopack] Rebuild the docker build scripts: #91799
- Fix TS6 baseUrl deprecation for extended tsconfig: #91855
- Add next internal post-build CLI command for Turbopack database compaction: #91336
- Turbopack: Define Effect as a trait instead of a closure: #89080
- Turbopack: Implement TraceRawVcs and NonLocalValue correctly for Effects: #89133
- turbo-tasks-backend: improve print_cache_item_size instrumentation: #91742
- Turbopack: switch from base40 to base38 hash encoding (remove ~ and . from charset): #91832
- Use charCodeAt for normalizePathTrailingSlash: #91380
- Turbopack: Only patch lockfile when bindings fails to load: #91379
- [create-next-app] Skip interactive prompts when CLI flags are provided: #91840
- [devtools] Make instant navs panel draggable: #91914
- [Segment Bundling] Bundle static prefetches based on size: #91439
- turbo-tasks-backend: assert non-transient task_ids in track_modification: #91924
- fix(turbopack): preserve resolveExtensions priority in read_matches fast path: #91856
- turbopack: Remove Vc::resolve(), migrate all callsites to Vc::to_resolved(): #91725
- turbo-tasks: add hashed cell mode for hash-based change detection without cell data: #91576
- [cna] Upgrade to Biome 2.4 with Tailwind support: #86065
- [devtools] Show AggregateError.errors in the error overlay: #91835
- Narrow the opengraph-image function return type: #91893
- [experiment] Add useOffline flag with offline retry behavior: #92011
- adapters: remove unused suffix code: #91997
- [experiment] Add useOffline hook to expose offline state to userland: #92012
- [turbopack] Don't use turborepo to build the docker image: #92029
- Use RcStr directly in napi(object) structs instead of converting to String: #92014
- Rename SingleModuleReference::asset to SingleModuleReference::module: #92028
- Revert "turbo-tasks: add hashed cell mode for hash-based change detection without cell data": #92103
- [ftl] Include cause of route types: #92056
- fix: handle file:// URLs from import.meta.resolve in cache handler path (fixes #73796): #90370
- Turbopack: exclude metadata routes from server HMR: #92034
- next.config.js: Accept an option for serverFastRefresh: #91968
- TURBOPACK: support parse windows absolute path with single slash: #92076
- Enable varyParams tracking for Cached Navigations: #92113
- telemetry: set turboFlag correctly: #92149
- Instant Validation: Allow unconfigured slots to render optionally: #92126
- Turbopack: statically evaluate path.sep: #92150
- Turbopack: use same hash for immutable-static-hashes.json: #92157
- [turbopack] replace regex with indexof: #92023
- Turbopack: createRequire(new URL("...", import.meta.url)): #92153
- Add PPR evals and fix env loading for agent-eval 0.9.5: #92063
- Turbopack: support targeting even older browsers: #91563
- Add rust-fingerprint task and SCCACHE passthrough env: #92167
- Improve error message for deprecated experimental.dynamicIO config: #92081
- [turbopack] Fix CSS HMR on Safari: #92123
- simplify session dependent tasks and add TTL support: #91729
- disable bmi2 in qfilter: #92177
- Improve revalidateTag JSDoc to include guidance about required second parameter: #92176
- fix: pin 19 actions to commit SHA, extract 7 expressions to env vars: #92016
- partial fallbacks: adapter support for intermediate shells: #91902
- Turbopack: trace fs.readdir calls: #92148
- feat: add NEXT_HASH_SALT env var for content-hash filename salting: #91871
- Fix DashMap read-write self-deadlock in task_cache causing hangs: #92210
- [turbopack] use a single query parameter for cache busting: #92214
- Generate a CLI warning if using Rosetta 2 on Apple Silicon: #92220
- remove the loop from StaticSortedFile::lookup: #91688
- Add telemetry for adapterPath config usage: #92228
- Node.js streams: First pass: #90500
- fix: preserve HTTP access fallbacks during prerender recovery: #92231
- Remove unnecessary ALS re-exports from entry-base.ts: #91527
- Allow multi-level .localhost subdomains in dev origin check: #92262
- turbo-tasks-backend: stability fixes for task cancellation and error handling: #92254
- Add MCP get_compilation_issues tool and NAPI method: #92062
- Add view transitions eval (agent-043): #92260
- [turbopack] optimize RcStr parsing: #91773
- Ensure app-page reports stale ISR revalidation errors via onRequestError: #92282
- Move streamToUint8Array back to node-web-streams-helper.ts: #92263
- Revert "simplify session dependent tasks and add TTL support (#91729)": #92320
- fix: add @deprecated annotation to experimental.useCache: #92316
- Improve existing dev server error message to suggest using it: #92317
- Restart the next dev server if .next is deleted: #92135
- Update Rust toolchain to nightly-2026-04-02: #92288
- Turbopack: Remove FileSystemPath::value_to_string in favor of ValueToStringRef::to_string_ref: #92284
- [turbopack] use zero copy qfilter deserialization: #90574
- feat: add experimental.swcEnvOptions for SWC preset-env configuration: #92272
- Turbopack: Dedupe our two filesystempath extension/extension_ref functions: #92048
- turbo-tasks: replace async resolve fns with custom Future types (ResolveRawVcFuture, ResolveVcFuture, ToResolvedVcFuture): #91554
- next-core: deduplicate output assets and detect content conflicts on emit: #92292
- Handle edge runtime in places that import node:stream: #92354
- Fix fallback route params case in app-page handler: #91737
- use sorted inserts to improve builder performance: #91553
- Allow for parsing app route strings with and without slot names.: #92327
- fix(server-hmr): metadata routes overwrite page runtime HMR handler: #92273
- turbo-persistence: optimize file syncing: #90542
- Turbopack: Remove turbo_tasks::apply_effects, use Effects::apply instead: #91858
- Turbopack: Add a check for node version before allowing workerThreads: #91614
- turbo-persistence: skip BlockCache for uncompressed (mmap-backed) blocks: #92390
- Include more context in macOS Rosetta 2 warning message: #92436
- change the process name of builds: #92411
- turbo-persistence: pin referenced BlockCache entries to prevent eviction: #92361
- Fix styled-jsx race condition: styles lost due to concurrent rendering: #92459
- turbo-tasks: fix hashed cell mode crash on task error (re-land #91576): #92108
- Fix sst inspect tool to respect CURRENT and stale sst files: #92414
- Optimize how we track data for persistence: #89370
- [turbopack] add family name to many spans: #92415
- Route Handlers: Fix devRequestTimingInternalsEnd and Turbopack server HMR: #92271
- next-routing: middleware matching and app request URL normalization: #91859
- turbo-persistence: Use AtomicBool for is_empty() to avoid lock contention: #92481
- fix: mention params and searchParams in blocking-route error messages: #92360
- CPU prof: Write profiles to .next-profiles instead of .next/cpu-profiles: #92078
- Turbopack: Write trace file to .next-profiles: #92189
- feat: generate root params types: #91019
- fix: resolve function configs in unstable_getResponseFromNextConfig: #92501
- Node.js streams: Fork points: #92252
- Turbopack: Add --internal-trace cli flag: #92190
- Fix minimumReleaseAgeExclude for React and friends: #92535
- Add experimental unstable_io() API behind experimental.unstableIO flag: #92501
Curated by the Releasebot team
Releasebot is an aggregator of official product update announcements from hundreds of software vendors and thousands of sources.
Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.