Weekly Project News

Subscribe
Archives

Weekly GitHub Report for Node: March 03, 2025 - March 10, 2025

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
    • 1.2. Other Noteworthy Updates
  • II. Issues
    • 2.1. Top 5 Active Issues
    • 2.2. Top 5 Stale Issues
    • 2.3. Open Issues
    • 2.4. Closed Issues
    • 2.5. Issue Discussion Insights
  • III. Pull Requests
    • 3.1. Open Pull Requests
    • 3.2. Closed Pull Requests
    • 3.3. Pull Request Discussion Insights
  • IV. Contributors
    • 4.1. Contributors

I. News

1.1 Recent Version Releases:

The current version of this repository is v23.8.0

1.2 Version Information:

Released on February 13, 2025, this Node.js update introduces several key features, including support for using system CA certificates on macOS and Windows, the implementation of the URL Pattern API, and the addition of the zstd compression algorithm. Notable enhancements also include naming threads for improved debugging and updated timezone data to 2025a, reflecting changes such as Paraguay's adoption of permanent -03 time starting in spring 2024.

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.

As of our latest update, there are no active issues with ongoing comments this week.

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.

  1. Build error with clang on Mac OS X 10.15.7 (wasm-engine.cc:157:19: error: no viable overloaded '='): This issue involves a build error encountered when attempting to install Node.js version 22.1 on Mac OS X 10.15.7 using the Clang compiler. The error arises from a type mismatch in the wasm-engine.cc file, specifically at line 157, where there is no viable overloaded assignment operator for converting a std::unique_ptr<char[]> to a std::shared_ptr<const char[]>.
  2. Prevent [ERR_STREAM_PREMATURE_CLOSE] error log when intentionally closing a stream before end: This issue involves a problem where a [ERR_STREAM_PREMATURE_CLOSE] error log appears in the console when a stream is intentionally closed before all data is consumed, despite the program terminating successfully with an exit code of 0. The user suspects that the error log might originate from another stream writing to the one being closed and seeks a way to prevent this error log from appearing, as it does not seem to indicate an actual error in the program's execution.
  3. http.request regression > v16 regression, 400 Bad Request is thrown when GET http.request has a payload: This issue describes a regression in the Node.js HTTP module where a 400 Bad Request error is thrown when a GET request is made with a payload, specifically affecting versions above v16. The problem occurs when using v20.13.0 on the client side and v16.16.0 on the server side, and it suggests that the error might be due to a combination of the server-side Node.js https.Server and the client-side https.request function, with a recommendation to add a warning for GET requests with a body to aid in debugging.
  4. Nodejs process crashed when using console to print some object. TypeError: Cannot read properties of undefined (reading 'reloadNavigation'): This issue describes a problem where a Node.js process crashes when attempting to use the console to print certain objects, specifically when trying to log c.req within a Hono application, resulting in a TypeError related to reading properties of undefined. The error appears to be linked to either a bug in Node.js or incorrect usage of its internals, as indicated by the stack trace provided in the issue report.
  5. Verify that npm is runnable in tests: This issue is about ensuring that npm is properly packaged and functional in releases by incorporating checks into the testing process. It highlights past problems, as seen in issues #52682 and #52884, where npm was not correctly included, suggesting that tests should verify npm's operability to prevent similar occurrences.

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: 0

Summarized Issues:

As of our latest update, there are no open issues for the project this week.

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: 8

Summarized Issues:

  • Node.js Method Handling Issues: The Array.fromAsync method in Node.js version 22.13.0 does not handle proxies correctly when a custom this argument is provided, leading to a sparse array instead of a TypeError. This issue might be related to the V8 engine rather than Node.js itself.
    • nodejs/node/issues/56952
  • File I/O Errors on Linux Filesystems: Using the O_DIRECT flag for file I/O operations in Node.js on certain Linux filesystems like xfs and overlayfs results in an EINVAL: invalid argument error due to buffer alignment requirements. These operations work correctly in Go and on other filesystems such as tmpfs and macOS.
    • nodejs/node/issues/57047
  • Node.js Server Errors on Darwin: An "ERR_INTERNAL_ASSERTION" error occurs when running a Node.js server built with Vite on a Darwin platform, related to an unknown worker message type. The issue includes a detailed stack trace highlighting the problem within the internal worker and zone.js modules.
    • nodejs/node/issues/57123
  • TLS Proxy Support on Windows: There is a need to support intermediate CA certificates on Windows for third-party SaaS TLS proxies, similar to macOS support. The proposed solution involves adding the root CA certificate to Trusted Root Certification Authorities and the intermediate CA certificate to Intermediate Certification Authorities in the Certificates - Current User store.
    • nodejs/node/issues/57163
  • Mocha Test Errors with CommonJS: Mocha tests encounter an "ERR_REQUIRE_CYCLE_MODULE" error on the latest CommonJS version, linked to a backport affecting all tests. This issue is discussed in detail in an upstream issue on Mocha's GitHub repository.
    • nodejs/node/issues/57172
  • Type Stripping in TypeScript Files: Challenges exist in enabling type stripping in node_modules for TypeScript files, especially in monorepo setups. The current restriction against TypeScript-only packages in node_modules leads to inefficiencies, and a proposed opt-in flag or environment variable could allow type stripping in specific contexts.
    • nodejs/node/issues/57215
  • NAPI Module Import Crashes: Importing a NAPI module, specifically the keytar module, causes a hard crash in Node.js due to compatibility problems between different Node.js versions. This issue is linked to napi-build-utils and prebuild-install tools, and a lack of documentation for NAPI version 10.
    • nodejs/node/issues/57233
  • Performance Degradation in deepStrictEqual: The deepStrictEqual function in the Node.js assert module has significant performance degradation in versions 22.12.0 and later. Comparing large objects has become increasingly slow and memory-intensive, with execution times and memory usage escalating dramatically compared to version 22.11.0.
    • nodejs/node/issues/57242

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.

  1. Node hard crash when importing napi module
    • Toxicity Score: 0.55 (Defensive responses, dismissive tone, unresolved frustration.)
    • This GitHub conversation involves multiple users discussing a technical issue with varying degrees of frustration and defensiveness. User1 points out a potential cause of the problem, linking it to external issues, while User2 clarifies that the problem lies with a specific tool rather than the core technology. User3 expresses dissatisfaction with the impact of the issue on their application, emphasizing the severity of the problem. User4 dismisses further discussion, attributing the problem to user error. The tone shifts from informative to defensive and dismissive, with tension arising from differing perspectives on responsibility and the severity of the issue.

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: 0

As of our latest update, there are no open pull requests for the project this week.

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: 18

Key Closed Pull Requests

1. crypto: add support for intermediate certs in --use-system-ca: This pull request adds support for intermediate certificates in the --use-system-ca option of the crypto module, includes tests to validate the handling of intermediate certificates across macOS, Windows, and Linux, and addresses a related issue in the Node.js project.

  • URL: pull/57164
  • Merged: 2025-03-05T15:27:26Z
  • Associated Commits: 03297, e6d4c, 0bcaa, c3b8c

2. path: (dirname) move early exits to the top: This pull request involves reorganizing the code in the 'dirname' path function by moving early exit conditions to the top and adding an additional early exit for when the length is equal to two, as well as including a linting commit and a commit for adding tests and tidying up the code.

  • URL: pull/57058
  • Merged: No
  • Associated Commits: 06b34, 44d86, 9e876

3. tls: implement tls.getCACertificates(): This pull request introduces a new API, tls.getCACertificates(), to Node.js, which allows users to query different types of Certificate Authority (CA) certificates, including default, system, bundled, and extra certificates, while also addressing inaccuracies in the existing tls.rootCertificates documentation and ensuring that the new API does not alter the established behavior of tls.rootCertificates.

  • URL: pull/57107
  • Merged: 2025-03-06T17:16:27Z
  • Associated Commits: 7f5fc, 467da, 6eefe

Other Closed Pull Requests

  • Runtime Deprecation for Cipheriv and Decipheriv: This topic involves introducing a runtime deprecation for calling Cipheriv(...) and Decipheriv(...) without the new keyword in the Node.js library. The aim is to encourage the use of createCipheriv(...) and createDecipheriv(...) methods, ensuring safer and more consistent usage patterns.
    • pull/57268
  • Documentation Updates: Several pull requests focus on updating documentation to improve clarity and usability. One clarifies that path.isAbsolute() does not resolve paths, while another provides detailed instructions for executing the tools/inspector_tools/roll.py script.
    • pull/57073, pull/57167
  • Codebase Optimization and Performance Improvements: These pull requests aim to optimize the Node.js codebase and improve performance. They include simplifying the compareTimersLists function, utilizing a pre-cached emit v8::String, and implementing Maybe<void> in ProcessEmitWarningSync.
    • pull/57110, pull/57249, pull/57250
  • Error Handling Enhancements: Two pull requests focus on enhancing error handling mechanisms within the source code. They aim to ensure more accurate propagation of errors, although neither was ultimately merged into the main project.
    • pull/57262, pull/57264
  • Removal of Obsolete Crypto Exports: This pull request aims to remove obsolete Cipher and Decipher exports from the Node.js crypto module. It addresses documentation inaccuracies and discusses the potential semver-major impact on ESM imports.
    • pull/57266
  • Test Suite Enhancements: Enhancements to the test suite include incorporating more instances of common.mustNotCall in the net and tls modules. This change improves test accuracy and reliability by replacing empty callbacks.
    • pull/57246
  • Compression and Compilation Updates: Updates include changes to the compression web-platform tests and addressing a compilation error in the node_config_file.h within the GN build system. These updates ensure the tests and builds are up-to-date and error-free.
    • pull/56960, pull/57210
  • V8 Module Enhancements: A new method, v8.getCppHeapStatistics(), is introduced to the v8 module. This method allows the exposure of CppHeap data, addressing issue #56533.
    • pull/57146
  • Handling Cached Linked Asynchronous Module Jobs: This pull request addresses issues with handling cached linked asynchronous module jobs in Node.js's ECMAScript module system. It ensures proper management of module jobs in the load cache, preventing unnecessary re-evaluation and improving error handling.
    • pull/57187
  • Removal of Redundant Qualifiers: This pull request involves the removal of redundant qualifiers in the src/quic directory of the Node.js project. The change was successfully merged, streamlining the codebase.
    • pull/56967

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 55 5 0 29
aduh95 33 1 2 40
jasnell 21 5 2 43
targos 44 1 1 18
gurgunday 24 8 0 20
anonrig 28 3 0 13
marco-ippolito 13 3 0 16
Ankush1oo8 18 1 0 3
ljharb 0 0 0 22
dario-piotrowicz 15 0 1 4

Don't miss what's next. Subscribe to Weekly Project News:
Powered by Buttondown, the easiest way to start and grow your newsletter.