$ the-wire · showcase
Node.js migrates off deprecated V8 APIs and fixes a long-silent Windows ICU path
By RepoJournal · Filed · About Node.js · Composed from the cited sources · methodology
A day of V8-facing cleanup inside nodejs/node: deprecated prototype and property-definer APIs come out, ICU data linking gets pinned to the static path on Windows, and Float16Array's feature flag is retired.
src: migrate from deprecated xxxV2 APIs nodejs/node
Node's own source now calls the current V8 Set/GetPrototype and Holder APIs instead of the deprecated xxxV2 variants, so the codebase stops building against interfaces V8 is retiring. The paired deps commit drops the broken NamedPropertyDefinerCallbackV2 converter outright, with the same removal coming through a future V8 update.
build: use ICU_UTIL_DATA_STATIC across V8 nodejs/node
The build had kept defining ICU_UTIL_DATA_SHARED and relying on the removed shared path on Windows, so ICU initialization in mksnapshot had been failing silently since ICU_UTIL_DATA_SHARED was deleted upstream. A newer V8 change made that failure loud and broke the Windows build; the fix always uses ICU_UTIL_DATA_STATIC, which matches the statically compiled ICU data Node already links.
deps: V8: backport f3d4d458fe59 nodejs/node
The --js-float16array flag is gone: Float16Array is folded into the standard typed array macros and baseline snapshot unconditionally, which the original commit justifies because it has shipped by default since V8 M138. Code relying on the flag to gate the feature loses that switch.
deps: V8: backport 9fb4444bfc46 nodejs/node
A new v8_enable_temporal_systemicu build flag, off by default, removes references to the internal ICU udatamem.h header so Temporal compiles against system ICU or no ICU at all. It is a build-level fix for the configurations that previously could not compile Temporal, not a runtime behavior change.
Wpt/wpt runner fixes nodejs/undici
Undici's WPT runner gets three fixes: an internal WPT error, overriding the global MessageEvent with undici's own, and a sorted expectations file. KhafraDev notes the diff is large because tests were rearranged this run and asks reviewers to go commit by commit; companion test work adds unexpected-disconnect guards to seven http2-body.js tests that hold their h2 session open for the whole run, ...