Next.js: Instant Navigation Gets Production-Ready Testing Tools
Today we're diving into 20 merged PRs and 30 commits that are all about making Next.js faster and more reliable. The standout story is the new @next/playwright package that makes testing instant navigation a breeze, plus some massive performance wins in Turbopack's database operations. We're also seeing solid improvements to build optimization and test reliability across the board.
Duration: PT4M23S
Transcript
Hey there, amazing developers! Welcome back to another episode of the Next.js podcast. I'm your host, and wow - do we have a packed show for you today, February 25th, 2026. Grab your favorite coffee because we're diving into 20 merged pull requests and 30 additional commits that are genuinely exciting.
Let's start with today's headline story, and this one's really cool. Andrew Clark just shipped something I think you're all going to love - a brand new @next/playwright package that includes an instant navigation testing helper. Now, if you've been working with instant navigation features, you know testing them can be tricky. This new package gives you an `instant()` helper that lets your Playwright tests assert on prefetched and cached UI by deferring dynamic data during navigations. Think of it like throttling your network in DevTools, but specifically designed for testing. The package is private for now while they polish the API, but the scaffolding is all there and ready to go public when it's time.
Speaking of instant navigation, there were some solid fixes too. Andrew also tackled a sneaky bug where params were leaking into the instant navigation shell during dev mode. The fix ensures that when the instant lock is active, params suspend correctly just like cookies and search parameters do. It's one of those fixes that makes the developer experience just that much smoother.
Now, let's talk performance because Luke Sandberg has been absolutely crushing it with some Turbopack optimizations that are genuinely impressive. The first big win is making compression optional in SST files. Here's the thing - not all data compresses well, especially high-entropy hash sequences in index blocks. So instead of trying to compress everything and wasting CPU cycles, the system now uses smart heuristics to only compress data when it'll actually make things smaller. It's the same approach used by industry heavyweights like LevelDB and RocksDB.
But wait, there's more from Luke. The memory usage optimization during database compaction is honestly beautiful work. We're talking about 45% faster partial compactions and 53% faster full compactions. The secret sauce? Clearing block caches before compaction starts, using sequential memory access patterns instead of random access, and some clever heap optimization that reduces memory swapping. These aren't just incremental improvements - these are the kind of optimizations that make your builds noticeably faster.
Will Binns-Smith fixed a Pages Router issue with experimental server HMR in Turbopack. If you've been using the Pages Router and wondering why your server-side updates weren't reflecting properly, this fix clears the chunk cache correctly so your changes actually show up. It's one of those "finally!" moments.
Andrew Imm made a smart build optimization too - limiting build workers to the number of pages plus one. If you're working on smaller sites, this prevents spinning up way more workers than you actually need. It might sound small, but Andrew saved 90 milliseconds on a project with fewer static pages. Every millisecond counts when you're iterating quickly.
The testing infrastructure got some love too. We've got better error messages in image tests, Windows compatibility fixes, and smarter CI configurations. The team is clearly focused on making the development experience as smooth as possible, whether you're on macOS, Linux, or Windows.
For today's focus, I want you to think about testing. If you're working with instant navigation features, keep an eye out for that @next/playwright package going public. Start thinking about how you want to test these interactions in your apps. And if you're doing any database-heavy work with Turbopack, these performance improvements should make your builds noticeably snappier.
That's a wrap on today's episode! The Next.js team continues to impress with these thoughtful optimizations and developer experience improvements. Keep building amazing things, keep pushing those commits, and remember - every small improvement makes the whole ecosystem better for everyone. Until next time, happy coding!