Migrating to Node.js v25.0.0
Version v25.0.0 introduces 10 breaking changes. This guide details how to update your code.
Released: 10/15/2025
⚠️ Check Your Code
If you use any of these symbols, you need to read this guide:
SlowBufferErrorEventUint8Arrayassert.failassert.CallTrackerfs.F_OKfs.R_OKfs.W_OKfs.X_OKfs.rmdirhttp.writeHeaderECDH.setPublicKeyprocess.multipleResolvesFileHandleasync_hooks.asyncResourceBreaking Changes
●Issue #1
The 'SlowBuffer' API has been moved to end-of-life (EOL) and removed.
●Issue #2
The 'fs.F_OK', 'fs.R_OK', 'fs.W_OK', and 'fs.X_OK' constants have been removed. Use 'fs.constants' instead.
●Issue #3
The 'rmdir' recursive option has been moved to EOL; use 'fs.rm' for recursive directory removal.
●Issue #4
The 'CallTracker' in the assert module has been moved to EOL.
●Issue #5
The 'multipleResolves' process event has been moved to EOL.
●Issue #6
Corepack is no longer distributed with Node.js.
●Issue #7
FileHandle objects no longer automatically close on garbage collection (GC).
●Issue #8
Deep equal checks in 'assert' and 'util' now fail promise comparisons and treat invalid dates as equal.
●Issue #9
The 'asyncResource' property on bound functions has been moved to EOL.
●Issue #10
Legacy URL bad port deprecation and IP-address servername in TLS have been moved to EOL.
Migration Steps
- 1Replace 'SlowBuffer' usage with 'Buffer.allocUnsafeSlow()'.
- 2Update file access checks to use 'fs.constants.F_OK' etc., instead of 'fs.F_OK'.
- 3Replace 'fs.rmdir(path, { recursive: true })' with 'fs.rm(path, { recursive: true })'.
- 4Manually install Corepack if your workflow depends on it, as it is no longer bundled.
- 5Ensure 'FileHandle' instances are explicitly closed using 'fileHandle.close()' to avoid resource leaks.
- 6Update crypto calls to specify explicit output lengths for shake128/256.
Release Summary
Node.js 25 updates the V8 engine to 14.1, enables Web Storage by default, and introduces the --allow-net permission flag. This release also removes several long-deprecated APIs including SlowBuffer and legacy fs constants.
Need More Details?
View the full release notes and all changes for Node.js v25.0.0.
View Full Changelog