Weekly GitHub Report for Node: November 24, 2025 - December 01, 2025 (12:02:08)
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 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.
-
[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
-
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
-
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
-
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
-
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.
- 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, andtest-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. - Flaky
test-worker-arraybuffer-zerofillwith V8 12.2: This issue concerns the flaky behavior of thetest-worker-arraybuffer-zerofilltest 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. - Support loading dynamic addon modules (
.nodefiles) when embedding the Node.js shared library without needing to link withnode.def: This issue addresses the challenge of loading dynamic Node.js addon modules (.nodefiles) on Windows when embedding the Node.js shared library into a different executable without the need to link that executable with thenode.deffile. 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. - Please make Node.js embeddable (e.g. libnode): This issue requests the creation of a
libnodelibrary 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. - 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.createHashmethod 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 infs.watchon 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-typesflag does not correctly depend on the--without-amaroconfigure 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
SuiteContextobject in the Node.js testing API includes afullNameproperty 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 fromprocess.env, making them inaccessible and causing errors when inspectingprocess.env, despite numeric names being valid and settable. - [issues/60757, issues/60795]
- Error Handling and Crashes:
util.inspectcrashes when inspecting an object with a getter property whose associated error'smessagegetter throws an error, instead of returning a placeholder string like"<Inspection threw>". Moreover, using SolidJS'srenderToStreamwith thesrvxserver 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 namedserver.mjsis 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
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
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
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 plainassert()statements, as well as updating test cases to useassert.matchfor 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.1manpage and CLI reference, clarifying API usage fordatabase.createTagStore, improving the explanation of dual CommonJS/ES module packages, updating examples forutil.getCallSites, and clarifying security considerations forfileURLToPath()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()withFunction.prototype.call()inhttp2andzlibmodules 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.pyscript 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
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
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.escapefor safer regex handling, forcing major garbage collections in CppGC tests, and fixing Windows-specific test issues to reduce CI flakiness.
- 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.
- 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.
- 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.
- Code quality and performance enhancements: These pull requests improve code clarity and performance by preferring
call()overapply()when appropriate, removing unused private fields, and optimizing URL inspection by replacing slower array methods with efficient iteration.
- 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.envto coerce indexed property values to strings. These changes improve consistency and correctness in process termination and environment variable handling.
- Testing modernization and linting: Pull requests modernize test code by replacing deprecated regex assertions with
assert.match()andassert.doesNotMatch(), and add a lint rule forbiddingassert.ok(/regex/.test(…))to improve test code quality and readability.
- 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.
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 |