Skip to content

JavaScript Every Month

Web in September 2026

Hello October!

September was the month decision models took over. ChatGPT co‑founder Diogo Almeida released a model with a new architecture. Instead of walls of text, the model could only answer with decisions or choices. You could consider this a restriction than a new feature, but so is Twitter

Caught up in the storm, everyone and their mother has released their own Jev, to list a few: Cloudflare Clef, Perplexity Decisions, OpenAI Decisions, Amazon Strands Decider, Liquid D1, Together Tev1x, Mercury Decide and others who I'm skipping for brevity.

Releases

Browsers

Chrome 153, Chrome 154

  • Capability elements: <camera> and <microphone>
  • Iterator join(), includes() method
  • Extends the overflow property to support scrollable values together with clip
  • Chrome prompts users by default when they connect to a site over an insecure (http) connection

Firefox 155, Firefox 156, Firefox 157

Firefox team has been busy 😅

  • progress CSS function - baseline
  • Relative alpha colors with alpha() - baseline
  • font-width property

Safari 27

  • ariaNotify API
  • revert-rule, stretch in box sizing, :host:has(), ::heading pseduo class
  • <image> values in light-dark()
  • color-mix() with more than 2 colors
  • sizes="auto" baseline
  • Customizable <select>
  • Neat post about fixing top level await in Safari

React 19.3

  • New <ViewTransitions /> component to animate elements as they enter and exit using browser's view transition API
  • you can now add refs to fragments
  • A component can call use(browser()) to opt out of server-side rendering

Angular 22.2

  • allow template to access private props
  • scope type-checking of keyed defer blocks
  • add ErrorBoundary programmatic APIs

Rslib 1.0

  • Builds on the Rspack and webpack ecosystems
  • supports module federation output
  • fast declaration generation using tsgo

Vitest 5

  • Performance improvements, proven through benchmarks. Performance hints are pritned by default.
  • Build in trace view in browser mod
  • Nested projects and config inheritance
  • Fake timers now mock the Temporal API alongside Date

Homebrew 7.0

  • Greater concurrency across downloads, preparation and installation maximises performance while coordinating failures and summaries
  • Fixed several security advisories
  • BrewUI - official interface for homebrew

Vite+ 1.0

  • A single command, vp, manages your Node.js runtime, package manager, and frontend toolchain

Github CLI: Media in issues, pull requests, and comments

Take a note of this one if you use GitHub. You can now use the CLI to upload files to Pull requests. Let your agent upload 60fps walkthroughs of your product.

React Router 8.4

  • Reduced route component rerenders
  • new unstable preload route pattern achieving ~71–88% with 1,000 routes

PandaCSS 2

Rust rewrite with 28x faster static CSS generation.

pnpm 12.4

pnpm can now manage npm, Python and Cargo dependencies in the same workspace.

DevFrame

Antony Fu who wrote and manages so many amazing dev tools for the community has open sourced a framework for building these devtools.

Astro 7.3

  • Run multiple preview servers at once
  • Cloudflare finalize() helper for custom fetch handlers

GPU Lexer

A 27kB language agnostic syntax highlighter from Vercel Labs.

Playwright 1.63

Shared test resources can be lock()ed so that tests can still run concurrently.

IDE

  • Prompt guide for Opus 5.5 - Getting the most out of Opus 5.5 in Claude and Claude Code
  • z.ai's coding harness z-code had a security vulnerability where repostiories where being uploaded to their servers. They have fixed the vulnerability and converted the harness to open source.
  • Speaking of open source harnesses, Minimax has open sourced theirs and it fares really well on Frontier code evals.
  • Amp is free to use when bringing your own compute and model subscription.
  • NVIDIA acquires Hugging Face for $12,930,300,000 (also the 🤗 emoji, hugging face)
  • Inference service from the makers of Pi - Radius
  • A free year of Kiro IDE offered for students
  • Kimi code has a desktop app
  • Opencode Go has a new subscription tier for $40
  • Opencode has released their v2 version, there's an accompanying blog post explaining how they manage hot reloading and plugins.
  • Manus 2 - with their version of GrokBot with Cue
  • Muse - Meta's version of GrokBot, now in select markets. Meta has launched a new subscription plan with AI usage named MetaOne
  • zg is a semantic rg replacement from Qwen team

In the Spotlight 🔦

Shopify goes back to Native

Shopify argues that, in the age of AI, creating two apps that translate code between codebases is not a big deal. Therefore, you might as well use native apps rather than React Native. They claim native apps can deliver better performance and UI/UX than React Native apps. Shopify also maintains many important React Native libraries. It has renewed its commitment to them, indicating ongoing sponsorship and transferring ownership to open source.

Alongside, an upcoming Expo modules releases makes writing native modules inside React Native apps easier than ever

Cloudflare Birthday Week

Cloudflare blessed us with an absolute run of things for their birthday week. Noting down some relevant ones here:

More than half the traffic reaching sites on Cloudflare is now automated, and AI agents are the fastest-growing part of it

Rails conf debacle

DHH got on stage for the Rails World 2026 keynote and said he would rather just write Rust - because it's faster and it's written by Agents, not him. A good start for a Rust conference, but probably not a Rails conference. I personally think he could have just declined speaking at the off site and choosen another stage to make his opinions than Rails world, but outside the stage, I can't really fault the words.

Security

Tutorials

How we made claude.ai 3x faster in two weeks - claude.dev

Claude's desktop app is now 3× faster. The blog not only describes the improvements that increased speed, but also explains how they created a benchmark to verify performance, enabling the model and harness to measure it automatically.

Read alongside: Automating eval design and hillclimbing with Claude

Wrong, not broken - AWS

It's not every month that I feature an AWS blog post here. There are situtations where you see your thoughts expressed so well in words and this is one of them. Before Agents, we had code that worked mostly deterministically - if something did not work, it was broken - it was at least broken on one device one network in someone's basement. But if agents are creating interfaces that your user interacts with, there are surely cases where the interface is wrong, but not broken.

How Notion handles concurrent editing with CRDTs

Notion must be the among the people using CRDTs for conflict management at scale after Google and Microsoft. If you need multiple people editing the same document at the same time and preserve some semblance of reality in the final edits - this is the article to read.

How to scale intent, quality, and artistry with Al | Katie Dill (Stripe) - YouTube

Katie Dill, design leader at Stripe, names UI slop as the UI slop problem. She compares it to post war housing boom where every building was forced to look the same despite serving different purposes. She sets up these principles to build software with "soul":

  • Define a clear point of view
  • Encode standards into system
  • Refuse to confuse done with good
  • Instead of using AI only for speed, leverage it as a catalyst for experimentation

Detect when elements overlap with CSS - Ahmad Shadeed

Ahmad Shadeed uses a smart scroll animation technique to find if elements are overlaps just using CSS.

How Turbopack chunks your JavaScript - Next.js

The bundler faces a Goldilocks problem: keeping reused chunks on every page duplicates code and inflates file sizes, while optimizing too many chunks into separate files creates excessive network requests. The blog explores how Turbopack solves this issue.

The best dark mode toggle is probably none - Lea Verou

I didn't expect so much discussion about how many toggles a theme selector should have, but here we are. Have you made up your mind? How many options should be given to the user for toggling dark mode?

In short

In Other News

The mathematics of AI uncertainty - Google Deepmind

Zoubin Ghahramani talks about the importance of uncertainity in intelligence. Why does it look like even the most advanced AI agents would reverse their opinions given enough pushback? Intelligence as a skill depends on understanding probability and decision making.

OpenAI & Navier Stokes Millenium Prize Problem

Behind Project Suncatcher, our moonshot to put AI in space - Google

Google is attempting to put a TPU data centre in Space with their next project in collaboration with SpaceX. The blog explains the challenges they forecast in Space and overviews on how they are solving them. Fascinating stuff!

iPhone Duo

Apple has entered the foldable market with an expensive phone. Many apps have been adapted to the foldable resolution, but browser usage is still using just 70% of the screen.

Googlebook

Google has released a new range of laptops built by different providers. These run Googlebook OS and mostly bank on the web with Progressive Web Apps. It seems that the app support might be mostly coming from Android and all focus is on Gemini integration.

Yeti 2

Logitech releases a fresh take on the best selling microphone. It comes with an AI denoiser and automatic gain.

AI updates

Looking Ahead

Subscribe to JEM Newsletter

Stay ahead of the curve in Web Development with Javascript Every Month Newsletter.

I will deliver a curated selection of articles, tutorials, and resources straight to your inbox once a month.

No spam, unsubscribe anytime.

Keyboard shortcuts

h
Go to Home
b
Go to Blog
w
Go to Webmarks
p
Open Projects
j
Go to Newsletter
t
Switch light and dark
s
Turn key sounds on or off
/
Search webmarks
?
Show this sheet

This keyboard hides a couple of secrets. One is spelled out on the home page; the other is older than most of the web.