Weekly GitHub Report for Node - 2025-01-13 12:00:13
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.6.0
1.2 Version Information:
On January 7, 2025, a new version was released that notably unflags the --experimental-strip-types
feature, allowing Node.js to execute TypeScript files without additional configuration, although it remains experimental. Other significant updates include the addition of TypeScript support to STDIN eval, new process.ref()
and process.unref()
methods, and enhancements in worker threads to support TypeScript evaluation, reflecting a trend towards improved TypeScript integration and process management capabilities.
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.
-
crypto.generatePrime results in an abort in FIPS mode: This issue reports a bug in Node.js version v22.11.0 where using the
crypto.generatePrime
function in FIPS mode results in an abort instead of handling the error gracefully. The expected behavior is for the system to throw an exception or error that can be caught and managed, rather than terminating the entire Node.js process.- The comments discuss attempts to reproduce the issue on different systems, with some users experiencing similar aborts and others encountering issues related to FIPS mode configuration. It is noted that the problem may be linked to the random number generation in FIPS mode, and a specific failure in the
CSPRNG()
function is identified as a potential cause. The discussion includes references to related issues and the importance of having a properly configured FIPS setup. - Number of comments this week: 6
- The comments discuss attempts to reproduce the issue on different systems, with some users experiencing similar aborts and others encountering issues related to FIPS mode configuration. It is noted that the problem may be linked to the random number generation in FIPS mode, and a specific failure in the
-
child_process.execFile
may resolve with incomplete output: This issue concerns thechild_process.execFile
function in Node.js, which may resolve with incomplete output when a timeout is set, leading to unexpected behavior where subprocesses appear to resolve successfully but with emptystdout
. The problem arises due to a race condition in the internalkill
function, which destroys thestdout
andstderr
streams, causing the promise to resolve with incomplete data even when the child process is not marked as killed.- The comments discuss the assumption that child processes should exit before the timeout, but this is not guaranteed due to potential race conditions. Suggestions are made to improve documentation or modify behavior, but these are met with concerns about backward compatibility. The discussion highlights that the promise may resolve with incomplete output, and the issue persists even with non-promisified
execFile
, indicating a need for a more reliable way to handle timeouts and process termination signals. - Number of comments this week: 6
- The comments discuss the assumption that child processes should exit before the timeout, but this is not guaranteed due to potential race conditions. Suggestions are made to improve documentation or modify behavior, but these are met with concerns about backward compatibility. The discussion highlights that the promise may resolve with incomplete output, and the issue persists even with non-promisified
-
TextDecoder incorrectly decodes 0x92 for Windows-1252: This issue reports a bug in the TextDecoder for the Windows-1252 encoding, where the byte 0x92 is incorrectly decoded as 146 instead of the expected 8217, a problem that has arisen in recent versions of the software. The issue is suspected to be related to a previous fix and is consistently reproducible across different platforms, with the expectation that 0x92 should map to 0x2019 according to the Windows-1252 codepage.
- The comments discuss the incorrect use of the latin1 decoder for Windows-1252, which leads to incorrect character mapping, and suggest a workaround using the
stream: true
option to bypass the latin1 fast path. There is also a mention of related bugs in TextEncoder and a reference to another issue that has not been addressed, with a suggestion that this could be a good issue for new contributors to tackle. - Number of comments this week: 5
- The comments discuss the incorrect use of the latin1 decoder for Windows-1252, which leads to incorrect character mapping, and suggest a workaround using the
-
Test runner matching every .ts and .js if glob is not provided: This issue describes a problem with the test runner in Node.js versions 23.6.0 and 22.10.0, where it executes all
.ts
and.js
files in atest
directory if no specific glob pattern is provided, which is considered an undesired behavior by the issue reporter. The reporter suggests that the test runner should only match files with a.test.js
extension to avoid unintended execution of non-test files, especially.ts
fixtures.- The comments discuss the default behavior of matching files in a
test
directory, with some users pointing out that this is intended and inherited from other tools like tapjs and Mocha. There is a debate on whether to change this behavior, with some arguing it would be a significant and aggressive breaking change, while others believe a more selective matching pattern would be healthier for the ecosystem. - Number of comments this week: 5
- The comments discuss the default behavior of matching files in a
-
MD5 SIMD: This issue discusses the potential performance improvements of using SIMD (Single Instruction, Multiple Data) for MD5 hashing in HTTP file handling, which is currently slow and does not fully utilize modern hardware capabilities. The proposal suggests implementing a technique that allows multiple MD5 hashes to be processed in parallel, potentially improving performance by 2-6 times in real-world applications without altering existing APIs.
- The comments discuss the feasibility and implementation details of using SIMD for MD5 hashing, including the need for asynchronous processing and batching requests. There is a request for code examples to support the performance claims, and a reference to a related discussion in another GitHub issue is mentioned.
- Number of comments this week: 5
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: 23
Summarized Issues:
- Enhancements to Node.js Modules and Functions: Several issues focus on enhancing Node.js modules and functions to improve usability and performance. For instance, the
utimes
function is being enhanced to acceptundefined
arguments, allowing selective updates to file times. Additionally, thenode:sqlite
module is proposed to support user-defined aggregate and window functions, expanding its capabilities for database operations.
- Bug Fixes in Node.js: Various issues address bugs in Node.js that affect functionality and user experience. These include a bug where the
NO_COLOR
environment variable does not disable colors as expected, and a crash when modifying the Array prototype and executing a child process. Another issue involves a process hanging duringimport('process')
on Windows whenstdin
is piped.
- Build and Compilation Issues: Some issues highlight problems encountered during the build and compilation of Node.js. These include a missing
header causing build failures with GCC 14.2.0, and a compilation error on macOS due to pointer assignment issues in the V8 engine. These issues require specific code modifications or compiler versions to resolve.
- Error Handling and Messaging: Issues related to error handling and messaging in Node.js are discussed, such as confusing error messages when using
import
in.cjs
files and a recurring [ERR_INTERNAL_ASSERTION] error with MongoDB. These issues highlight the need for clearer error messages and updates to dependencies to prevent errors.
- Proposals for New Features and Improvements: Several issues propose new features and improvements to Node.js. These include allowing core modules to be used without imports, enhancing MD5 hashing performance with SIMD instructions, and adding methods to manage the net module's blocklist. These proposals aim to improve performance and usability.
- Platform-Specific Issues: Some issues are specific to certain platforms, such as a Node.js process crash on Linux AWS instances when requiring a missing package, and a fork() error on Windows. These issues suggest platform-specific behavior that needs addressing to ensure consistent functionality across environments.
- Testing and Workflow Improvements: Issues related to testing and workflow improvements include a proposal for a workflow to check the status of author-ready PRs and a problem with the Node.js test runner executing non-test files. These issues aim to streamline development processes and prevent unintended test executions.
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: 16
Summarized Issues:
- Node.js Assertion and Debugging Issues: The
spec
test reporter in Node.js had a problem where it failed to provide a comprehensive diff output fordeepEqual
ordeepStrictEqual
assertion failures, which hindered debugging. Additionally, using a custom message in assertions suppressed the default diff output, but this issue was resolved in a subsequent update.
- Flaky and Compatibility Test Issues: A flaky test named
parallel.test-macos-app-sandbox
on macOS x64 experienced assertion errors due to expected values not being strictly equal, potentially related to disk space issues. Furthermore, a compatibility problem with Node.js v22.12.0 caused a "ReferenceError: require is not defined" error, which did not occur in v22.11.0, likely due to stricter module handling.
- Node.js Module and Functionality Enhancements: There was a request to enhance the
glob
function to accept a glob pattern for theexclude
option, similar to Deno, to improve file pattern matching. Additionally, an update to npm version 11.0.0 was proposed to address a security vulnerability in version 10.9.2.
- Node.js Bug and Error Handling: A bug in Node.js version 22.11.0 on Linux caused
vm.compileFunction
with certain cached data to abort the process unexpectedly, identified as a V8 issue that has since been fixed. Another issue involved a failed MongoDB connection test resulting in an internal assertion error, closed due to insufficient follow-up.
- Node.js
vm
Module and Worker Threads Issues: Using the Node.jsvm
module withworker_threads
on Windows 11 Pro resulted in syntax errors related to module imports, highlighting differences between dynamicimport()
and staticimport
statements. The use ofvm.SourceTextModule
was suggested for handling ECMAScript modules, though it remains experimental.
- Node.js Process and Execution Priority Issues: The
crypto.generatePrime
function in Node.js had a higher execution priority thanprocess.exit
, causing the process to become unresponsive when attempting to exit immediately after generating a large prime number. This issue required attention to ensure proper process termination.
- Node.js SQLite and Compatibility Problems: Running a SQLite extensions test in Node.js v24.0.0-pre on Linux consistently failed with a TypeError, indicating an issue with the "path" argument. The problem appeared to be resolved in a newer version of the main branch, suggesting a temporary regression.
- Node.js Module Compatibility and Errors: A user faced compatibility problems between the uws module and their Node.js build, causing errors when executing a mint function through Truffle and Ganache on Windows 11. Despite troubleshooting efforts, the issue remained unresolved.
- Node.js CLI API Documentation Issues: The description of the
NO_COLOR
andNODE_DISABLE_COLORS
environment variables in the Node.js CLI API documentation was incorrect.NO_COLOR
only disables color at the command-line, whileNODE_DISABLE_COLORS
affects both the command-line and REPL, necessitating a revision for clarity.
- Node.js Test Runner and Usability Concerns: The Node.js test runner required two actions to run a single test, unlike other major test runners that only require one. It was suggested that Node's test runner be simplified to match the behavior of other test runners by eliminating the need for the
--test-only
flag.
- Jest and ECMAScript Modules Syntax Errors: A problem with Jest and ECMAScript Modules (ESM) involved type annotations in TypeScript not being stripped as expected when using Node.js's experimental VM modules. This resulted in a syntax error due to an unexpected token, highlighting a need for better handling of TypeScript in ESM.
- Node.js REPL Misunderstanding: A misunderstanding in the Node.js REPL involved the incorrect use of
Number.Epsilon
instead ofNumber.EPSILON
, leading to unexpected behavior. This highlighted the importance of using correct constants to avoid errors in numerical computations.
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. All other pull requests are grouped based on similar characteristics for easier analysis.
Pull Requests Opened This Week: 33
Key Open Pull Requests
1. src: cleaning up more crypto internals for ncrypto: This pull request involves cleaning up and updating various components of the crypto internals in the Node.js project, specifically focusing on the ncrypto module, with changes including updates to ECDASSigPointer, ECGroupPointer, ECPointPointer, and ECKeyPointer implementations.
- URL: pull/56526
- Merged: No
- Associated Commits: 08503212eb3d9e20814826747684344134c0bf3f, a64ad443ab47e9ab0d5b95a5a69b976fc28f450c, 86ae4d515e37c1183ecf3356b1cd12c0e6a2ae38, 1f5f2f4027848acd7cb9661cc0b5ab61fa411edb, 48cab6e636e4ed68c7333b81c1d651274190b069
2. test_runner: add bail out: This pull request introduces a bailout feature to the test runner, aiming to improve test execution by allowing early termination under certain conditions, and includes changes such as replacing process.kill
with a harness abort controller and integrating abort signal handling in test tree creation, while also addressing concurrency issues in testing.
- URL: pull/56490
- Merged: No
- Associated Commits: f1c269c3ad405f69e4da7694072bbea830385067, 1d68db404789b14b5749ca000771c417050d86eb, e691cd6bd9cac6ee8991a283d0e95115335fc2f5
3. [v22.x backport] module: add findPackageJSON
util: This pull request introduces a backport to version 22.x of the Node.js project by adding a new utility function called findPackageJSON
, which includes improvements and fixes such as simplifying its implementation and resolving an asynchronous error in its synchronous version, as reviewed by multiple contributors.
- URL: pull/56494
- Merged: No
- Associated Commits: 966a1d8cd02588984f848cc3b8f96a8b4d0f5e01, 8c553a47b34a6839426596a2a175c46bfd7f0fbb, 3f3124167bc4d44e0ced9b32147a6f321f39584f
Other Open Pull Requests
- Process Management Enhancements: This topic includes pull requests that introduce new methods and fix existing issues related to process management in Node.js. The
process.execve
method was added to wrap the UNIXexecve
function, and a fix was made to thevcbuild test
command to handle file paths with spaces.
- Error Handling Improvements: Several pull requests focus on enhancing error handling in Node.js. These include copying error messages for CommonJS import errors and fixing a regression in the
cryptoErrorListToException()
function.
- Documentation Updates: Various pull requests address updates and corrections in Node.js documentation. These include changes to reflect GCC version updates, internal documentation improvements, and correcting typos and formatting issues.
- Security and Workflow Enhancements: Pull requests in this category propose changes to improve security and streamline workflows. These include replacing the
pull_request_target
trigger withpull_request
and documenting a new CLI method for opening pull requests.
- Performance and Optimization: This topic covers pull requests aimed at improving performance and optimizing code. Examples include adding a
validateStream
function to a benchmark and enhancing thepartialDeepStrictEqual
function.
- Type and Argument Validation: Pull requests under this topic focus on validating types and arguments to prevent errors. These include enabling type checking in the
internal/modules
directory and validating arguments to prevent undefined behavior.
- Memory Management and Integration: This topic includes pull requests that address memory management and integration with other systems. Notable changes include integrating
ContextifyContext
withcppgc
and introducing a mechanism to track cppgc wrappers.
- Miscellaneous Fixes and Updates: Various pull requests address miscellaneous issues and updates in the Node.js project. These include modifying the HTTP2 implementation, updating the
NOTABLE_CHANGE_MESSAGE
, and correcting the use of LocalVector in the QUIC implementation.
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. All other pull requests are grouped based on similar characteristics for easier analysis.
Pull Requests Closed This Week: 46
Key Closed Pull Requests
1. 2025-01-07, Version 22.13.0 'Jod' (LTS): This pull request introduces Node.js version 22.13.0 'Jod' (LTS), which includes notable changes such as the stabilization of the Permission Model, the graduation of WebCryptoAPI Ed25519 and X25519 algorithms to stable, the addition of new CLI options like --trace-env, and various enhancements and deprecations across modules like assert, net, and process, along with documentation updates and the unflagging of the sqlite module.
- URL: pull/56329
- Merged: Yes
- Associated Commits: 2e3ca1bbddd057abfca3ef9d0aba488e7571ec66, 8cb3c2018d0d4eb67812eb72caf95dcf87ecdb5e, 52630861690f96ea9a64634e27db60edfde694fd, 77e2869ca69fc3c2dd6f005a1c06e9e35ada9a1c, 2beb4f1f8cde5f1c96a60bd30ec6e9c44fc56424, 19782855a827b4c8939b4d2f060fda34807e8134, c842146c05cd8fe96bdd9a91ca37a5e6530db891, f4f777f4d2abd41dd5d05e35f5e7ec708cae0f52, 22d7017191c7f50c2ad630d60a8277f032aaedd2, 5bdfde8dc6e03135a9b6dcf2ccc6d3257514266e, 1015b22085385628a154248c4cf335759a6e3ebf, 826fd35242efe9096f8227a458b89258fe83fd4f, 8d70b99a5a84e796175dff39b7787216635ee85b, ccc9b105ec2089202496a6670a0ec2dabb21411f, 55239a48b6c1e94210cd1d32bbecf729aba20e13, 8ff082cf4876ed69e3c4a83be5fcf301f82349a3, 3e6b3a9a8bb923f4ba8a8e7c5c6e9a561640984c, 3ba9b574363ebe253f2f242ad708e02ee6b68e6f, 2ca9f4b65a6e23eba8d956ae28451edc4959b01e, 97458ad74be64a732a9958a4d369a6788c6e5d38, 20be5e2f8016b2d3a5e815e804208e5c55175986, e47ccd228706ba8383a46c2f712d9078b3d8e22e, d714367ef8d2f7f0f09b493811190b65c399c87a, 0b3ac054226d5137768963b6c1054f4b1d29e1f6, b4041e554ad8aa1f9289cd5b83adba3e94784a63, b296b5a4e4c16a7fe6a3e25d14a54993eaac0d1c, 7b476f637cbb996a0de8db9261150930e380b5b8, 6e7e9a126d4b748cb985b9239d02066870ff2999, 9f48ca27f12233e84f532a40336e71b6f86ecd6d, 8c065dc61e9b8d3f3c38a78a9234dc2633e71944, 352daac2964b5b82029f1c7c851248f9179e5e02, 312bb4dff8830db6b1b92ac606b0c2cafe818f3d, 12b2ad42875c3d44d1a4c2d0f98c1562c8ed9bbe, bfe798249189c78d0bc55bb7efb030eddd9e3fa5, 9ee9f524a70e45b299040252ac93571fac5adb03, 36080b7b61d0b5933262c526652e3b34f7b7ee6f, 63526049f256c00f54edd95d82be22bb8f546393, 05d6227a8898a7638fbffeae435ce73ecad525b2, ff7b1445a0fc3d99389dd55be9c7034d0ffc523a, f61dcc4df4f84a616f76c65eac8a88a8b3b69687, 1a78bde8d485355ac42e6174f1457be7ef77c5af, bf3967fd3adff4ac05efb8866766251e6b495812, 0571d5556f30a3692c890fd5d0e20f7a2d8d76fd, 18c94961f88086363f9f4b9b1c81c0ad3743de04, fb98fa49671c5da329ae86cbdc3f4af5f4151368, 61901372d5346750f1f092aedab87be553f4a7c2, a6ef0f6f6e11ec6646617dc7d34e7f85ec64d4f1, e529cf6b264db7b5c64882cca23c9f69582d30f0, a4fa31a86e6c80d556071c12d5af7625cf2b0270, 57381076c5f6e46b45920a93b015b6d25727d187, 43c25e2e0d14a05b9b57f25a96a0b1ad132ad21b, fc362624bf02141d8b6906650abe8ba69d37bc72, d98bf0b8911b9bdf1ee197ba8a43000506aa70f4, f61a0454d2c3b8fcf621df039a0a55fd17774053, 2616f1247a4cf236748e8b2d3eccb91222a01d14, a8fb1a06f378cb7d37b5ecee55d10c6de3125ff1, d894cb76ffc252538800beef2ef071ec00712636, f89bd2ba8a20a0dcb5fd7ff69730954720ab9bb6, 1893be4a9c4b796f75d8276326622ead7ac9a82b, ea4891856d30490dae085a6cdf4132a11276c23c, a933103499bf29b414d4647549b21dabd6fd7aa0, 474bf80a449ad70ecd399018bd341cee02455688, 78b6aef6bce965bef879dd3333940fa01bafcb47, e239382ed8298c3d5c53413b2152dd8ea45319df, 6d02bd68732476a47c7f5631d2a35b59cf3b6b23, 4bb0f30f92a79de2769b47792cbae9a319422d2a, e64cef8bf49c9424bb10044948f5988afd8763c4, 1af3599b7e28ec1fbe6f7bb144a3b44a81f557ab, 8efa24050064fdcc5fca515843f7ce05d4d06ad2, bb4aa7a296371ad5000baf40669658aec522325a, 3a55bd9448e0d4a5012da714ca4a31e8f05755af, c52bc5d71c73db3766e5c8587fc04d565cff9c43, c188660e8bc8f0b3ed5097e8f35fed53d553e0ae, c907b2f358fe2c45b5112f37a64fa7bdcae92edc, 1e628d1f37b94a1092af8daa5bc967a5cd9acd46, ed635c90daffb80f2a2ad4c3c879711cf3781e44, 669c722aa976e3ae3429b6c060cab90c9d358644, e6e1495f1a98af95aebf8e7acabe75e33848b70e, 9a60bea6b784d66b7a64c756d593aeb6fb39d188, 2e3fdfdb19b93676913c678f2e2aa95d24ee2c18, 97bb8f7c76308437a747f9f40b420bc20472a60f, 71f6263942e7db75cc59ba22337c7b29a0bf8d0c, 211f058a12fedadb1e569cb865165975fab9c259, e42e4b20be2337877347c8e96e380c5e80b00441, 4559fac862929c2d38c2bbd8ae6582dd9343f5e6, 7ddbf9484926a3f4241da19c5988855e05cc5c05, 974b7b61efb287363f3e91ff8c0d438f5839f9b4, b47888d390ba236706dd683d48863b00383d84ed, d7eb41b382d22d96c29069a896274f2558fccf63, 2feb0781ed9d1d1412d37d605e2a9ddf7a5e0b88, a32fa308475bedc90e43c13504d5453829c6828f, 126ae150000b54a1b88c2d59af3fff0ebd255c08, 5ce020b0c9fd50815e8cdeb14a2ae6ff3007dda2, 0fba3a3b9b9fcb78a8248b0a68b7b8d098702cec, 8e265de9f5f694d223adff41f13167ed3adabdb3, 1529027f032010ba7d702ae1947db07bd2a4b526, 843943d0ce397c12c5cf7c4c88585147e12998cd, fe2b344ddb941c846f7630e8ab91364321dd8b66, a0b1e8f4005ec332ecc666e44e85cc004c680a2b, d0302e7d2d62525ac53b6625c0476376d49b6f98, ed7eab1421b0639003c70a99c9e20f3b221ea150, 566f0a1d257acbd607db14d9ea24f0e1f51a3edc, dd14b80350ba3b7f9e2ff56f4adf390a69c1c5b8, e15c5dab79c49351ce3705ce8b10881ef5e1f8f1, 22b453b6194ef7bbdd35dd0a06a92b25a90b2223, 28a11adf140455bd6fd1513bd0851bbe49933bcb, d2007aec28a8b6fe138c475b5d6ab3c83f09598b, 12baefb13d8ffca4e092003c3185c2162869d5c4, c4a97d810babbca2b1a136d5ff236ce185c21f6d, bacfe6d5c9219b9650eb3a999385469aabbfc4ff, ad107ca0d972fdc229c5fa572687eebb11956011, 68dda6142003297e80122e7240ef9d7053d2a856, 17b6931d3b6165514324e6b12ac4726bd8945d50, 359fff1c4e1acd63bca199635a57667fe8fa9e88, bcfe9c80fcf0b4e392183e150514eed3be9001d3, 0794861bc3de1d1736d83244b62640c532b9ec2d, 6575b760429cd1606c736ef10de5efc366a1c62d, 34c68827af302b43b7423d19a47b691e39c417a1, 374eb415fdab009c27979bc89a66229e4a285f75, b667cc46690f994f5ecb5864a786aab62fe6fe8e, 19c72c4acc108544316629409ef2c36d250d9a0e, d352b0465a9f762c8acfa6f5c9dbaa9c85944237, 381e70538571376ea08fd8ffdec7366e1d20559d, 81c94a32e44511a61ff856da68438f6f241781d4, 72e8e0684ee28e5828c7f164fa02b65542908132, 1cfa31fb82227c64cbaacd231fd768f8678345cb, 11144ab1586b71d81556a1b1d9a9e9bf4e658738, 2aa77c8a8f8273d2cb4e2919f9b5d747fd97516a, a3c8739530acfa868ac598eb5dbf5fd4498ad323, c5b1cf4b12356a742bf74d0f7a3dacb2e804b50a, 4c13d8e5872b63ae6165b0d30d5feeda33eba9d2, bd0760efbce7fea9d245c1f725e7dc8a5fe89d35, a88e4ce55e91fcce699c87783553efa49e939d3c, 0e24eebf24e40e055828824c3137f2e93adacc5a, d6e1efcc59e8e0033e61f85cc0fe107c3ae29485, 39ce902e5872479e0caf743334ac87d93eb5adf1, 9fa0e41665227af20b33261f0070537260a13523, 02383b4267600d526f718bb11fcb25cd405e4c9f, 9f8f3c9658dc99450b3b2ff3c55dff7f5d609fc6, 598fe048f203f839b6ace198756c8e6d59411f6a, 0331b3fdd32e37e242757c875d45292905584694, bb880dd21a9d7a53c73197f9a8cacf249723762a, a83de32d35831145c8046ffa96dc1072df97af11, 4adf5186895261fde97d9ced9f37b1c50cacdae1, 8a5429c9b341bf2795721f1921e5348c1a3d47b0, 5e5b4b0cbd44c2e18bcd5210484e4f6d56198a78, 9e98e866043312f536d565230c1971bf2d0751f4, d2f82223d12b13cb87242c1b9daecc9dd9febf62, bfd11d766197e62b04b5d449ff622f1d79446606, 7cbe3de1d81349aede9d18c55c66e883bd1eb269, e9024779c0c290bf695d483c68599681d5f81c58, 376561c2b40ffb5b06e5e5cf86cbb6e832e199f5, f5c6955722b89fe9f7361b22c1454a45b913d853, 2889e8da044479b6a1db696c606cb7a11721ec4b, 44c4e57e32c864cc60203f73ea32d4622984e5bd, 7a94100a3e7ac247155811530560960e1f963d9d, 2e76cd2a8b1ff0869226c22a104694cc654c0fd1, ea53c4b1aee2c4fe1be8ce1c8bf1ab4bf25583f5, 57bb98321593a6302a0e992c46e240243d427e12, 8494512c17af923729ed2ff5084e2d0ee8d5efae, 79152b54e92571a6e4775177e07a91721f91b8d2, 2268c1ea8b57dc615d0ba1b149cbee11f69636d4, 98ea499e36dd4c0443e3ec829a743ac2252194e2, 27cc90f3be21dfb66d0ab578f834932dbde22f3b, c5d0472968798d492051310c1c3c74792c360af4, 92bcd528e75cad59a7d55aefd59a49fe53ef0b8a, 04d7c7a3492e4092fa331635866e3dc55ccbce55, 7d8c1e72d5ee7e94d2d0e68ee54f6bc268aa6139, 9c68d4f1809b6f890b232efca78fe0f5d5afd505, 3e8938463a422d443c2ab0171520935ed4084204, 01eb308f268ece3409aeee9ef8920bd7b1f9c9af, 481770a38fcf65c087d542bf358897fe9fc2c778, 7a8071b43cd4dafe1f75a0f729d5aa988f89a25c, 4e3cab44cb99b4b36ed2b031f175de99570f7879, 5331df79114ba8c8ce546e29d89584c02858ea10, a11ac1c0f2814963af6e13fee51da135c5f235dd, 8718135a5db9d579b662208de39b3ef4e14c9767, 4a1b51b5a92241a78a9e499e3925db2b1dd21a66, d6a84cf781e48d1ef82db6aa42085b5613da1dac, b1cec2cef9ecb7bbf3f813c5b29198f06fd653af, ba9d5397de1c19e1fe38a80dcd964ed7d2696794, 5e1321abd764593e98d099c1f5b13f99232e610b, 9436c3c949df932e2596099503549008d9fe9df7, 5c2e0618f3aa9b85b175bc171c0f58063cb06ce7, a648e4c44a51d318589f898e0ede4c87fba02b57, dbb7557455b112b759207002ba3dc5602ee444da, 88589b85b7e8b7606ef5409ecf71274d1090aead, 5306819fac8f5f4a4601942312999df4484717de, eef9bd1bf6acf97ee60b6ef2da19a7adc6bf09e1, 04230be1ef514c849d67ad838b3074d0cc2d123e, c7ff2ea6b51f9a63dcc1bc3bc2f78aedf1511b8c, 76f242d993f679b160224ea2f713921897f89e49, 0b489116a393e3addcd8b25037772a49205984cb, 7ae125cef445c31c3806f4a61cc01a0cdd93593a, 97c38352d09de2f38cdf924c7cb30ca1494dbbb5, f6d0c01303c71ed0d6675d8ad850dcf74904f91d, 38cf37ee2db2c520a6f236246f69cd599a9f6238, be5ba7c648e663410137561b980518ac17d4bf1f, 360d68de0faf45ef9b45d8b97d5f6426631103a5, 48726ac59b20fe3a64eb68e9e15134a65f10e120
2. src: move more crypto impl detail to ncrypto dep: This pull request involves reorganizing the Node.js codebase by moving various cryptographic implementation details, such as X509 error codes, prime generation, and SSL pointer implementations, into the ncrypto
dependency, while also removing obsolete functions and simplifying pointer dereferences.
- URL: pull/56421
- Merged: No
- Associated Commits: 8dd5a11c0d334607ea850ca7faf956b8ce8e6d43, dd545383941370f8c28f742088259278d0fa8045, 4da29d886f94a4d1cf0f588f16e34b07d7abfe29, db9a8d49aa4971d3d51cf1a6077f317bfdc25fb5, 4b92b3d7de63ebd20e78c72f7e4f1bf08f3b012d, 4d7e96cbd9cfa2ce012984aef82fde1eb4793d3a, 1af313182267674d34b3c01927b20650af59d87a, 0b31ee5408096ce4bbb9a5923d5aec5a9ab7cf79, b421159b7ad8a912a58799268cd8136373559ab2, e79a7aa64b276317dd8d8667082603d7d5fc2d94, 3dacb828821222aa35b986e52266d4a2879421ec, f22a969a542dce191e9ceb8453ce9cd0b5eeac47
3. fs: deprecate never throw behaviour in fs.existsSync: This pull request aims to deprecate the behavior of the fs.existsSync
function in Node.js, which previously returned false on argument validation errors instead of throwing an exception, as part of an effort to improve error handling and align with modern JavaScript practices.
- URL: pull/55753
- Merged: Yes
- Associated Commits: a7fd0e255c6314bfecb68f3175f597b306e593bd, 247116ed1648b33a88aa41b599dcc86b8221596c, 4c535cc1e9ca552fdeebc15200aafe964a1d2aef, be7ef4e9d0424a7c1e6ef0b37db02a56e7b212a2, f7136853427a10a495eb8fd6f447bb92ff0679b6, f32d8738feaa347f54e1f66189f0957240c91d37, 83687f466356c29460283b29aeb16987e0724016, 0484b00374b10a34d531d055352812402333997c, 86bde37998cdb5e4596f2978ade0515776c64764, f70e0a2fe7e84cc684165d14bd37fa5cde7e7fb4, 6f5fda9268c8624562df0d9c307b95b99c75dfa8
Other Closed Pull Requests
- Validation Tool for Release Commit Synchronization: This pull request introduces a validation tool as part of the
lint-release-commit
process to ensure that the commit list in a release proposal's CHANGELOG is synchronized with the actual commits. It also checks for any commits labeled withdont-land-on-vXX.x
to prevent their inclusion in the release and updates the workflow to usemake release-only
for enhanced checks.
- Node.js Test Reporter Enhancements: This pull request introduces a new node:test reporter to the common utilities, designed to suppress all output except errors from node:test, which is particularly beneficial for Node's test suite. It includes additional features such as rebasing with the main branch to resolve conflicts and the addition of a
FAIL_FAST
environment variable.
- QUIC Implementation in Node.js: This pull request introduces incremental progress in the implementation of QUIC in Node.js by adding the
--experimental-quic
CLI flag, thenode:quic
module, and initial documentation. It seeks feedback on the API design, particularly the exposure and functionality ofQuicEndpoint
, and compares it with Deno's approach to QUIC API design.
- Worker Threads and Output Flushing: This pull request addresses an issue with worker threads in the Node.js project by ensuring that stdout and stderr are flushed on exit, preventing log lines from being cut off when a thread exits. It was successfully merged into the codebase.
- Enhancements to
assert.partialDeepStrictEqual
: This pull request enhances theassert.partialDeepStrictEqual
method by enabling the display of a diff when the assertion fails, including when a custom error message is provided. It introduces a new diff style where properties available inactual
are shown in gray, properties inexpected
but not inactual
are prefixed with a red-
, and properties present in both are displayed in white.
- Flaky Test Designation Removals: This pull request removes the flaky designation from several tests in the Node.js project, including "test-runner-watch-mode-complex," "test-macos-app-sandbox," and "test-pipe-file-to-http." These changes were successfully merged into the main codebase.
- Documentation and JSDoc Improvements: This pull request addresses and corrects the JSDoc type references to
ModuleJobBase
within theesm/loader
module of the Node.js project, ensuring accurate documentation. It includes additional missing JSDoc imports and definitions, as evidenced by the commits linked in the request.
- Node.js Test Isolation Enhancements: This pull request introduces a new environment variable,
NODE_TEST_WORKER_ID
, to enhance concurrent test execution by assigning a unique ID ranging from 1 to N when--experimental-test-isolation=process
is enabled. It defaults to 1 when--experimental-test-isolation=none
is used, with plans to add tests for these functionalities before merging.
- Node.js CLI Documentation Updates: This pull request aims to enhance the documentation by improving the wording for the
NO_COLOR
andNODE_DISABLE_COLORS
environment variables in thecli.md
API documentation. It addresses issue #56485.
- Node.js Test Runner Enhancements: This pull request introduces a new API,
t.assert.fileSnapshot()
, to the test runner, which functions similarly to core snapshot tests and userland options liketoMatchFileSnapshot()
. It enhances the testing capabilities by allowing file snapshot assertions.
- Node.js Build and Architecture Fixes: This pull request addresses and resolves a build failure issue for the LoongArch64 architecture in the Node.js project, as indicated by the commit message and related issue links. It was successfully merged into the project.
- Node.js Test Flakiness and CI Improvements: This pull request addresses the persistent issue of the "test-http-server-request-timeouts-mixed" test flaking in the CI for over two years by officially marking it as flaky. It follows numerous unsuccessful attempts to resolve the problem, as evidenced by its failure in 19 out of 100 recent CI runs.
- Node.js Security and Vulnerability Documentation: This pull request updates the documentation to include information about adding Common Vulnerabilities and Exposures (CVE) to End-of-Life (EOL) lines as part of the security release process. It is referenced in a related issue on the Node.js security working group repository.
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 |
---|---|---|---|---|
jasnell | 54 | 13 | 2 | 67 |
aduh95 | 54 | 19 | 1 | 62 |
cjihrig | 29 | 11 | 0 | 45 |
marco-ippolito | 21 | 8 | 1 | 43 |
joyeecheung | 17 | 10 | 1 | 38 |
anonrig | 7 | 1 | 0 | 52 |
legendecas | 20 | 9 | 1 | 29 |
RafaelGSS | 40 | 9 | 0 | 8 |
ShogunPanda | 7 | 2 | 0 | 47 |
JakobJingleheimer | 13 | 5 | 0 | 34 |