Weekly Project News

Archives
Subscribe
December 1, 2025

Weekly GitHub Report for Node: November 24, 2025 - December 01, 2025 (12:05:50)

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.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 test runners and other features, enhancing developer experience. Additionally, it includes updates to root certificates, new TLS and V8 methods, improved error handling, and various tooling and documentation 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.

  1. [LoongArch] Compilation Error in Main Branch Due to Brotli Dependency: "invalid argument of ‘model’ attribute": This issue reports a compilation error on the LoongArch64 architecture in the main branch of Node.js caused by the brotli dependency, specifically due to the GCC compiler not supporting the ((model("small"))) attribute. The problem was introduced in brotli version 1.2.0, and while a fix exists in the brotli codebase, it has not yet been released officially, leading to build failures unless the brotli submodule is updated to a specific commit.

    • The comments discuss whether the fix can be cherry-picked into the Node.js brotli dependency or if users must wait for the next official brotli release; it is confirmed the issue started with brotli 1.2.0 and a fix is available upstream, but typically the project waits for an official update, though submitting a cherry-pick PR is suggested but not guaranteed to be accepted.
    • Number of comments this week: 4
  2. Build fails with Visual Studio 2026: This issue reports that building Node.js release branches v20.x through v25.x fails when using Visual Studio 2026, despite the documentation indicating support for Visual Studio versions greater than or equal to the specified minimum (e.g., VS2019 or VS2022). The build process does not detect Visual Studio 2026 in these branches, although the main branch builds successfully with it, highlighting a compatibility or configuration gap in the release branches.

    • The comments discuss the need for updated gyp-next support and specific commits to enable compatibility, but question the value of backporting these changes to older release branches due to differing V8 versions and MSVC issues. A consensus emerges suggesting it may be simpler and more practical to update the documentation to specify exact supported Visual Studio versions rather than attempting to support VS2026 in LTS branches, with suggestions to adjust download links accordingly.
    • Number of comments this week: 4
  3. TextDecoder behavior is wrong since 20.18.3/22.13.0: This issue reports that the TextDecoder implementation in Node.js has incorrect behavior for the 'windows-1252' encoding starting from versions 20.18.3 and 22.13.0, where it treats 'windows-1252' as a subset of Unicode rather than correctly mapping its distinct code points. This regression contradicts the official documentation and previous correct behavior in earlier versions, and it occurred after these versions were designated as LTS, prompting a request to revert the changes causing the problem.

    • The comments identify related issues and pinpoint a specific pull request as the likely cause of the regression. Contributors express appreciation for the clarification distinguishing 'windows-1252' from 'latin1' and share additional explanatory information linked to the suspected pull request.
    • Number of comments this week: 4
  4. Segmentation Faults on node 20.19.6: This issue reports segmentation faults occurring in Node.js version 20.19.6 when used within an official Docker image, causing containers to crash randomly with exit code 139 on AWS ECS Fargate services. The user traced the problem to an update from version 20.19.5 to 20.19.6 and found that reverting to the previous version resolved the crashes, suggesting a regression that requires further investigation.

    • The comments highlight the difficulty in reproducing the issue, noting the importance of the problem due to unexpected system faults. Contributors emphasize the challenge of debugging without a reliable reproduction, with one user sharing similar experiences on a different cloud platform and confirming that locking the Node.js version to 20.19.5 prevents the segmentation faults.
    • Number of comments this week: 3
  5. Python 3.14 is not accepted in Branches v20.x, v22.x & v24.x: This issue addresses the problem that Python 3.14 is not currently accepted in the Node.js branches v20.x, v22.x, and v24.x, causing build errors when using this Python version, particularly noted on Fedora 43 where Python 3.14 is the system default. The discussion highlights the need for updates to the configure script to support Python 3.14 in these release lines without breaking compatibility, while also noting existing workarounds and concerns about changes to workflow configurations.

    • The comments clarify that the issue was initially noted in another thread and suggest that reproducing the problem on Fedora 43 could be helpful. They also mention a common workaround involving bypassing the configure script’s version check by running it directly with Python 3.14, and emphasize the importance of updating Node.js release lines to properly detect and support Python 3.14 as it becomes more widely used.
    • 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.

  1. Flaky GC-related tests with V8 12.2: This issue addresses flaky garbage collection-related tests that have become unreliable with the update to V8 version 12.2, specifically mentioning tests like test-shadow-realm-gc-module, test-shadow-realm-gc, and test-net-write-fully-async-hex-string. The proposed approach is to skip these tests temporarily due to their instability caused by changes in V8's garbage collection strategy, with plans to find a more robust testing method in the future.
  2. Flaky test-worker-arraybuffer-zerofill with V8 12.2: This issue concerns the flaky behavior of the test-worker-arraybuffer-zerofill test when running with V8 version 12.2, where the test intermittently fails due to a timeout after approximately 300 seconds. The problem may stem from either a genuine bug or broken timing assumptions causing lost messages, and the current approach is to mark the test as flaky while adding additional logging to aid in debugging.
  3. Support loading dynamic addon modules (.node files) when embedding the Node.js shared library without needing to link with node.def: This issue addresses the challenge of loading dynamic Node.js addon modules (.node files) on Windows when embedding the Node.js shared library into a different executable without the need to link that executable with the node.def file. It proposes a potential solution involving the use of an environment variable to guide the delay load hook to the correct module handle, thereby enabling addon modules to load correctly without relying on the executable’s symbol exports, though it also notes concerns about possible security implications of this approach.
  4. Please make Node.js embeddable (e.g. libnode): This issue requests the creation of a libnode library that would make Node.js embeddable within other host environments, such as Rust-based applications, by exposing Node.js capabilities and enabling native API access. The feature aims to address the current difficulty projects face when trying to embed Node.js as a runtime, which forces them to rely on incomplete alternatives like Deno or undertake complex custom solutions.
  5. unable to sign with external OpenSSL engine after usage of crypto.hash: This issue describes a problem where signing data with an external OpenSSL engine (specifically the gost-engine) fails after using the crypto.createHash method in Node.js version 21.7.0 and later. The user reports that while the signature calculation works correctly in earlier versions (v21.6.2 and before), it now throws an "unsupported" error related to digital envelope routines, indicating a regression likely caused by recent changes in the Node.js crypto subsystem.

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

Summarized Issues:

  • Build and Compilation Issues on Various Architectures: Several issues report build failures and compilation errors on specific architectures such as LoongArch64, riscv64, and RISC-V, caused by unsupported compiler attributes, undefined references, or fatal check failures during the build process. These problems prevent successful native builds and require updates to dependencies or fixes in the build system to resolve.
  • [issues/60835, issues/60838, issues/60895]
  • Node.js Build System and Toolchain Compatibility: There are compatibility problems with newer development tools, including Visual Studio 2026 not being recognized during builds of release branches and Python 3.14 not being accepted in configuration for certain release branches. These issues cause build errors and require updates to the build system to support these newer tool versions properly.
  • [issues/60869, issues/60874]
  • Node.js Core API and Behavior Bugs: Multiple issues highlight incorrect or inconsistent behavior in Node.js core APIs, such as improper handling of TLS 1.3 session resumption callbacks, silent error discarding in replServer.setupHistory(), and incorrect event emission in fs.watch on Windows and Linux. These bugs lead to unexpected or incorrect runtime behavior that needs re-implementation or fixes to align with expected standards.
  • [issues/60837, issues/60847, issues/60859]
  • JavaScript and V8 Integration Issues: Problems related to JavaScript engine integration include crashes when importing internal V8 tools, incorrect stack trace retrieval from proxied Error objects, and regressions in TextDecoder behavior for 'windows-1252' encoding. These issues affect debugging, module loading, and character decoding, requiring fixes in the interaction between Node.js and V8.
  • [issues/60862, issues/60865, issues/60888]
  • Benchmark and Testing Improvements: There are issues with benchmark accuracy and test runner output, such as a base64 encoding benchmark testing the wrong input and the test runner not printing failure reasons for coverage reports with the dot reporter. These problems reduce the reliability and usability of testing and benchmarking tools.
  • [issues/60836, issues/60884]
  • Node.js API Enhancements: A proposal exists to improve support for calling super constructors in derived classes within the Node API by introducing a new function that properly handles new.target. This aims to address current limitations and inefficient or unstable workarounds in class inheritance patterns.
  • [issues/60829]
  • Runtime Stability Regressions: A regression in the official Node.js Docker image update caused random segmentation faults and container crashes on AWS ECS Fargate, which were resolved by reverting to an earlier Node.js version. This indicates a stability issue introduced in a recent release that impacts production environments.
  • [issues/60882]

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

Summarized Issues:

  • Build Configuration and Compatibility Issues: The default value of the --experimental-strip-types flag does not correctly depend on the --without-amaro configure flag, causing test failures when building without amaro because the flag defaults to true instead of false. Additionally, there is a need to update the Node.js build toolchain to support Visual Studio 2026, requiring npm to be upgraded to at least version 11.6.3, which affects different Node.js release branches and their supported Visual Studio versions.
  • [issues/60640, issues/60861]
  • Runtime and API Inconsistencies: The SuiteContext object in the Node.js testing API includes a fullName property at runtime that is missing from both the official documentation and TypeScript type definitions, leading to inconsistencies and potential confusion. Also, environment variables with purely numeric names are missing from process.env, making them inaccessible and causing errors when inspecting process.env, despite numeric names being valid and settable.
  • [issues/60757, issues/60795]
  • Error Handling and Crashes: util.inspect crashes when inspecting an object with a getter property whose associated error's message getter throws an error, instead of returning a placeholder string like "<Inspection threw>". Moreover, using SolidJS's renderToStream with the srvx server framework on Linux causes a crash due to an unhandled promise rejection related to a closed writable stream when canceling a high-load streaming benchmark, indicating a potential bug in streaming response handling.
  • [issues/60683, issues/60827]
  • Testing and Documentation Gaps: There is a missing test case verifying that path.posix.normalize('') returns '.', highlighting a gap in test coverage for empty-string input in path normalization. Additionally, a file named server.mjs is referenced in relation to a comment by a user in a related Node.js repository issue, suggesting a discussion or problem that may involve documentation or code clarity.
  • [issues/60822, issues/60856]
  • Team Review Requests: A review has been requested from the @nodejs/http and @nodejs/net teams on a specific pull request or change in the Node.js repository, indicating coordination needs among core teams.
  • [issues/60866]

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

Key Open Pull Requests

1. util: improve textencoder encodeInto performance: This pull request improves the performance of the TextEncoder's encodeInto method in Node.js by optimizing its implementation, resulting in significant speedups across various string types and lengths, and includes benchmarks demonstrating these enhancements.

  • URL: pull/60843
  • Merged: No
  • Associated Commits: f9934, 66bc5, eaced, ee71c, 435f0, 4cec6

2. test-runner: fix potential memory leaks: This pull request addresses potential memory leaks in the test runner by explicitly closing the readline interface after test execution and refactoring the watch mode event handler to a named function with proper cleanup, thereby preventing unbounded memory growth, improving long-running test suite stability, and ensuring clean shutdowns in watch mode, with new regression tests added to verify these fixes.

  • URL: pull/60860
  • Merged: No
  • Associated Commits: 6d5c9, 554a1, 4705e

3. src: optimize trace_name allocation in Worker::Run: This pull request aims to optimize the allocation of the trace_name variable in the Worker::Run function by preventing the creation of unnecessary temporary strings.

  • URL: pull/60886
  • Merged: No
  • Associated Commits: 0c80b, 8ea86, 1b54d

Other Open Pull Requests

  • Linting and Assertion Improvements: Several pull requests focus on enhancing the linting process and assertion usage in tests. These include expanding lint coverage for assert(regexp.test(...)) and plain assert() statements, as well as updating test cases to use assert.match for variable-based regular expressions that cannot be linted without type parsing.
    [pull/60878, pull/60879]
  • Documentation Updates and Additions: Multiple pull requests update and expand Node.js documentation, including adding missing CLI options to the node.1 manpage and CLI reference, clarifying API usage for database.createTagStore, improving the explanation of dual CommonJS/ES module packages, updating examples for util.getCallSites, and clarifying security considerations for fileURLToPath() functions. These changes improve accuracy, completeness, and usability of the documentation.
    [pull/60840, pull/60857, pull/60873, pull/60877, pull/60880, pull/60885]
  • Performance and Code Optimization: Some pull requests propose performance improvements such as replacing Function.prototype.apply() with Function.prototype.call() in http2 and zlib modules for better speed, and optimizing asyncHandledRejections by using a FixedQueue instead of an Array to improve dequeue performance from O(N) to O(1). These optimizations are supported by benchmarks showing significant gains.
    [pull/60834, pull/60854]
  • Test and Build Process Enhancements: Several pull requests improve testing and build processes, including adding a test for recursive property access on built-in modules, skipping the SEA inspect test when the inspector is unavailable, modifying the build process to run embedtest with the debug executable, and fixing crashes in the REPL related to multiline command history navigation.
    [pull/60871, pull/60872, pull/60850, pull/60833]
  • Code Style and Consistency Enforcement: Pull requests address code style consistency by enforcing trailing commas in test directories and cleaning up CSS for syntax highlighting to fix duplicates and conflicts. These changes improve maintainability and align with existing style guidelines without introducing breaking changes.
    [pull/60891, pull/60892, pull/60876]
  • Bug Fixes and Reverts: A pull request reverts a previously merged commit that added a fast path for Latin1 decoding in the utility module, addressing multiple related issues. Another fixes the DOMException name for errors thrown when exporting non-extractable cryptographic keys, aligning with the Web Crypto API specification.
    [pull/60889, pull/60830]
  • Source Code and Memory Management Improvements: Some pull requests improve internal source code quality and memory management, such as adding a HandleScope to a loop in the heap_utils module and fixing JSDoc comments in preparation for eslint-plugin-jsdoc updates.
    [pull/60885, pull/60870]
  • Dependency and CI Build Fixes: One pull request modifies the tools/v8/fetch_deps.py script to exclude certain V8 third-party dependencies already present in the Node.js source tree, preventing conflicting directory warnings during V8 CI builds while acknowledging some dependencies remain separately fetched.
    [pull/60883]

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

Key Closed Pull Requests

1. 2025-11-25, Version 20.19.6 'Iron' (LTS), @marco-ippolito: This pull request merges the release of Node.js version 20.19.6 "Iron" (LTS) on 2025-11-25, featuring updates such as refreshed root certificates to NSS 3.114, documentation improvements including updated release verification instructions and deprecation of HTTP/2 priority signaling, along with various dependency updates, build fixes, test adjustments, and tooling enhancements.

  • URL: pull/60784
  • Merged: 2025-11-25T12:25:33Z
  • Associated Commits: fd9d4, e65b9, 45ec7, acec7, 6443a, 960d0, 3b236, db68c, 19a66, 082e5, cd153, 55611, fa5c5, 9eb94, 62779, 3456e, 20616, a07a2, bb108, 57624, 0cace, caa2d, bc3ff, a7a10, a6e7a, 2c8a7, 4f004, 2a11d, b8d14, 9e8be, 109c4, 3ec53, 7cb03, 8c5c8, 8a504, 4f858, 9543f, e51ef, fba00, e7f6f, 0f644, cbf4f, d0edb, 9f1e5, 69904, 76001, 393ff, 5d61b, 1788f, d1c9d, 409cb, 2426d, a2bcb, e5b4e, b4b5d, de9a3, d943c, dc58b, 1b75a, 4b4e3, b1da3, 14423, 6a530

2. util: safely inspect getter errors whose message throws: This pull request improves the Node.js utility module by safely handling and inspecting errors thrown by getters whose error messages themselves throw exceptions, ensuring more robust error inspection and adding relevant test cases.

  • URL: pull/60684
  • Merged: 2025-11-27T11:06:24Z
  • Associated Commits: 09d8f, 796a2, d1b18, bcb98, f8564, 94a70, 9b05e

3. doc: add fullName property to SuiteContext: This pull request adds documentation for the previously undocumented fullName property in the SuiteContext class, which returns the suite name and its ancestor names in a "Parent > Child" format, clarifies its availability since versions v22.3.0 and v20.16.0, and includes updates to version metadata formatting.

  • URL: pull/60762
  • Merged: 2025-11-25T19:34:19Z
  • Associated Commits: 4a9ad, c55c9, 755c5

Other Closed Pull Requests

  • Test suite improvements and reliability enhancements: Multiple pull requests focus on improving test reliability by adding or modifying assertions to ensure they are reached in more test cases, fixing flaky tests, and enhancing test coverage. These changes include using RegExp.escape for safer regex handling, forcing major garbage collections in CppGC tests, and fixing Windows-specific test issues to reduce CI flakiness.
    • pull/60803, pull/60672, pull/60761, pull/60763, pull/60759, pull/60760
  • V8 dependency updates and related patches: These pull requests propose updating the V8 engine dependency to version 13.6.233.17 and cherry-pick commits that modify FreeSpace object layout and increase FixedArrays maximum size. The changes aim to improve memory layout and support larger free space in the V8 engine used by Node.js.
    • pull/60712, pull/60713
  • Fixes for Windows debug test crashes: Several pull requests address crashes in debug test runs on Windows by extending thread lock scopes and correcting mode detection in test scripts. These fixes prevent debug-only V8 check failures and ensure the correct executable is used during testing.
    • pull/60806, pull/60807
  • Documentation and language consistency improvements: Pull requests in this group correct terminology and grammar in documentation, rewrite the README for clarity, and add clarifying comments to build and benchmark scripts. These changes enhance readability and technical accuracy for contributors and users.
    • pull/60692, pull/60821, pull/60839
  • Code quality and performance enhancements: These pull requests improve code clarity and performance by preferring call() over apply() when appropriate, removing unused private fields, and optimizing URL inspection by replacing slower array methods with efficient iteration.
    • pull/60825, pull/60802, pull/60748
  • Process and environment handling improvements: This set of pull requests updates the child_process module to set exit codes according to POSIX standards and fixes process.env to coerce indexed property values to strings. These changes improve consistency and correctness in process termination and environment variable handling.
    • pull/60720, pull/60826
  • Testing modernization and linting: Pull requests modernize test code by replacing deprecated regex assertions with assert.match() and assert.doesNotMatch(), and add a lint rule forbidding assert.ok(/regex/.test(…)) to improve test code quality and readability.
    • pull/60831, pull/60828
  • Build configuration and tooling updates: These pull requests modify the build system to handle TypeScript stripping options correctly when compiled without the Amaro wrapper and introduce a new temporal updater tool to the project, enhancing build flexibility and tooling capabilities.
    • pull/60815, pull/60828

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
aduh95 67 21 2 35
joyeecheung 40 7 1 3
Renegade334 14 6 0 24
targos 16 10 3 13
richardlau 10 4 2 15
legendecas 15 5 1 6
ChALkeR 6 4 4 9
RafaelGSS 12 5 0 4
LiviaMedeiros 10 6 1 4
marco-ippolito 11 2 0 7

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