Buffer UTF-8 writes now use simdutf for two-byte strings (
55e4ca3)
Node’s Buffer write path now uses simdutf for well-formed two-byte UTF-16 strings instead of routing everything through V8’s slower UTF-8 writer. That should speed up Buffer.from(), buf.write(), fs.write*() with string data, and stream writes when the input is guaranteed to fit.
StringDecoder UTF-8 decoding now shares StringBytes::Encode (
e19c13b)
string_decoder now uses the same simdutf-backed conversion logic as Buffer#toString('utf8'), which should bring ASCII, Latin-1, and UTF-16 inputs onto the faster path. Large invalid inputs still preserve the old ERR_STRING_TOO_LONG behavior and replacement-character handling.
SQLite statements reuse cached column names (
cf30b2e)
statement.all() and statement.get() now reuse cached, internalized column names instead of re-interning them on every call. This trims repeated work in the sqlite binding and should help statement-heavy workloads.
Other misc changes
- Docs clarified
fs.Direnttype detection,copyFilesymlink behavior, WindowssetRawModewrite access, per-architecture FFI argument limits, and missing return types infs.md/buffer.md. - Fixed man-page generation on Windows and updated the security release prep command.
- Bumped
undiciin/tools/docand updated vendored googletest. - Adjusted tests for WPT backend checks and the event loop delay timer race.