---
title: "The first browser with JavaScript landed 30 years ago"
publication: "JavaScript Weekly"
issue: 754
published_at: "2025-09-26"
canonical_url: "https://javascriptweekly.com/issues/754"
---

Plus did you know you can run JavaScript on MS-DOS? |        

#​754 — September 26, 2025 

[Read on the Web](https://javascriptweekly.com/issues/754)  

Together with [![CodeRabbit\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_1238,h_192/e_make_transparent/co_white,e_outline:37/fcshbu9d17nd8smej96j.png)](https://coderabbit.link/cooperpress)   

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/lvp70veabqdiook705cs.jpg)](https://addyosmani.com/blog/devtools-mcp/)  

[Give Your AI Eyes: Introducing Chrome DevTools MCP](https://addyosmani.com/blog/devtools-mcp/) — The Chrome team has [released an MCP server for Chrome DevTools](https://developer.chrome.com/blog/chrome-devtools-mcp?hl=en), enabling agents like Claude Code or OpenAI Codex to use the DevTools to debug and analyze the performance and behavior of your webapps (or even just to automate the use of Chrome generally). Addy does a great job of explaining the potential here. 

Addy Osmani   [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/31d2318c.png)](https://coderabbit.link/cooperpress) 

[AI Code Reviews Meet CLI Coding Agents](https://coderabbit.link/cooperpress) — CodeRabbit CLI brings instant code reviews directly to your terminal, integrating with Claude Code, Cursor CLI, and other AI agents. While they generate code, CodeRabbit ensures it's production-ready - catching bugs, security issues, and hallucinations before they hit your codebase. 

CodeRabbit sponsor   

[GitHub's Plan for a More Secure npm Supply Chain](https://github.blog/security/supply-chain-security/our-plan-for-a-more-secure-npm-supply-chain/) — In direct response to the recent npm ecosystem [supply chain attacks](https://socket.dev/blog/ongoing-supply-chain-attack-targets-crowdstrike-npm-packages) of recent weeks, GitHub’s senior director of security research has outlined steps GitHub is taking, including blocking the upload of packages featuring the patterns of the recent malware, hardening package publication, and promoting the use of [trusted publishing.](https://docs.npmjs.com/trusted-publishers) 

Xavier René-Corail (GitHub)   

**IN BRIEF:** 

- [Netscape Navigator 2.0 Beta was released 30 years ago](https://www.jwz.org/blog/2025/09/netscape-navigator-2-0-was-released-30-years-ago-today/) – it was notable as the first browser to include JavaScript support.
- [The agenda of this week's TC39 meeting](https://github.com/tc39/agendas/blob/main/2025/09.md) where several proposals were advanced, including [Import Bytes](https://github.com/tc39/proposal-import-bytes), [Iterator Chunking](https://github.com/tc39/proposal-iterator-chunking/), and [`Array.prototype.pushAll`](https://danielrosenwasser.github.io/tc39-slides-2025-09-array-push-all/1).
- The Chrome team expects [Chrome/Chromium's support for the Temporal API](https://chromestatus.com/feature/5668291307634688) to land in Chromium 144 (the current stable version is 140).
- InfoQ shares [an update on the features of Preact 11 beta](https://www.infoq.com/news/2025/09/preact-11-beta/), the recently released update to the popular lightweight React alternative.
- The IEEE has released [its list of the top programming languages of 2025](https://spectrum.ieee.org/top-programming-languages-2025) with JavaScript and TypeScript coming in at #6 and #7 respectively. 

**RELEASES:** 

- [pnpm 10.17](https://pnpm.io/blog/releases/10.17) – The new `minimumReleaseAgeExclude` now supports patterns to exclude groups of packages from minimum release age checks.
- [Astro 5.14](https://astro.build/blog/astro-5140/) - Boasts _"a bumper harvest of features and DX improvements to warm the cockles of your heart."_
- [Node.js v24.9.0 (Current)](https://nodejs.org/en/blog/release/v24.9.0) and [v22.20.0 (LTS)](https://nodejs.org/en/blog/release/v22.20.0)
- [Nuxt UI 4.0](https://nuxt.com/blog/nuxt-ui-v4), [PostgreSQL 18.0](https://www.postgresql.org/about/news/postgresql-18-released-3142/), [ESLint v9.36.0](https://eslint.org/blog/2025/09/eslint-v9.36.0-released/)  

📖 Articles and Videos  

[From Steam to Floppy: Porting Modern TypeScript to Run on DOS](https://jimb.ly/2025/09/23/qauntumpulse-from-steam-to-floppy/) — The creator of a DOS-inspired programming game ([available on Steam](https://store.steampowered.com/app/3175190/QuantumPulse_2A/)) wanted to try and get the game running on _real_ DOS. Thanks to [jSH](https://github.com/SuperIlu/jSH), a JavaScript engine for DOS, it was _kinda_ do-able. 

Jimbly / Dashing Strike   

[NPM Security Best Practices](https://github.com/bodadotsh/npm-security-best-practices) — An extensive list of best practices, techniques, and ideas to consider for making your use of the npm packaging ecosystem and its tooling more secure. 

Boda   

[Implementing Authentication and Session Management in Next.js](https://go.clerk.com/GW8CnFV) — Learn how to integrate user sign-up, sign-in, and protected routes into your Next.js app with modern auth practices. 

Clerk sponsor   

[JSON is Not JSON Across Languages](https://blog.dochia.dev/blog/json-isnt-json/) — If you use JSON to communicate between systems built in different languages, beware. Different libraries with varying opinions can cause _“some of the most soul-crushing debugging experiences in software development.”_ 

Dochia CLI   

📄 [Stop Using `.reverse().find()`: Meet `findLast()`](https://allthingssmitty.com/2025/09/22/stop-using-reverse-find-meet-findlast/) Matt Smith 

📄 [Storing Unwise Amounts of Data in JavaScript `BigInt`s](https://jonathan-frere.com/posts/bigints-are-cool/) Jonathan Frere 

🎤 [Making Desktop Frameworks More Accessible with Electron](https://the-github-podcast.simplecast.com/episodes/making-desktop-frameworks-more-accessible-with-electron) – A 20 minute chat with a long-time Electron maintainer. The GitHub Podcast 

📄 [Create 'Sick' Web Animations in Three.js with GSAP](https://spin.atomicobject.com/animations-threejs-gsap/) – A very simple example. Michael Li 

📄 [How to Test the New ARIA Notify API with Cypress](https://www.cypress.io/blog/how-to-test-the-new-a-notify-api-with-cypress) Mark Noonan  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/c1vjniffzpf5a4gkp0zd.jpg)](https://github.blog/changelog/2025-09-25-github-copilot-cli-is-now-in-public-preview/)  

🤖 [GitHub Copilot CLI Now in Public Preview](https://github.blog/changelog/2025-09-25-github-copilot-cli-is-now-in-public-preview/) — Not content to let Claude Code and OpenAI Codex dominate the CLI-based dev agent scene, GitHub has released a CLI-based version of Copilot, built using Node. 

GitHub   

[TanStack Start v1 Release Candidate](https://tanstack.com/blog/announcing-tanstack-start-v1) — TanStack’s attempt at a full-stack TanStack Router-powered framework has reached a v1.0 release candidate that’s expected to be largely the same as its eventual 1.0 release. _“It’s the next chapter in building type-safe, high-performance React apps without the heavy abstractions.”_ 

Tanner Linsley   

[Roles Get Messy Fast. WorkOS RBAC Keeps Access in Check](https://workos.com/rbac?utm_source=cpjavascript&utm_medium=newsletter&utm_campaign=q32025) — Define roles, group permissions, and sync with SSO and SCIM. Manage access with clean APIs and a powerful dashboard. 

WorkOS sponsor   

[Cap'n Web: A New RPC System for Browsers and Web Servers](https://blog.cloudflare.com/capnweb-javascript-rpc-library/) — A ‘spiritual sibling’ to [Cap’n Proto](https://capnproto.org/), an RPC protocol created by one of the same authors. However, _Cap’n Web_’s underlying serialization is human-readable, focused on integrating well with JS runtimes, and works over HTTP, WebSocket, and `postMessage()` out-of-the-box. 

Varda and Faulkner (Cloudflare)   

[eslint-plugin-react-you-might-not-need-an-effect](https://github.com/NickvanDyke/eslint-plugin-react-you-might-not-need-an-effect) — What a project name! It’s an ESLint plugin to help React developers catch unnecessary `useEffect`s which [are quite commonly overused.](https://react.dev/learn/you-might-not-need-an-effect) 

Nick van Dyke   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/wyecgewa77dzhet4wov8.jpg)](https://netil.medium.com/billboard-js-3-17-0-new-axis-customization-label-styling-image-labels-1be0f0a906f4)  

- 📊 [Billboard.js 3.17.0](https://netil.medium.com/billboard-js-3-17-0-new-axis-customization-label-styling-image-labels-1be0f0a906f4) _(above)_ – The popular charting library adds image label support for charts, label border styling, and dynamic control of label colors.
- [PythonMonkey 1.3](https://github.com/Distributive-Network/PythonMonkey) – Embed the SpiderMonkey JS engine into Python's VM. Now with Python 3.14 support.
- [pretty-bytes 7.1](https://github.com/sindresorhus/pretty-bytes) – Convert a size in bytes into a human readable equivalent (e.g. 1337 becomes '1.34 kB').
- [Docusaurus 3.9](https://docusaurus.io/blog/releases/3.9) – The popular React + MDX-powered content/docs site generator.
- [Neo.mjs 10.9](https://github.com/neomjs/neo/releases/tag/10.9.0) – Multi-threaded framework for fast, desktop-like webapps.
- [eslint-plugin-vue 10.5](https://github.com/vuejs/eslint-plugin-vue) – Official ESLint plugin for Vue.js. ([Homepage](https://eslint.vuejs.org/).)
- [VanJS 1.6](https://github.com/vanjs-org/van) – The small but sweet reactive UI framework. ([Homepage.](https://vanjs.org/))
- [Milkdown 7.16](https://github.com/Milkdown/milkdown) – Plugin-driven WYSIWYG Markdown editor framework.      

📰 Classifieds   

[Meticulous automatically creates and maintains an E2E UI test suite with zero developer effort](https://www.meticulous.ai/?utm_source=javascript_weekly&utm_campaign=september26th2025%20). Relied on by Dropbox, Wiz, Lattice, Bilt Rewards, etc. 

--- 

🚀 Next week: [JetBrains JavaScript Day 2025!](https://lp.jetbrains.com/javascript-day-2025/?utm_source=cooperpress&utm_medium=cpc&utm_campaign=js_weekly_javascript_day_2025&utm_content=4%20) A free online event full of talks & live Q&A with experts from the JS community. [Don’t miss it!](https://lp.jetbrains.com/javascript-day-2025/?utm_source=cooperpress&utm_medium=cpc&utm_campaign=js_weekly_javascript_day_2025&utm_content=4%20)     

🧐 Learning web development with Dr. Axel  ![](https://res.cloudinary.com/cpress/image/upload/w_240,e_sharpen:60,q_auto/lioslh725i8k02a34tyl.jpg) 

Over the past couple of months the esteemed Dr. Axel Rauschmayer has been working on [a valuable series of beginner-friendly posts](https://2ality.com/archive.html#Tag=learning%20web%20dev) on a range of web development topics, with a heavy focus on JavaScript. He pitches the series as a way to teach people "_who have never programmed how to create web apps with JavaScript_". 

These are all excellent primers/refreshers, and ideal for sharing with those early in their web development journey. Here are some of the highlights so far: 

- Working with [numbers, variables, and functions](https://2ality.com/2025/08/javascript-numbers-variables-functions.html), and [strings and methods.](https://2ality.com/2025/08/javascript-strings-methods.html)
- [Booleans, comparisons and `if` statements](https://2ality.com/2025/08/javascript-booleans-comparisons-if.html) and [loops.](https://2ality.com/2025/08/javascript-loops.html)
- Digging into [plain objects](https://2ality.com/2025/08/javascript-plain-objects.html), [`Array`s](https://2ality.com/2025/08/javascript-arrays.html), [`Map`s](https://2ality.com/2025/08/javascript-maps.html), and [exceptions.](https://2ality.com/2025/08/javascript-exceptions.html)
- An [introduction to frontend frameworks](https://2ality.com/2025/09/frontend-frameworks.html) using Preact.
- [Installing npm packages and bundling.](https://2ality.com/2025/09/npm-packages-bundling.html)
- [Promises and `async` functions.](https://2ality.com/2025/09/javascript-async.html)    

P.S. [_Don't go JSON waterfalls.._](https://dontgojsonwaterfalls.com/)         

Published by [Cooperpress](https://cooperpress.com/) and edited by [Peter Cooper](https://twitter.com/cooperx86) 

'JavaScript' is a trademark of Oracle Corporation in the US
We are not endorsed by or affiliated with Oracle. 

[Change your email address](https://javascriptweekly.com/edit_subscription/*|UID|*) or [stop getting this newsletter](https://javascriptweekly.com/leave/*|UID|*). 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
