Landed fixes in GCC & Clang for [expr.static.cast]/8 wrong-code bugs when investigating a V8 bug related to it. Previously:
enum Flag : bool { kNo, kYes };
static_cast<Flag>(2); // kNo in GCC ❌, kYes in Clang ✅
static_cast<Flag>(0.5); // kNo in GCC and Clang ❌
There were more docs to update when changing semantics in Clang, had to educate myself with the release process before finishing the commit
Clang commit
github.com/llvm/llvm-project…
Added some new commands to the GDB & LLDB plugin for V8..
`v8 source`: shows the JS source of the selected frame
`v8 isolate`: find the isolate address in the current thread, works from the coredump too (implementing that in LLDB was quite a bit of challenge!)
Joyee Cheung retweeted
Is there anyone using the @nodejs --use-largepages=on flag?
We are considering dropping it. Let us know!
Made the new debug helper plugins work for Node.js + bleeding edge V8 🌟 Verified it works in LLDB (Linux, macOS) & GDB (Linux), both in live and coredump debugging
Going to backport the patches to Node.js when the object inspection is more polished and it stablizes bit more..
Landed some improvements to errors for require(esm) with top-level await (behind --experimental-print-required-tla for now):
- No need to run the code to collect the TLA locations, so it can be enabled by default soon
- Added require stack and location metadata to the error
PR: github.com/nodejs/node/pull/… & github.com/nodejs/node/pull/…
This will be released in the upcoming v26.5.0
github.com/nodejs/node/pull/…
New to open source, or wondering how to get your first Node.js contribution landed and released?
Check out our new first-time contributors guide, with practical tips and answers to FAQs about working with our volunteer-driven model. Welcome aboard! 🤝
github.com/nodejs/node/blob/…
Today I gave a talk @thejsnation about the life cycle of ESM in Node.js, how it differs in other environments and the new features that will affect these stages. Slides: github.com/joyeecheung/talks…
Moving along with the debug_helper-based LLDB & GDB V8 plugins, this now supports basic object inspection! It was fun to write tests that deliberately corrupt the memory and ensure the plugin falls back gracefully, something I've never tried before when maintaining other plugins!
Do you use Node.js on Alpine Linux? While the Node.js project publishes Alpine containers to dockerhub it is currently an "experimental" platform and does not have the same guarantees as other platforms.
We are looking for volunteers to help us bring Alpine to "Tier 2" where it would be built and released through the normal CI process.
If you can help, let us know: bit.ly/4v03NiW
Lately I've found myself repeating the same explanations to different people about how Node.js and V8 build/test/stay in sync with each other. To reduce the parroting, here's a blog post about the workflows, challenges I see, and some hands-on tips joyeecheung.github.io/blog/2…
Landed a set of LLDB & GDB plugins in V8 to help inspect JS states in a live process/coredump together with native states ✨
The initial implementation just supports JS stack trace annotations in bt; support for object inspection is coming up!
chromium.googlesource.com/v8…
This builds upon lessons learned from github.com/nodejs/llnode, which has been unmaintained for 4 years. The new plugins share the helpers with V8's windbg plugins to reduce the maintenance churn, will be easier to pre-build and work on different LLDB & GDB versions
For those who build or redistribute Node.js - as the V8 implementation of temporal depends on temporal_rs, this also means starting from v26 building Node.js fully requires a Rust toolchain. See github.com/nodejs/node/blob/…
Node.js v26.0.0 is out 💚
Temporal API enabled by default, V8 14.6, Undici 8, and key deprecations as we keep modernizing the platform.
Check it out nodejs.org/en/blog/release/v…
The 2026 Node.js London Collaboration Summit trip report is officially live! 🚀
We gathered 50+ contributors to discuss the biggest technical shifts coming to the runtime. Here’s what’s on the horizon:
🗓️ Versioning Change: Starting with v27, Node.js version numbers will align with the calendar year.
🌀 New Streams API: A more efficient, unified way to handle streams using modern async iterators.
💾 Node VFS: A proposal for a native Virtual File System (node:vfs) for better SEAs and testing.
⚖️ AI Governance: Evolving our processes to handle the rise of AI-generated code and security reports.
Big thanks to Bloomberg for hosting! 🇬🇧
Check out the full recap and recordings here:
nodejs.org/en/blog/events/co…
Joyee Cheung retweeted
I'm happy to announce Thales, a TypeScript compiler and JS engine in Lean. Thales compiles a subset of TypeScript to Lean via a shallow embedding. I'm building a bridge for TS programmers into Lean's program verification toolset. Check out github.com/jessealama/thales to get started.
RFC: I have a new proposal to add new vm Module primitives and a SourceTextModuleLoader API to bring the `--experimental-vm-modules` out of experiments in Node.js!
github.com/nodejs/node/issue…











