🍿 They changed Caching AGAIN in Next.js 15


Hey friend,

Great news! I've locked in a new date for the Live Next.js Workshop ↗️. I'll be announcing some exciting updates and exclusive Next.js 15 content for the Next.js Workshop Waitlist.

​Click here to add yourself so you don't miss out ↗️​
​

🍿 Our Weekly Snack: Next.js 15 and Caching: A Paradigm Shift

Previously (Next.js 14), fetch requests automatically defaulted to caching and you had to purge your cache to opt out of caching.

Remember this?

It's the default option I'm talking about - cache: force-cache.

Next.js 15 introduces a fundamental shift: fetch requests are no longer cached by default 😳.

This empowers developers with greater control over caching strategies, but manual configuration might be required for specific use cases.

Considerations for Upgrading Applications

Upgrading from Next.js 14 to 15 could potentially disrupt applications that rely on the previous caching behaviour.

To maintain consistent behaviour, you may need to explicitly specify cache: 'force-cache' for relevant fetch requests.
​

🀫 Latest Frontend News

Tailwind CSS released a new version of `prettier-plugin-tailwindcss` this week! Now they automatically clean up unnecessary whitespace in class lists β€” huge quality of life improvement!

​You can read all about them here ↗️​

Seamlessly move data fetching between client and server in SWR ↗️​

AI News: All ChatGPT Free users can now use browse, vision, data analysis, file uploads, and GPTs 😳.

​Vercel announced it's firewall ↗️ in their Vercel ship event

​Remix is now React Router V7 🀝 The Remix team is merging Remix with React Router. This means that the features from Remix will be included in the next version of React Router (v7). Users of Remix can keep using it or switch to React Router v7 with a simple import change.

βœ… Dev Productivity Tip

β†’ To remove unused imports in VS Code:
​
Use 🍎 OPTION + Shift + O / πŸͺŸπŸ§ Shift + Alt + O

πŸ’– Weekly Youtube Videos

Check it out and subscribe to my channel ↗️ for more Frontend, Leadership and Career Development content.

Modern Authentication Tutorial with Clerk & Lucia

video preview​

Next.js 15 Crash Course
​
​

video preview​

What do you think of today's Newsletter? Simply click on one of the links below.

Ankita Kulkarni

Join 9200+ subscribers reading by weekly personalized Newsletter that helps developers level up their skills through weekly Frontend and Leadership Snacks. You get a deep dive into a Tech topic, Actionable tips to excel in your career and a toolbox!

Read more from Ankita Kulkarni
Two code snippets contrasting the placement of `redirect()` in a Next.js function, highlighting functional differences and best practices.

Hey Reader, Last week, I gave a talk at React Paris about Building your own AI minion, basically an AI Agent Toolkit for modern apps. I show my workflow and how I have automated a lot. The room was full, the energy was electric ⚑, and it turned into one of my favourite talks I’ve given. You can πŸŽ₯ watch the video here and the slides are here. 🍿 Our Weekly Snack: Stop calling "redirect()" inside a try/catch block in Next.js Stop calling "redirect()" inside a try/catch block in Next.js πŸ’‘ Here's...

A terminal interface displays commands for a tool called next-browser, designed for AI agents to analyze and monitor Next.js applications.

Hey Reader, This week, Next.js 16.2 gave AI agents something they never had "a browser". Your agent can now see your app, find the problem, and fix it without asking you. This along with GPT-5.4 mini & nano (2 small models), TanStack Start going 5x faster, why you should ban useEffect, and more. Let's dive in. 🍿 Our Weekly Snack: Your AI agent can finally see what your users see (Next.js 16.2 is here) Next.js 16.2 dropped yesterday (deep dive here) and it just gave AI agents a browser. It's...

next.js proxy

Hey Reader, Middleware got renamed to Proxy in Next.js 16. Same functionality. Better name. What is Proxy? Every request to your app has to go somewhere - a page, an API route, a file. Proxy gets to look at it first and decide what happens: send the user somewhere else, serve different content silently, or just let it through as-is. Think of it as a traffic controller 🚦 sitting in front of your routes. So, why you should stop putting auth in Proxy? It feels like the perfect place but it...