Next.js 15.5: Key Features, Updates, What Developers Need to Know

When I first met Next.js 15.5…
I was midway through a project—juggling client-side routes, middleware quirks, and build times that felt like watching paint dry.
Then version 15.5 dropped, and I thought:
"okay, they might’ve actually read my mind."
Turns out, they did.
What landed in Next.js 15.5 (August 18, 2025)
Here’s what stood out to me, straight from the official release:
- Turbopack production builds (beta) —
next build --turbopack
now works for production, already serving over 1.2B requests on nextjs.org. - Node.js middleware is stable — no more “edge-only” limits. Use
fs
,crypto
, and npm packages in your middleware. - TypeScript improvements — typed routes, route export validation, and global
PageProps
/LayoutProps
, plus a newnext typegen
command. next lint
is deprecated — moving forward, set up ESLint or Biome manually.next lint
disappears in v16.- Heads-up for Next.js 16 — warnings for
legacyBehavior
, AMP,Image
quality config, and local image patterns.
Why this matters for us
1. Turbopack in beta for real builds
I ran a next build --turbopack
. Still not instant, but noticeably faster. Some projects already report 2–5× speed improvements. That’s time saved on every deployment.
2. Middleware that finally feels like middleware
Need to tap into the filesystem or generate crypto-secure tokens before a page renders? Now you can. Middleware runs in a full Node.js runtime—stability unlocked.
// middleware.ts
import { NextRequest, NextResponse } from 'next/server';
export const config = {
runtime: 'nodejs', // Now stable!
};
export function middleware(request: NextRequest) {
// Access to full Node.js APIs and npm packages
const fs = require('fs');
const crypto = require('crypto');
// Complex authentication logic
const token = request.headers.get('authorization');
if (!isValidToken(token)) {
return NextResponse.redirect(new URL('/login', request.url));
}
return NextResponse.next();
}
function isValidToken(token: string | null): boolean {
// Use Node.js crypto for validation
// Access file system, databases, etc.
return true;
}
3. TypeScript just leveled up
Typed routes now work with both Webpack and Turbopack. Example: if you mistype <Link href="/dashboard">
, the compiler warns before you hit save. next typegen
also helps validate routes during CI.
// next.config.ts
const nextConfig = {
typedRoutes: true, // Now stable!
// Other code
};
export default nextConfig;
4. Clarity on what’s going away
No more upgrade-day headaches. You’ll see dev warnings for deprecated features so you can fix them before v16 ships.
A quick real-world example
I refactored a project with type-safe links and middleware that authenticates users using crypto-hashed tokens stored in a file.
It felt natural—not a hack. And I caught a broken route before it hit staging. Small wins that add up.
What you can do right now
- Try
--turbopack
for faster builds. - Start using Node.js middleware.
- Enable typedRoutes in
next.config.ts
. - Move to ESLint or Biome CLI (say goodbye to
next lint
). - Clean up legacy props and AMP before v16.
If you enjoy updates like these—free of hype, heavy on developer value—my newsletter breaks them down in plain English. Subscribe and stay ready for what’s next in React and Next.js.
For more informations, go to the official doc Next.js 15.5