Weekly GitHub Report for Node: February 08, 2026 - February 15, 2026 (15:17:05)
Weekly GitHub Report for Node
Thank you for subscribing to our weekly newsletter! Each week, we deliver a comprehensive summary of your GitHub project's latest activity right to your inbox, including an overview of your project's issues, pull requests, contributors, and commit activity.
Table of Contents
I. News
1.1 Recent Version Releases:
The current version of this repository is v23.10.0
1.2 Version Information:
Released on March 13, 2025, this version introduces the --experimental-config-file feature, allowing developers to use JSON configuration files to simplify flag management for the test runner and related features, enhancing developer experience. Additionally, it includes updates to root certificates, new TLS and V8 methods, improved error handling, and various documentation and tooling enhancements.
II. Issues
2.1 Top 5 Active Issues:
We consider active issues to be issues that that have been commented on most frequently within the last week. Bot comments are omitted.
-
Looking for someone to take over the quic impl: This issue is about the original author seeking an existing core contributor or a team of contributors to take over and complete the QUIC implementation in Node.js, as they no longer have the time to finish it themselves. The implementation is primarily in C++ and requires deep knowledge of Node.js internals, with most of the basic architecture done but needing detailed work on components like QuicStream, Endpoint, and Session.
- Multiple contributors expressed interest in helping with the implementation, and the original author planned to organize a call and provide a summary document to coordinate efforts; some spam comments were removed to maintain clarity in the discussion.
- Number of comments this week: 11
-
[FEATURE REQUEST] Allow type stripping in pnpm deploy monorepos: This issue addresses the problem that Node.js currently does not support type stripping for TypeScript files located within node_modules, which causes errors in pnpm deploy monorepos due to their unique node_modules structure. The feature request proposes either removing this restriction, adding detection for local node_modules cases, or establishing export conditions to allow type stripping in development while falling back to JavaScript in deployment.
- The comments discuss the feasibility of allowing type stripping for packages marked as private, the limitations of Node.js integrating with specific package manager conventions, and the differences in workspace management approaches, particularly highlighting pnpm deploy's behavior that breaks the current type stripping support.
- Number of comments this week: 6
-
[CONFIRMED-BUG] [WATCH-MODE] watch:
NODE_OPTIONS=--watchcauses infinite loop: This issue reports that setting the environment variableNODE_OPTIONS=--watchwhen running a Node.js script causes an infinite loop of spawning processes instead of executing the script normally and exiting. The user expects the script to print "hello" once and terminate, but instead observes no output and hundreds of Node.js processes continuously spawning, indicating a serious bug with the--watchoption behavior.- The comments confirm the bug appears in version 25.1.0 and is related to previous issues with the
--watchflag requiring a filename parameter; users demonstrate the infinite spawning behavior with process ID listings, note thatnode --watchwithout arguments is now accepted but counter-intuitive, and acknowledge the bug existed before but was less easily triggered. - Number of comments this week: 5
- The comments confirm the bug appears in version 25.1.0 and is related to previous issues with the
-
Sending a file using fetch() without first buffering it in memory: This issue discusses the challenge of sending a file using the fetch() API in Node.js 24 without first buffering the entire file in memory, which was possible in Node.js 22 due to a looser type check allowing pseudo-File instances. The user seeks a method to stream a file directly in a multipart form request despite the stricter Blob instance requirement introduced in Node.js 24.
- The comments suggest workarounds such as using the FormDataEncoder package to handle multipart form data encoding, considering the new fs.openAsBlob API, and directly sending a ReadableStream as the fetch body with metadata in headers; however, no native Node.js solution currently exists to stream a file in a FormData without buffering.
- Number of comments this week: 5
-
subpath imports starting with #/ in LTS: This issue concerns whether a specific change related to subpath imports starting with "#/" will be included in the Node.js v24 LTS release or remain exclusive to v25. The user provides a repository example demonstrating that imports with a slash work correctly in v25 but cause an error in v24, seeking clarification on backporting this feature.
- The comments discuss the necessity of landing the fix in both v24 and v25, with a request for reproduction steps followed by a detailed example repository and explanation showing the differing behavior between the two Node.js versions.
- Number of comments this week: 2
2.2 Top 5 Stale Issues:
We consider stale issues to be issues that has had no activity within the last 30 days. The team should work together to get these issues resolved and closed as soon as possible.
As of our latest update, there are no stale issues for the project this week.
2.3 Open Issues
This section lists, groups, and then summarizes issues that were created within the last week in the repository.
Issues Opened This Week: 16
Summarized Issues:
- Process and Execution Bugs: Several issues describe bugs related to process execution and runtime behavior in Node.js. These include an infinite loop caused by setting NODE_OPTIONS to "--watch" that spawns processes endlessly without output, and a SIGABRT error on MacBook Pro Darwin systems that prevents the Node.js shell from starting, affecting usability across versions.
- issues/61740, issues/61817
- Core Development and Feature Completion: There is a need for experienced contributors with strong C++ and Node.js internals knowledge to complete the mostly implemented QUIC protocol, with the original author providing guidance and aiming for completion within the year. This highlights ongoing development challenges and the importance of expert involvement in core features.
- issues/61741
- UTF-8 and Data Corruption Issues: A bug in fast-utf8-stream.js causes silent data corruption due to incorrect handling of partial fs.write calls that split multi-byte UTF-8 characters, resulting in dropped or invalid characters in the output stream. This issue affects data integrity during streaming operations.
- issues/61744
- Test Failures and Flakiness: Flaky test failures occur on macOS ARM64 when rerunning tests in folders with unusual characters, causing timeouts waiting for debugger output. Additionally, a Linux s390x test fails due to internal timezone loading errors related to endianness, indicating platform-specific test reliability problems.
- issues/61762, issues/61808
- Backporting and Version Compatibility: Requests and concerns exist regarding backporting fixes and features between Node.js versions, such as backporting a fix for custom async loader hooks from v24.11.1 to 22.x, and whether subpath imports starting with "#/" introduced in v25 will be backported to LTS v24. These issues reflect challenges in maintaining compatibility across versions.
- issues/61781, issues/61801
- TypeScript and Module Handling Limitations: Node.js currently does not support type stripping for TypeScript files in node_modules, breaking workflows with indirect workspace dependencies in pnpm monorepos. Proposed solutions include removing node_modules restrictions or adding detection and export conditions to enable fallback to JavaScript files, addressing developer workflow issues.
- issues/61793
- Cross-Build and Architecture Issues: Cross-building Node.js for 32-bit ARM targets from x64 Linux hosts fails due to architecture guards in V8's configuration that prevent compiling host V8 objects with ARM macros on x64 hosts, blocking cross-compilation efforts.
- issues/61794
- Fetch API and Streaming Limitations: Stricter type checks in Node.js 24 prevent sending file streams using fetch() without buffering in memory, unlike Node.js 22 where a pseudo-File instance allowed streaming in multipart form requests. This regression complicates streaming file uploads in newer versions.
- issues/61812
- Test Runner Option Discrepancies: Documentation and implementation of test runner options
todo,skip, andexpectFailurediffer, with docs stating these options are truthy but code treating empty strings differently, causing confusion about expected behavior in test configurations. - issues/61815
- Deprecation Documentation Gaps: The deprecation of
url.resolve()in Node.js 24.0.0+ lacks proper documentation and warnings, despite its internal use ofurl.parse()and associated security implications, leading to incomplete deprecation notices. - issues/61816
- SQLite Module Bugs and Enhancements: Issues in the sqlite module include statement iterators not invalidating on statement reset causing corrupted state, incorrect documentation about the default value of
allowBareNamedParameters(which is true), and a proposal to add abindUndefinedToNulloption to convertundefinedtonullautomatically when binding parameters, improving usability and correctness. - issues/61819, issues/61823, issues/61824
2.4 Closed Issues
This section lists, groups, and then summarizes issues that were closed within the last week in the repository. This section also links the associated pull requests if applicable.
Issues Closed This Week: 14
Summarized Issues:
- Command execution errors on Windows: Running the command
node --build-sea sea-config.jsonon NodeJS 25.5.0 in Windows Command Prompt results in an error "Couldn't stat executable node," while the same command works in PowerShell and Git Bash, indicating an environment-specific issue. This problem highlights inconsistencies in command execution across different Windows shells. - issues/61579
- Installation and build tool failures on Windows: The Boxstarter-based automated installation on Windows 11 25H2 fails to complete the Visual Studio 2022 Build Tools workload for C++ due to an unhandled System.ArgumentException related to the '--add' parameter, causing missing components despite the tools being installed. This issue points to problems in the installation automation and parameter handling for required build dependencies.
- issues/61690
- Module loading and path resolution errors: Running Node.js applications inside Docker Desktop can cause recurring "Cannot find module" errors due to incorrect or duplicated file paths, despite attempts to fix the issue. This indicates persistent problems with module resolution in containerized environments.
- issues/61697
- JSON parsing and data type conversion bugs: Node.js version 25 incorrectly parses JSON floats as integers when using JSON.parse, specifically observed on the linux/amd64 Docker image running on Apple M1 Pro hardware. This bug affects the accuracy of numeric data handling in JSON parsing.
- issues/61704
- Sporadic crashes due to V8 fatal errors: Node.js 22.8.0 experiences sporadic crashes on Linux platforms caused by a fatal V8 error "v8::ToLocalChecked Empty MaybeLocal" during native code execution, accompanied by uncaught JavaScript exceptions related to invalid base objects. The crashes lack reproducible steps, complicating diagnosis and resolution.
- issues/61705
- Security vulnerabilities in OpenSSL versions: Node.js 24.13.0 is built with OpenSSL 3.5.4, which lacks the security patch for CVE-2025-15467 found in OpenSSL 3.5.5, raising security concerns identified by AWS inspector. This highlights the need for timely updates to cryptographic dependencies to maintain security.
- issues/61755
- Number formatting issues in JavaScript: Entering numbers with leading zeros in JavaScript results in the leading zero being trimmed in the output, causing the number to display without the initial zero. This behavior affects numeric input formatting and display consistency.
- issues/61758
- Crypto API changes affecting encryption behavior: Migration from Node.js v18 to v22 introduces slower encryption performance and differing ciphertext outputs due to replacing the deprecated
createCipherwithcreateCipherivusing a random initialization vector and a more secure but slower key derivation function. The issue explores methods to achieve deterministic encryption by deriving the IV from the input to maintain consistent ciphertext for identical inputs. - issues/61774
- TypeScript native support and resolver requests: There is a desire for a built-in resolver in Node.js that provides seamless native TypeScript support similar to Bun and Deno, allowing developers to run TypeScript projects without extra configuration or external packages. This would improve onboarding and adoption of TypeScript within the Node.js ecosystem.
- issues/61799
- Miscellaneous and unclear issues: Some issues include a spam content report, a user referencing the Node.js version command in an unrelated project context, a closed issue with no description, and a problem related to the SHASUMS256 file linked to a failed Windows binary upload. These issues vary widely in nature and detail.
- issues/61749, issues/61777, issues/61782, issues/61835
- Experimental ESM-only workflow proposal: A proposal suggests creating a separate branch or fork of Node.js that removes CommonJS to experiment with an ESM-only workflow, while keeping the main branch unchanged for CommonJS compatibility. This aims to explore future module system directions without disrupting existing workflows.
- issues/61611
2.5 Issue Discussion Insights
This section will analyze the tone and sentiment of discussions within this project's open and closed issues that occurred within the past week. It aims to identify potentially heated exchanges and to maintain a constructive project environment.
Based on our analysis, there are no instances of toxic discussions in the project's open or closed issues from the past week.
III. Pull Requests
3.1 Open Pull Requests
This section provides a summary of pull requests that were opened in the repository over the past week. The top three pull requests with the highest number of commits are highlighted as 'key' pull requests. Other pull requests are grouped based on similar characteristics for easier analysis. Up to 25 pull requests are displayed in this section, while any remaining pull requests beyond this limit are omitted for brevity.
Pull Requests Opened This Week: 39
Key Open Pull Requests
1. module: add clearCache for CJS and ESM: This pull request introduces a new Module.clearCache() method to invalidate the caches of both CommonJS and ESM modules with an optional resolution context, facilitating hot module replacement-like reloads, and includes documentation, tests, and fixtures to verify the cache invalidation functionality.
- URL: pull/61767
2. lib: include ESM loader in the built-in snapshot: This pull request includes the ESM loader in the built-in snapshot of Node.js to improve startup performance by enabling real-world applications to deserialize the ESM loader instead of initializing it from scratch, resulting in measurable benchmark improvements especially for ESM-heavy workloads.
- URL: pull/61769
3. test_runner: support test order randomization: This pull request introduces deterministic randomization to the Node.js test runner, allowing both test file execution order and the order of tests within each file to be randomized using the --test-randomize flag, with the option to replay the same order deterministically via a seed provided by --test-random-seed=<seed>, enhancing test reproducibility and variability.
- URL: pull/61747
Other Open Pull Requests
- Performance optimizations in string processing and HTTP parsing: Multiple pull requests introduce performance improvements including a fast path for
stripVTControlCharactersto speed up processing strings without ANSI codes, V8 Fast API support for HTTP parser methods to reduce argument marshaling overhead, and V8 patches using Highway SIMD to optimize UTF-8 encoding and ASCII checking. These changes collectively enhance string handling and HTTP client request performance with measurable benchmark gains.
- Fixes for race conditions and flaky tests: Several pull requests address race conditions and flaky test failures by synchronously attaching socket error handlers in HTTP, replacing
stepCommand('restart')withcommand('restart')in debugger tests, adding retry mechanisms in event loop delay tests, and fixing HTTP/2 client shutdown race conditions by switching fromclient.close()toclient.destroy(). These fixes improve reliability and stability of tests and runtime error handling.
- Bug fixes and correctness improvements in core modules: Pull requests fix issues such as null pointer dereferences in the crypto module by adding null checks, correcting module format detection for extensionless ES modules in CommonJS projects, fixing partial UTF-8 character writes in fast-utf8-stream, and deferring writes in stream
pipeToto comply with WHATWG Streams spec. These changes prevent crashes, data corruption, and specification violations.
- Documentation and workflow improvements: Updates include adding detailed documentation for the
fs.StatFsclass with examples and clarifications, correcting riscv64 platform information, renaming GitHub workflow files for clarity, and tightening egress control in the OpenSSF Scorecard workflow by changing theharden-runnerpolicy fromaudittoblock. These changes enhance project documentation and CI/CD security posture.
- Build and compatibility fixes: Pull requests address build failures and compatibility issues by replacing
std::ranges::sort()withstd::sort()for libc++13 on armhf, skipping sscache on non-main branches to reduce cache thrashing, and fixing JSON output generation ingenerate_config_gypi.py. These changes improve build reliability and efficiency across platforms.
- API behavior consistency and feature removals: One pull request standardizes the behavior of
diagnostics_channel.tracePromise()to handle native Promises, custom thenables, and non-thenables consistently, while another removes the--experimental-transform-typesflag and related code, simplifying thestripTypeScriptTypesAPI and updating feature flags. These changes clarify API behavior and remove experimental features.
- Miscellaneous fixes and minor improvements: Additional pull requests include removing redundant HTTP server option assignments, correcting a typo in private field usage, adding a feature labeled "first commit flaky" without detailed description, and optimizing
util.styleTextfor cases whenvalidateStreamis false. These contribute to codebase cleanliness and minor performance gains.
3.2 Closed Pull Requests
This section provides a summary of pull requests that were closed in the repository over the past week. The top three pull requests with the highest number of commits are highlighted as 'key' pull requests. Other pull requests are grouped based on similar characteristics for easier analysis. Up to 25 pull requests are displayed in this section, while any remaining pull requests beyond this limit are omitted for brevity.
Pull Requests Closed This Week: 48
Key Closed Pull Requests
1. src: use std::sort in node_metadata for libc++13 compatibility: This pull request proposes replacing the use of std::ranges::sort with std::sort in the src/node_metadata.cc file to ensure compatibility with older libc++ versions (such as clang-13/libc++13) on armhf toolchains.
- URL: pull/61787
- Associated Commits: fd022, adf98, 46aa3, c5d68, e2c9c, 9e1fb, d55c3, 3cfec, 36dd8, 6197e, d22f1, cf06e, 062e8, 9f058, 4a250, 9b66c, 66cdd, 75bf3, 1b488, 34781, 8e047, eb311, c690b, 0a05d, 55594, 8c296, e4fea, e95c9, 18cee, d7479, 9b7dd, fc3f8, 0e10a, 45906, 5d3b8, 31ee7, 76bf6, 963bf, 3ff4e, fd755, b8066, 24428, e4304, c66af, d5b0a, 6ff93, 4ae95, c2b22, b95ff, 9e2aa, afaa1, e9610, 10ae8, b95cf, f334e, 4c153, bf412, 38395, 5692d, a1d7e, 5f009, 0c2b6, e9a68, 9f53d, d7adf, 9da50, f232b, 92100, 129a1, be2a5, fb418, 0a013, 2a0e2, d0d35, 24e82, 3dcd8, 297f6, 903eb, ba5b6, 7864a, 8638b, 25801, 421ab, 91e9b, f291e, 71038, fdc85, aed1b, ccf29, 673a4, 1cf24, daa06, ef11d, 84796, 1233e, b8927, 079a6, 658c3, f6609, b7b78, cf5d9, 4b194, 34b25, da6e8, d289b, edb92, a2329, 937e9, d302c, 9807f, caa20, 27cf2, 91dda, 7e0e8, 99ea0, 22371, 7a912, 6021c, ec529, b632a, d2a70, 12e55, bb6fd, 9833d, 24c22, 16c4b, 4cc84, 4d748, 34dcb, e790e, f2fbc, 8fd66, f8875, a71dd, 75827, a33ed, 0a3a3, 28ef5, 6d24b, ba008, 26b40, 36b68, 85818, c42c1, af8b5, 2bf0a, e02a5, 48aaf, 09bdc, 892b4, c9cde, 34c68, ca194, 312b3, 5bf21, 3a322, d6e30, 53cb9, 816e1, badbb, 4808d, 4bc36, 8e182, aed9f, f488b, 1f939, 2870a, 095e7, 19a7b, e4a4f, ddbc1, 28aea, 37c2d, 04590, 0fedb, 1f3b9, 7cd2b, 0feca, a0ba6, 090ba, c591c, 20a9e, 3fca5, ca2df, d37f6, 3b3b7, 1ddaa, b3eeb, ef005, 84701, e10dc, 62770, 1eada, 7067d, 686ac, 42c55, 660d5, bedaa, ebec3, 42102, 1486f, 54b94, ef9a6, 23468, fe492, 81548, cee36, 78efd, af0a8, af3a5, 4e8d9, 6764c, af33e, c7c59, 54b43, b58df, 26394, df72d, d1fb8, 1289e, 764d3, c3be1, 9fae0, 6e386, 98784, 42064, 81a30, 609c0, e4b95, c2dd6, ea5cf, 56abc, aac90, b928e, 40fea, ef67d, 21970, 76b4c, 6ac4a, c611e, ebbf9, 6b484, ddadc, 37509, 25d67, eb8e4, 6badf, d4d9f, 6add8, 248db
- Associated Commits: fd022, adf98, 46aa3, c5d68, e2c9c, 9e1fb, d55c3, 3cfec, 36dd8, 6197e, d22f1, cf06e, 062e8, 9f058, 4a250, 9b66c, 66cdd, 75bf3, 1b488, 34781, 8e047, eb311, c690b, 0a05d, 55594, 8c296, e4fea, e95c9, 18cee, d7479, 9b7dd, fc3f8, 0e10a, 45906, 5d3b8, 31ee7, 76bf6, 963bf, 3ff4e, fd755, b8066, 24428, e4304, c66af, d5b0a, 6ff93, 4ae95, c2b22, b95ff, 9e2aa, afaa1, e9610, 10ae8, b95cf, f334e, 4c153, bf412, 38395, 5692d, a1d7e, 5f009, 0c2b6, e9a68, 9f53d, d7adf, 9da50, f232b, 92100, 129a1, be2a5, fb418, 0a013, 2a0e2, d0d35, 24e82, 3dcd8, 297f6, 903eb, ba5b6, 7864a, 8638b, 25801, 421ab, 91e9b, f291e, 71038, fdc85, aed1b, ccf29, 673a4, 1cf24, daa06, ef11d, 84796, 1233e, b8927, 079a6, 658c3, f6609, b7b78, cf5d9, 4b194, 34b25, da6e8, d289b, edb92, a2329, 937e9, d302c, 9807f, caa20, 27cf2, 91dda, 7e0e8, 99ea0, 22371, 7a912, 6021c, ec529, b632a, d2a70, 12e55, bb6fd, 9833d, 24c22, 16c4b, 4cc84, 4d748, 34dcb, e790e, f2fbc, 8fd66, f8875, a71dd, 75827, a33ed, 0a3a3, 28ef5, 6d24b, ba008, 26b40, 36b68, 85818, c42c1, af8b5, 2bf0a, e02a5, 48aaf, 09bdc, 892b4, c9cde, 34c68, ca194, 312b3, 5bf21, 3a322, d6e30, 53cb9, 816e1, badbb, 4808d, 4bc36, 8e182, aed9f, f488b, 1f939, 2870a, 095e7, 19a7b, e4a4f, ddbc1, 28aea, 37c2d, 04590, 0fedb, 1f3b9, 7cd2b, 0feca, a0ba6, 090ba, c591c, 20a9e, 3fca5, ca2df, d37f6, 3b3b7, 1ddaa, b3eeb, ef005, 84701, e10dc, 62770, 1eada, 7067d, 686ac, 42c55, 660d5, bedaa, ebec3, 42102, 1486f, 54b94, ef9a6, 23468, fe492, 81548, cee36, 78efd, af0a8, af3a5, 4e8d9, 6764c, af33e, c7c59, 54b43, b58df, 26394, df72d, d1fb8, 1289e, 764d3, c3be1, 9fae0, 6e386, 98784, 42064, 81a30, 609c0, e4b95, c2dd6, ea5cf, 56abc, aac90, b928e, 40fea, ef67d, 21970, 76b4c, 6ac4a, c611e, ebbf9, 6b484, ddadc, 37509, 25d67, eb8e4, 6badf, d4d9f, 6add8, 248db
2. src: fix --build-sea default executable path: This pull request fixes the default executable path for the --build-sea option in the Node.js source code, addressing issue #61579, and includes tests and cleanup to ensure proper functionality.
- URL: pull/61708
3. http2: fix zombie session crash on socket close: This pull request fixes a crash in Node.js HTTP/2 by ensuring that when a read error occurs on a socket (indicating the underlying transport is dead), the corresponding HTTP/2 session is properly closed to prevent it from becoming a “zombie” session that can cause assertion failures and process crashes.
- URL: pull/61702
Other Closed Pull Requests
- Embedder-run modules and dynamic import support: This pull request introduces support for dynamic
import()andimport.metain embedder-run modules by adding anembedder_module_hdoto identify such modules and implementingSourceTextModuleTypesfor customizable source text module compilation in JavaScript viacompileSourceTextModule(). It also refactors the existing embedder module compilation code to reuse the built-in resolution logic.
pull/61654
- Compression allocation tracking and memory management: This pull request refactors compression allocation tracking by extracting zlib allocation tracking into its own class and enables memory release for zstd contexts upon stream closure to improve early memory management in JavaScript. It also removes the storage of compression methods on Brotli classes and introduces tracking of allocations made by zstd streams to provide diagnostic capabilities and inform the JavaScript runtime about external memory usage.
pull/61717
- HTTP keep-alive socket reuse race condition fix: This pull request addresses a race condition in the HTTP keep-alive socket reuse mechanism by adding a guard in
requestOnFinish()to prevent double calls toresponseKeepAlive()when the response ends before the request's'finish'event fires. This fix avoids socket corruption and resolves issue #60001.
pull/61710
- FileAPI test updates and FileReader removal: This pull request updates the FileAPI tests by incorporating changes from the Web Platform Tests (WPT) and modifies the
test_blob()helper functions to no longer useFileReader. These changes enable the tests to run successfully in Node.js.
pull/61750
- Custom compression dictionaries for Brotli in zlib: This pull request adds JavaScript API support for using custom compression dictionaries with Brotli in the zlib library. It aligns Brotli's functionality with the existing Brotli dependency and the approach used by zstd, enhancing compression capabilities in Node.js.
pull/61763
- AssertSnapshot stacktrace transformation unification: This pull request unifies the assertSnapshot stacktrace transformation by hiding Node.js internal stack frames with a placeholder to avoid frequent snapshot updates during core development. It preserves userland stack frames with accurate line and column numbers to ensure snapshot correctness and alert developers to impactful changes in userland code locations.
pull/61665
- File handle leak fixes in REPL history and http2 respondWithFile: These pull requests fix file handle leaks by ensuring proper closure of file descriptors. One addresses the REPL history initialization to prevent
ERR_INVALID_STATEerrors caused by garbage collector closing handles, and the other fixes thehttp2module'srespondWithFilefunction by closing file descriptors on header validation failure.
pull/61706, pull/61707
- Code comment and documentation improvements: These pull requests update an outdated FIXME comment in the ESM translators file and fix broken links in the
net.mddocumentation file to improve code clarity and documentation accuracy.
pull/61715, pull/61673
- Watch mode regression fix restoring flag retrieval: This pull request fixes a regression in Node.js watch mode by restoring the retrieval of command-line flags from
process.execArgvinstead ofgetOptionsAsFlagsFromBinding(). This preserves the original flag ordering.
pull/61779
- README typo correction: This pull request corrects a grammatical typo in the README file's LTS release description by changing "12 months of Active a LTS support" to "12 months of Active LTS support" to enhance clarity and accuracy.
pull/61797
- V8 ASCII fast path optimization cherry-picks: These pull requests cherry-pick V8 engine commits that optimize the ASCII fast path in the
WriteUtf8V2function by implementing SIMD-accelerated ASCII validation and bulk memory copying. The changes improve performance for ASCII-only one-byte strings and address a specific Node.js issue.
pull/61798, pull/61712
- Duplex.toWeb() option rename for webstreams compliance: This pull request renames the
typeoption in theDuplex.toWeb()method toreadableTypeto align with the webstreams standard for specifying the readable component type. It maintains backward compatibility by keepingtypeas a silent alias and prepares for potential future writable stream type support.
pull/61632
- Build workflow environment variable update: This pull request updates shared build workflows to use the canonical
SCCACHE_GHA_ENABLEDenvironment variable instead of settingSCCACHE_GHA_VERSION=on. This prevents the addition of a version suffix that blocks cache sharing between shared and non-shared workflows.
pull/61640
- Sccache debug run (not to be merged): This pull request is a debug run for sccache intended for testing purposes and is marked as not to be merged.
pull/61643
- WinGet configuration for Visual Studio 2022 Build Tools: This pull request adds a WinGet configuration for the Visual Studio 2022 Build Tools Edition to the Node.js project's automated Windows build prerequisites. It corrects documentation to reflect the installation of this edition and aligns workload naming with the Visual Studio Installer UI.
pull/61652
- Worker threads TOCTOU race condition fix: This pull request fixes a Time-of-Check Time-of-Use (TOCTOU) race condition in Node.js worker threads by reordering the
process.chdir()wrapper to change the directory before incrementing the shared counter. This prevents workers from caching stale current working directory values and ensures accurate directory paths in concurrent multi-threaded environments.
pull/61664
- V8 riscv64 stack pointer fix backport: This pull request backports a fix to the V8 engine that corrects stack pointer handling in the MacroAssembler for riscv64 architectures. It prevents data corruption caused by signal handlers interrupting JIT-compiled code, addressing a long-standing heisenbug affecting Node.js since version 16.
pull/61666
- Test runner SIGINT interruption enhancement: This pull request enhances the test runner to display the specific test running when the process is interrupted by a SIGINT signal (Ctrl+C). It adds a
test:interruptedevent, updates reporters to show this information in TAP and spec formats, and improves visibility into hanging or long-running tests.
pull/61676
- Build process improvement for version detection failures: This pull request improves the build process by displaying compiler output when version detection fails during the
./configurestep on GitHub Actions. This helps diagnose and improve configuration errors.
pull/61700
- Http2SecureServer keep-alive timeout initialization: This pull request addresses an issue in the Node.js HTTP/2 implementation by initializing the
keepAliveTimeoutandkeepAliveTimeoutBufferproperties onHttp2SecureServerinstances whenallowHTTP1is true. This ensures the server correctly applies standard HTTP timeout behaviors during HTTP/1.1 fallback and prevents these properties from being undefined.
pull/61713
- CommonJS lexer external reference registration fixes: These pull requests fix issues in the CommonJS lexer by ensuring external references are properly added to the registration list and add additional validation checks with improved documentation to detect unregistered bindings.
pull/61718, pull/61719
3.3 Pull Request Discussion Insights
This section will analyze the tone and sentiment of discussions within this project's open and closed pull requests that occurred within the past week. It aims to identify potentially heated exchanges and to maintain a constructive project environment.
Based on our analysis, there are no instances of toxic discussions in the project's open or closed pull requests from the past week.
IV. Contributors
4.1 Contributors
Active Contributors:
We consider an active contributor in this project to be any contributor who has made at least 1 commit, opened at least 1 issue, created at least 1 pull request, or made more than 2 comments in the last month.
If there are more than 10 active contributors, the list is truncated to the top 10 based on contribution metrics for better clarity.
| Contributor | Commits | Pull Requests | Issues | Comments |
|---|---|---|---|---|
| joyeecheung | 29 | 6 | 0 | 20 |
| mcollina | 37 | 9 | 0 | 0 |
| aduh95 | 28 | 5 | 0 | 3 |
| Renegade334 | 10 | 6 | 1 | 11 |
| legendecas | 18 | 7 | 0 | 2 |
| araujogui | 26 | 0 | 0 | 0 |
| MikeMcC399 | 16 | 5 | 3 | 0 |
| anonrig | 15 | 3 | 0 | 5 |
| Han5991 | 14 | 5 | 0 | 2 |
| amyssnippet | 13 | 2 | 0 | 4 |
Access Last Week's Newsletter: