---
title: "Node v23, and a proper hello to Express v5"
publication: "Node Weekly"
issue: 552
published_at: "2024-10-22"
canonical_url: "https://nodeweekly.com/issues/552"
---

Plus a way to bring Node and V8 into the JVM world. |        

#​552 — October 22, 2024 

[Read on the Web](https://nodeweekly.com/issues/552)  

Together with [![Memetria\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_600,h_145/e_make_transparent/co_white,e_outline:7/vvpdctzacmq3xehpvwps.png)](https://dashboard.memetria.com/nodeweekly/)  

![Node.js Weekly](https://res.cloudinary.com/cpress/image/upload/v1653576619/lgfqinzbdqttwmhvljxb.png) 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/q7bv9cjvn34bfj1gvgpr.jpg)](https://nodejs.org/en/blog/release/v23.0.0)  

[Node v23.0.0 (Current) Released](https://nodejs.org/en/blog/release/v23.0.0) — Say hello to the newest release line of Node.js that gets all the cutting edge features first (Node 22 will soon become the active LTS release). v23 notably enables support for loading ES modules with `require()` _by default_, drops 32-bit Windows support, and [`node --run` goes stable.](https://nodejs.org/api/cli.html#--run) 

Rafael Gonzaga   

📣 [Node.js v22.10.0 (Current)](https://nodejs.org/en/blog/release/v22.10.0) has also been released with a major enhancement for ESM package developers, and `node --run` goes stable on v22 too.  

[Introducing Express v5: The Official Express v5 Release Post!](https://expressjs.com/2024/10/15/v5-release.html) — We first spied the release of Express.js v5 [over a month ago](https://nodeweekly.com/issues/547) but now we get an official release post that tidies up a lot of loose ends and explains the broad plan. For now, v5 is considered a _bleeding edge_ release with work still required in areas of security and overall process, but things are broadly progressing well. 

Wes Todd (Express)   [![\](https://copm.s3.amazonaws.com/7f31886d.png)](https://dashboard.memetria.com/nodeweekly/) 

[Memetria K/V: High-Performance Key-Value Hosting](https://dashboard.memetria.com/nodeweekly/) — Boost your Node.js apps with Memetria K/V, providing portable, easy-to-use hosting for Redis OSS and Valkey. Scale your applications with ease and achieve high performance. Includes detailed analytics and large key memory tracking. 

Memetria sponsor   

[How Top-Level `await` Could Break Compatibility](https://evertpot.com/using-top-level-await-is-bc-break/) — Node 23 makes it possible to load ES modules transparently with `require` which is great, but.. only if the module being loaded _isn’t_ using top-level `await`. One for package creators to think carefully about before backwards compatibility issues creep in! 

Evert Pot   

[The Story of the _Hono_ Web Framework](https://blog.cloudflare.com/the-story-of-web-framework-hono-from-the-creator-of-hono/) — [Hono](https://hono.dev/) is a lightweight framework designed to run on _any_ JavaScript runtime that's been picking up steam in the past year. With it, you can create an app in a Express-like style but run it on Cloudflare Workers, Deno, Bun, or Node. 

Yusuke Wada   

[Why I’m Skeptical of Rewriting JavaScript Tools in “Faster” Languages](https://nolanlawson.com/2024/10/20/why-im-skeptical-of-rewriting-javascript-tools-in-faster-languages/) — Rewriting common JavaScript infrastructure / build tools in ‘faster’ languages like Rust, Zig or Go has become popular in the past few years, but is it really necessary, asks Nolan? 

Nolan Lawson   

[Best Testing Practices in Node.js](https://blog.appsignal.com/2024/10/16/best-testing-practices-in-nodejs.html) — A quick-fire list of 15 worthwhile testing practices to use in order to write efficient, effective, and easy-to-maintain tests. 

Antonello Zanini   

🗓️ [Enterprise Ready Conference](https://www.enterprise-ready.com/?utm_source=cpnodeg&utm_medium=newsletter&utm_campaign=q32024) — One-day event in SF for prod/eng leaders building enterprise SaaS — with speakers from OpenAI, Vanta, Canva, Dropbox. 

WorkOS sponsor   

📄 [How Node.js Can Now Run TypeScript](https://samthor.au/2024/node-run-typescript/) Sam Thorogood 

📄 [How to Convert CommonJS to ESM](https://deno.com/blog/convert-cjs-to-esm) Andy Jiang (Deno)    

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ny0bnuedwfudc7fhqojv.jpg)](https://www.caoccao.com/Javet/)   

[Javet 4.0: Embed Node and V8 in Java Apps](https://www.caoccao.com/Javet/) — My JVM knowledge is poor enough that I haven't tried this yet, but it's a fascinating idea. The idea is you can use Node and V8 directly within the JVM, though [platform support](https://www.caoccao.com/Javet/#major-features) is mixed. [GitHub repo.](https://github.com/caoccao/Javet) 

Sam Cao   

[Ultimate ExpressJS Starter](https://github.com/ghostlexly/ultimate-expressjs-starter-kit) — Yes, another one! This ‘batteries-included’ TypeScript-based Express.js boilerplate app does include a lot out of the box, though, particularly in the area of file uploading. 

GhostLexly      

📰 Classifieds   

🔁 [How does the Node.js event loop work?](https://blog.platformatic.dev/the-nodejs-event-loop) What happens when all your requests arrive at once? How do you avoid blocking the event loop? 

--- 

[Pythagora](https://bit.ly/pyt-v1-cp-3) is an AI dev tool that builds production-ready tools (not demo apps). It writes the code and talks to you in the process. 

--- 

🎓 [Boost your Temporal skills with this free course!](https://t.mp/3ozkW6d) Build an app that communicates with an external service using Temporal's TypeScript SDK.    

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ztl7mplxxyuymjpxlqvp.jpg)](https://github.com/VladimirMikulic/route-list)  

[route-list: CLI Tool to Display Express/Koa/Hapi/Fastify Routes](https://github.com/VladimirMikulic/route-list) — If you’ve got a Node-based webapp and you want to see all of its endpoints in an elegant way, here’s an option. 

Vladimir Mikulic   

[Electron 33.0: The Cross-Platform Desktop App Framework](https://www.electronjs.org/blog/electron-33-0) — Electron drops a major release each two months. This one lands no major new features but jumps from Chromium 128 to 130, as well as V8 13.0, and Node 20.18.0. 

Charles Kerr   

- [MongoDB Node.js Driver 6.10](https://github.com/mongodb/node-mongodb-native/releases/tag/v6.10.0) – The latest official MongoDB driver. Now supports the bulk write API on MongoDB 8.0+.
- [better-sqlite 11.5](https://github.com/WiseLibs/better-sqlite3) – A neat way to use SQLite from Node. Now supports [SQLite 3.47.0](https://sqlite.org/releaselog/3_47_0.html) and Node.js v23.0.
- [cookie 1.0](https://www.npmjs.com/package/cookie) – The HTTP cookie parser and serializer library.
- [js-bson 6.9](https://github.com/mongodb/js-bson/releases/tag/v6.9.0) – MongoDB BSON parser for Node and browsers.
- [Fedify 1.1](https://github.com/dahlia/fedify) – ActivityPub server framework in TypeScript.
- [Strapi 5.1](https://github.com/strapi/strapi/releases/tag/v5.1.0) – Popular Node.js headless CMS.
- [Pino 9.5](https://github.com/pinojs/pino) – Fast JSON-oriented logger.    

**Got a link for us?** Reply and tell us. We can't include everything but we'll look at anything you send. _Thanks!_ 

--- 

**Sponsorship:** Email `[kristina@cooperpress.com](mailto:kristina@cooperpress.com)` for details. 

--- 

Published by Cooper Press Ltd.
Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

[Cancel your subscription](https://nodeweekly.com/leave/*|UID|*) or [change your address](https://nodeweekly.com/edit_subscription/*|UID|*).
