Skip to content

JavaScript Every Month

Web in May 2025

Hello June 🌧️

It was raining AI coding agents in June as all major AI providers announced their version of coding agent.

Nothing magical that you can't do in Cursor right now, especially with background agents feature. But it's certainly nice to watch it roll around PRs from the cloud ☁️.

Releases

Browsers

Firefox 139

  • First browser to ship the new Temporal API
  • requestClose method of dialog element is now supported.
  • hidden=until-found HTML attribute.

Chrome 137

  • CSS if function
  • selection API direction and Selection.getComposedRanges
  • offset-path=shape to allow using responsive shapes to set animation path.
  • transform attribute on SVGSVGElement
  • JavaScript promise integration for web assembly

Arc browser

Arc has many fans in the development community, but it was retired some time ago as the Browser Company shifted its focus to building Dia, their AI browser. In this newsletter, they explain why they did not integrate Dia into Arc and if they will open source the browser (No!)

Angular v20

  • stabilising APIs such as effect, linkedSignal, toSignal, incremental hydration, route level render mode config and promoting zoneless developer preview.
  • partnering with Chrome for custom Angular reporting directly in Chrome devtools.
  • template hot module replacement by default
  • There's an RFC out for official mascot of Angular.

YouTube video at Google I/O

What's new in Svelte May 2025

A short take on improvements in Svelte, learning resources and activities in the community.

Videos from last month's Svelte Summit are out on YouTube.

Wake up Remix

Remix announced a break during the last React Conf and merged into the React Router project. React Router has now reached version 7 and includes a preview for React Server Components. The founders are returning to Remix and rebuilding it from the ground up.

Remix v3 is a reimagining of what a web framework can be — a fresh foundation shaped by decades of experience building for the web. Our focus is on simplicity, clarity, and performance, without giving up the power developers need.

Browsers

In the Spotlight 🔦

Google I/O took place last month, featuring discussions from the Chrome team about the state of the web ecosystem, as always.

Releases:


Some unfolding drama on Deno:

Just for the kicks, JavaScript history timeline on the Deno blog


In short

Tutorials

Working on Complex Systems - What I learned working at Google

This blog discusses how to distinguish between code patterns in complex and complicated systems, defining both terms. It outlines the characteristics of complex systems and offers patterns for navigating them.

Giving V8 a Heads-Up: Faster JavaScript Startup with Explicit Compile Hints

Chrome 136 ships with the ability for developer to provide explicit hints to the browser to allow early compilation of a file. This is particularly useful if you have a "core file" which you can select for eager compilation, or if you're able to move code between source files to create such a core file.

You can trigger eager compilation for the whole file by inserting the magic comment

//# allFunctionsCalledOnLoad

The Beauty of TanStack Router

Dominik, the maintainer of Tanstack Query and author of several insightful blogs and an official course on the topic, writes this post about the Tanstack Router. He discusses its clear type safety features and then delves deeper into its design decisions.

No, react context is not causing too many renders

React context causing excessive renders is a common topic in every state management library, instilling fear in its users. This blog debunks the myth surrounding renders and identifies the specific components affected by re-renders.

Static as a Server

Dan Ambramov is back to writing long posts and this month he explores the idea of using React Server Components (RSC) while serving the site statically via a Cloudflare CDN, effectively making the hosting cost-free. What is this magic that combines both server and client into a "static" server?

Operator Lookup

A small app by Josh allows you to look up each JavaScript operator and read a brief summary, complete with cute sound effects.

In Other News

Era of Experimence - Google Deepmind

Google DeepMind has released a paper discussing the generation of new data for AI systems to train on. It emphasizes the need for AI to learn like humans, rather than relying solely on text data from the Internet. DeepMind CEO Demis Hassabis has been vocal about the limitations of the current format of large language models (LLMs) and has given multiple interviews on this topic. He believes AGI will arrive in 5 short years though, so prepare!

ALICE detects the conversion of lead into gold at the LHC

Scientists at the CERN Large Hadron Collider discovered a method to generate gold from lead, albeit for a tiny fraction of a second. This was achieved through high-speed collisions between high-energy lead nuclei, which knock out protons and transform lead into fleeting quantities of gold nuclei.

Highlights from the Claude 4 system prompt - Simon Willison

We don't know how long prompt engineering will remain a specialized skill or if a small language model will eventually rewrite prompts to produce the desired output. Until then, it's beneficial to read through system prompts, as the creators understand them best. This blog examines the Anthropic Claude system prompt and breaks down the interesting techniques used.

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.