JEM - Web in October - JavaScript Every Month Newsletter
Hello November 👋
October was the month when Tanstack took centre stage as the framework everyone wants to migrate to. Adding to the confusion, Vercel introduced more directives under the name "use workflows", putting many developers on edge. This revived the debate that began with "use client" about whether directives are the best way to instruct the compiler. We now have a lot more directives to be afraid of, and someone bought up the "use no memo" directive that's been live for years at this point.
- Built in durability - Introducing Workflow Development Kit - Vercel
- Directive and Platform boundary - Tanstack
- use no memo - React Docs
In other news, TypeScript is now the #1 language on GitHub.
Releases
Browsers
Chrome 142
- Match scroll markers with the
:target-beforeand:target-afterpseudo-classes - Use range syntax in style container queries and the
if()CSS function. interestforattribute to<button>and<a>elements
Firefox 144
- View transition support. Same document is now baseline available.
- command and
commandforattributes for button is supported - lock and unlock for screen orientation is supported.
IDEs
- Cursor released a 2.0 version as they put Agents chat above the file system. It supports voice chat and their own fine tuned model named Composer 1.
- Windsurf launched their own agent model (again, fine tuned Chinese model) running on Cerebras named SWE-1.5
- Visual Studio Code Sept edition has built in plan agent and integration with OpenAI codex.
- Claude code can be driven remotely from the web and mobile apps. Claude also launched a new package for MCPs, tools and prompts in the form of skills. In another packaging, Claude Code also allows for plugins.
- Jules can be programmatically accessed through an API, to integrate directly into CI/CD systems.
- Zed has a Windows installer
- Gemini CLI has a new feature to run interactive commands like
vim,top,git rebasedirectly in the CLI.
Vite Conf highlights
- Announced Vite+: the paid product from VoidZero
- Oxlint support for JavaScript plugins
- Vite Devtools plugin
- Full-stack Vite apps with Nitro v3
Vite - The Documentary - YouTube
React 19.2
<Activity />component for managing visibilityuseEffectEventto fire events from effects- Performance tracks - new profiling tool in Devtools
Next.js 16
- Cache components - suppoer for partial pre-rendering with cache.
- Next.js Devtools MCP for debugging
- Turbopack is declared stable and is now default bundler
- React compiler support
- Enhanced routing - optimised navigations and prefetching with layout deduplication and incremental prefetching
Rari
Runtime Accelerated Rendering Infrastructure - A new React Server Components framework powered by a Rust runtime and boasting impressive benchmarks.
React Router Middlware
- Behind a feature flag.
- Enables data access, authentication from child loaders
Storybook 10
- ESM only
- Support for Next 16, Vitest 4, Svelte async components
- UI editing and sharing optimizations
React Native 0.82
- The new architecture is now the only architecture
- Experimental Hermes v1
- React 19.1.1
Bun 1.3
This update is glorious - a fine piece of engineering disguised as a minor update.
- full stack dev server built into
Bun.serve - Builtin MySQL client (alongside PostgreSQL and SQLite clients)
- Built in Redis
- Run HTML fiels directly with Bun
- Hot reloading supported with Bun dev server
Vitest 4
- Browser mode is stable
- support for Visual regression testing in browser mode
Node.js 25
JSON.stringifyperformance imporvements- built in
Uint8Arraybase64/hex conversion and ongoing WebAssembly and JIT pipeline optimizations.
Biome 2.3
- Full support for Vue, Svelte, Astro
- Tailwind v4 support
In the Spotlight 🔦
October was the month when Remix v3 and Next.js 16 launched, each with its own conference, yet a third framework—TanStack Start—stole all the hype.
The history of Remix is fascinating. Michael Jackson and Ryan Florence, the creators of React Router - one of the most widely used libraries in the React ecosystem - launched the Remix framework. Its patterns became so universally accepted that several were adopted into React itself. This happened while the React team was heavily accused of being too close to Next.js.
Seeing their patterns go universal, Remix retired and merged all its features into React Router. The library can now be considered a mix of different things - different modes in which it can run: data mode, framework mode. Which features are available in which modes and how to switch between them is unclear to most people.
Remix is waking up and has dropped React from its implementation. Perhaps the team feels React has overstayed its welcome and senses a gap. They are pioneering a new event-based system that promises to use more of the platform.
- Introducing Remix 3 - YouTube
- React and Remix choose different futures - Brendan McLoughlin
- Thoughts on Remix 3 - Alex Kotliarskyi
Amid all the framework hype, Loren Stewart’s experiment is a wake-up call: I Built the Same App 10 Times: Evaluating Frameworks for Mobile Performance
Spoiler: Marko is the outlier.
Tutorials
Modern CSS Section Layout - ishadeed
Another tutorial hitting it out of the park from one of my favourites: this is a practical take on building a simple-looking section layout with CSS. Even though it looks simple, ishadeed shows us modern CSS features that deliver a superior user experience.
System design interview question but in CSS.
One Year with Next.js App Router — Why We're Moving On
Next.js moved on from the Pages router (many claim that it was working wonderfully) and stumbled into the App router for enabling RSC. But all has not been well with the implementation of RSC.
Most of the points here still stand, but splitting a component worries me. My goal is to keep each component single-purpose and reusable, yet the new client-and-server model forces us to split on a different metric. Often we only discover the need for a separate component when an error appears. That means more naming, and we already know naming is a devil.
Beyond Signals, by Ryan Carniato - YouTube
Ryan Carniato, creator of SolidJS, explains how signals are reshaping the JavaScript ecosystem. SolidJS pioneered this approach, and now Angular and VueJS are following suit. In his demo, Ryan shows how signals can match the performance of async components through projections.
React Server Components: Do They Really Improve Performance?
This step-by-step walkthrough moves from client-side rendering to server-side rendering to React Server Components. It explains how each approach works and measures initial-load performance at every stage.
Spoiler: none of them is a silver bullet.
In Other News
ChatGPT's Atlas: The Browser That's Anti-Web
OpenAI released its new AI browser this month. This piece reviews the broader AI-browser trend. Atlas, however, pushes ChatGPT on users instead of letting them reach the search engine directly. Perhaps OpenAI envisions a different future for the web or even doubts its continued existence.
A Brief History of Domains
This year marks four decades since the first domain name was registered - symbolics.com. The six original top level domains .com, .org, .net,.edu,.govand .mil` were defined five years before Tim Berners Lee would propose the World Wide Web, so domains preceded the Web!
More facts and interesting history on this blog post.
Common misconceptions about screen readers
Screen readers are not just for the blind!
An artist's take on AI art - Oatmeal comics
I love most of Oatmeal's comics, but this piece is an essay and article on AI art and whether it holds any meaning.
It's not how I feel about it, but it makes sense.
AI Updates
- ChatGPT trying to be the everything app with Apps inside it.
- Claude rolls out Memory to Pro and Max users
- Open Router launches Exacto endpoints for precision tool calling. Any provider worked, but routing sometimes picked ones that struggled with tool calls. Open Router tackles this with new APIs for exact tool calling; I’m unsure if it also resolves quantization concerns.
- GPT-OSS Safeguard - OpenAI’s open weight reasoning models for safety classification tasks.open-weight reasoning models for safety classification tasks
- Google unveiled Computer Use with Gemini 2.5 Pro
- Anthropic released [Haiku 4.5], their flash model variant.
Looking Ahead
- dotAI - Nov 6
- Mozilla Festival - Nov 9
- JS Nation US - Nov 17