lib: refactor to use primordials in lib/assert.js#41702
lib: refactor to use primordials in lib/assert.js#41702nodejs-github-bot merged 1 commit intonodejs:masterfrom marsonya:primordials-assert
lib/assert.js#41702Conversation
RaisinTen
left a comment
There was a problem hiding this comment.
I think we should wait for nodejs/TSC#1104 to get resolved before doing anything related to primordials at this point.
|
In particular I think a safe guideline can be:
|
There was a problem hiding this comment.
There were no significant perf regressions in the last benchmark run but the link takes me to a 404 page now, so I'll run the assert benchmarks again:
https://ci.nodejs.org/job/benchmark-node-micro-benchmarks/1100/
Details
confidence improvement accuracy (*) (**) (***)
assert/deepequal-buffer.js method='deepEqual' strict=0 len=1000 n=20000 -5.17 % ±6.27% ±8.36% ±10.92%
assert/deepequal-buffer.js method='deepEqual' strict=0 len=100 n=20000 2.07 % ±6.40% ±8.51% ±11.08%
assert/deepequal-buffer.js method='deepEqual' strict=1 len=1000 n=20000 2.55 % ±6.40% ±8.51% ±11.08%
assert/deepequal-buffer.js method='deepEqual' strict=1 len=100 n=20000 -1.37 % ±5.85% ±7.79% ±10.16%
assert/deepequal-buffer.js method='notDeepEqual' strict=0 len=1000 n=20000 -0.07 % ±6.08% ±8.08% ±10.53%
assert/deepequal-buffer.js method='notDeepEqual' strict=0 len=100 n=20000 0.01 % ±6.66% ±8.87% ±11.56%
assert/deepequal-buffer.js method='notDeepEqual' strict=1 len=1000 n=20000 * 6.55 % ±6.41% ±8.58% ±11.25%
assert/deepequal-buffer.js method='notDeepEqual' strict=1 len=100 n=20000 -0.19 % ±7.25% ±9.64% ±12.55%
assert/deepequal-map.js method='deepEqual_mixed' strict=0 len=500 n=500 -1.03 % ±2.13% ±2.83% ±3.69%
assert/deepequal-map.js method='deepEqual_mixed' strict=1 len=500 n=500 -0.47 % ±2.10% ±2.79% ±3.64%
assert/deepequal-map.js method='deepEqual_objectOnly' strict=0 len=500 n=500 1.09 % ±1.44% ±1.91% ±2.49%
assert/deepequal-map.js method='deepEqual_objectOnly' strict=1 len=500 n=500 -0.79 % ±1.34% ±1.79% ±2.33%
assert/deepequal-map.js method='deepEqual_primitiveOnly' strict=0 len=500 n=500 2.07 % ±6.43% ±8.56% ±11.15%
assert/deepequal-map.js method='deepEqual_primitiveOnly' strict=1 len=500 n=500 -0.73 % ±6.39% ±8.52% ±11.11%
assert/deepequal-map.js method='notDeepEqual_mixed' strict=0 len=500 n=500 -3.25 % ±7.07% ±9.41% ±12.25%
assert/deepequal-map.js method='notDeepEqual_mixed' strict=1 len=500 n=500 -1.52 % ±5.27% ±7.02% ±9.16%
assert/deepequal-map.js method='notDeepEqual_objectOnly' strict=0 len=500 n=500 0.75 % ±2.37% ±3.15% ±4.11%
assert/deepequal-map.js method='notDeepEqual_objectOnly' strict=1 len=500 n=500 0.80 % ±2.65% ±3.53% ±4.59%
assert/deepequal-map.js method='notDeepEqual_primitiveOnly' strict=0 len=500 n=500 0.07 % ±5.32% ±7.08% ±9.21%
assert/deepequal-map.js method='notDeepEqual_primitiveOnly' strict=1 len=500 n=500 0.12 % ±4.74% ±6.31% ±8.21%
assert/deepequal-object.js method='deepEqual' strict=0 size=1000 n=5000 0.69 % ±5.34% ±7.10% ±9.25%
assert/deepequal-object.js method='deepEqual' strict=0 size=100 n=5000 0.23 % ±4.92% ±6.55% ±8.53%
assert/deepequal-object.js method='deepEqual' strict=0 size=50000 n=5000 0.52 % ±1.79% ±2.39% ±3.11%
assert/deepequal-object.js method='deepEqual' strict=1 size=1000 n=5000 3.55 % ±6.79% ±9.03% ±11.77%
assert/deepequal-object.js method='deepEqual' strict=1 size=100 n=5000 -3.88 % ±6.03% ±8.04% ±10.50%
assert/deepequal-object.js method='deepEqual' strict=1 size=50000 n=5000 -1.50 % ±1.80% ±2.41% ±3.15%
assert/deepequal-object.js method='notDeepEqual' strict=0 size=1000 n=5000 2.18 % ±9.84% ±13.09% ±17.04%
assert/deepequal-object.js method='notDeepEqual' strict=0 size=100 n=5000 6.81 % ±10.26% ±13.73% ±18.02%
assert/deepequal-object.js method='notDeepEqual' strict=0 size=50000 n=5000 -3.39 % ±8.01% ±10.66% ±13.88%
assert/deepequal-object.js method='notDeepEqual' strict=1 size=1000 n=5000 2.89 % ±7.47% ±9.94% ±12.95%
assert/deepequal-object.js method='notDeepEqual' strict=1 size=100 n=5000 -1.94 % ±6.40% ±8.52% ±11.11%
assert/deepequal-object.js method='notDeepEqual' strict=1 size=50000 n=5000 2.96 % ±8.08% ±10.75% ±13.99%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=0 len=20000 n=25 primitive='array' 0.63 % ±5.75% ±7.65% ±9.95%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=0 len=20000 n=25 primitive='number' -0.50 % ±4.62% ±6.17% ±8.06%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=0 len=20000 n=25 primitive='object' 0.38 % ±5.13% ±6.82% ±8.88%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=0 len=20000 n=25 primitive='string' 2.58 % ±5.66% ±7.53% ±9.81%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=1 len=20000 n=25 primitive='array' -1.09 % ±4.80% ±6.39% ±8.32%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=1 len=20000 n=25 primitive='number' -0.41 % ±4.86% ±6.46% ±8.41%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=1 len=20000 n=25 primitive='object' -4.82 % ±6.82% ±9.08% ±11.82%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=1 len=20000 n=25 primitive='string' 0.44 % ±4.85% ±6.45% ±8.40%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=0 len=20000 n=25 primitive='array' -3.19 % ±6.62% ±8.83% ±11.53%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=0 len=20000 n=25 primitive='number' 1.62 % ±6.21% ±8.27% ±10.76%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=0 len=20000 n=25 primitive='object' 4.46 % ±6.24% ±8.32% ±10.88%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=0 len=20000 n=25 primitive='string' 0.10 % ±4.63% ±6.16% ±8.01%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=1 len=20000 n=25 primitive='array' 1.95 % ±6.23% ±8.30% ±10.83%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=1 len=20000 n=25 primitive='number' -1.93 % ±5.94% ±7.91% ±10.29%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=1 len=20000 n=25 primitive='object' 1.69 % ±7.67% ±10.20% ±13.28%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=1 len=20000 n=25 primitive='string' 2.49 % ±5.45% ±7.26% ±9.45%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=0 len=20000 n=25 primitive='array' 1.32 % ±5.41% ±7.20% ±9.37%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=0 len=20000 n=25 primitive='number' -2.92 % ±4.16% ±5.53% ±7.20%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=0 len=20000 n=25 primitive='object' 0.60 % ±6.40% ±8.52% ±11.08%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=0 len=20000 n=25 primitive='string' -0.08 % ±5.13% ±6.84% ±8.92%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=1 len=20000 n=25 primitive='array' -0.57 % ±5.33% ±7.10% ±9.26%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=1 len=20000 n=25 primitive='number' -0.23 % ±5.78% ±7.70% ±10.02%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=1 len=20000 n=25 primitive='object' -0.99 % ±5.24% ±6.97% ±9.07%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=1 len=20000 n=25 primitive='string' * -5.44 % ±4.39% ±5.85% ±7.65%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=0 len=20000 n=25 primitive='array' 2.01 % ±6.33% ±8.42% ±10.98%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=0 len=20000 n=25 primitive='number' 2.82 % ±6.05% ±8.05% ±10.47%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=0 len=20000 n=25 primitive='object' -3.63 % ±7.17% ±9.55% ±12.46%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=0 len=20000 n=25 primitive='string' -0.05 % ±6.85% ±9.13% ±11.90%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=1 len=20000 n=25 primitive='array' -1.70 % ±7.93% ±10.56% ±13.75%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=1 len=20000 n=25 primitive='number' -1.98 % ±6.95% ±9.25% ±12.03%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=1 len=20000 n=25 primitive='object' -5.90 % ±6.91% ±9.22% ±12.03%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=1 len=20000 n=25 primitive='string' -2.40 % ±5.82% ±7.75% ±10.09%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=0 n=20000 primitive='array' 2.92 % ±7.23% ±9.64% ±12.59%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=0 n=20000 primitive='number' -1.55 % ±5.57% ±7.41% ±9.65%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=0 n=20000 primitive='object' 0.61 % ±6.43% ±8.56% ±11.15%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=0 n=20000 primitive='string' 2.77 % ±4.99% ±6.64% ±8.65%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=1 n=20000 primitive='array' -3.61 % ±6.16% ±8.20% ±10.70%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=1 n=20000 primitive='number' -0.42 % ±5.69% ±7.58% ±9.90%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=1 n=20000 primitive='object' 3.57 % ±6.75% ±8.99% ±11.71%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=1 n=20000 primitive='string' -0.72 % ±6.25% ±8.31% ±10.82%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=0 n=20000 primitive='array' 3.02 % ±5.88% ±7.84% ±10.23%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=0 n=20000 primitive='number' 3.09 % ±6.53% ±8.68% ±11.30%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=0 n=20000 primitive='object' -0.96 % ±5.81% ±7.78% ±10.23%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=0 n=20000 primitive='string' -2.37 % ±6.22% ±8.28% ±10.78%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=1 n=20000 primitive='array' -0.62 % ±5.00% ±6.65% ±8.65%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=1 n=20000 primitive='number' 1.94 % ±6.05% ±8.05% ±10.48%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=1 n=20000 primitive='object' 6.24 % ±7.17% ±9.55% ±12.46%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=1 n=20000 primitive='string' 0.90 % ±6.19% ±8.24% ±10.73%
assert/deepequal-set.js method='deepEqual_mixed' strict=0 len=500 n=500 -0.20 % ±2.16% ±2.87% ±3.74%
assert/deepequal-set.js method='deepEqual_mixed' strict=1 len=500 n=500 0.64 % ±2.30% ±3.07% ±4.00%
assert/deepequal-set.js method='deepEqual_objectOnly' strict=0 len=500 n=500 0.16 % ±1.35% ±1.79% ±2.34%
assert/deepequal-set.js method='deepEqual_objectOnly' strict=1 len=500 n=500 0.76 % ±1.43% ±1.90% ±2.47%
assert/deepequal-set.js method='deepEqual_primitiveOnly' strict=0 len=500 n=500 -0.41 % ±5.29% ±7.04% ±9.16%
assert/deepequal-set.js method='deepEqual_primitiveOnly' strict=1 len=500 n=500 -1.05 % ±5.42% ±7.22% ±9.40%
assert/deepequal-set.js method='notDeepEqual_mixed' strict=0 len=500 n=500 1.82 % ±4.77% ±6.36% ±8.29%
assert/deepequal-set.js method='notDeepEqual_mixed' strict=1 len=500 n=500 -0.47 % ±4.41% ±5.88% ±7.66%
assert/deepequal-set.js method='notDeepEqual_objectOnly' strict=0 len=500 n=500 0.27 % ±2.50% ±3.32% ±4.32%
assert/deepequal-set.js method='notDeepEqual_objectOnly' strict=1 len=500 n=500 -0.44 % ±1.68% ±2.23% ±2.91%
assert/deepequal-set.js method='notDeepEqual_primitiveOnly' strict=0 len=500 n=500 -3.01 % ±3.82% ±5.09% ±6.66%
assert/deepequal-set.js method='notDeepEqual_primitiveOnly' strict=1 len=500 n=500 -2.88 % ±4.35% ±5.79% ±7.53%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=0 n=500 type='Float32Array' -3.57 % ±5.94% ±7.91% ±10.29%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=0 n=500 type='Float64Array' 4.79 % ±9.05% ±12.08% ±15.78%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=0 n=500 type='Int8Array' -2.43 % ±5.65% ±7.52% ±9.78%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=0 n=500 type='Uint8Array' 3.98 % ±5.93% ±7.91% ±10.32%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=0 n=500 type='Uint8ClampedArray' 3.29 % ±7.79% ±10.42% ±13.65%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=1 n=500 type='Float32Array' 0.26 % ±5.98% ±7.98% ±10.43%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=1 n=500 type='Float64Array' 3.69 % ±10.25% ±13.72% ±18.03%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=1 n=500 type='Int8Array' -0.44 % ±6.20% ±8.25% ±10.75%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=1 n=500 type='Uint8Array' 0.18 % ±6.08% ±8.09% ±10.53%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=1 n=500 type='Uint8ClampedArray' 6.39 % ±7.19% ±9.63% ±12.67%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=0 n=500 type='Float32Array' 1.11 % ±5.16% ±6.88% ±9.00%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=0 n=500 type='Float64Array' 0.20 % ±6.19% ±8.25% ±10.74%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=0 n=500 type='Int8Array' -3.25 % ±6.11% ±8.15% ±10.62%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=0 n=500 type='Uint8Array' -2.06 % ±6.34% ±8.44% ±10.98%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=0 n=500 type='Uint8ClampedArray' * 10.01 % ±8.38% ±11.17% ±14.58%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=1 n=500 type='Float32Array' -2.58 % ±8.05% ±10.72% ±13.96%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=1 n=500 type='Float64Array' -2.56 % ±9.27% ±12.33% ±16.05%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=1 n=500 type='Int8Array' -0.10 % ±5.61% ±7.47% ±9.75%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=1 n=500 type='Uint8Array' -5.74 % ±6.62% ±8.82% ±11.49%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=1 n=500 type='Uint8ClampedArray' -4.73 % ±7.13% ±9.48% ±12.34%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=0 n=500 type='Float32Array' 3.64 % ±4.43% ±5.89% ±7.67%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=0 n=500 type='Float64Array' -0.34 % ±2.81% ±3.75% ±4.89%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=0 n=500 type='Int8Array' 1.77 % ±4.90% ±6.52% ±8.49%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=0 n=500 type='Uint8Array' -6.60 % ±7.15% ±9.52% ±12.40%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=0 n=500 type='Uint8ClampedArray' ** 12.54 % ±8.92% ±11.93% ±15.65%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=1 n=500 type='Float32Array' 2.93 % ±7.49% ±10.00% ±13.06%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=1 n=500 type='Float64Array' * 7.86 % ±7.47% ±9.95% ±12.97%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=1 n=500 type='Int8Array' -3.07 % ±5.02% ±6.70% ±8.76%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=1 n=500 type='Uint8Array' 0.20 % ±6.25% ±8.32% ±10.85%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=1 n=500 type='Uint8ClampedArray' -2.13 % ±7.21% ±9.60% ±12.52%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=0 n=500 type='Float32Array' 3.52 % ±4.87% ±6.50% ±8.50%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=0 n=500 type='Float64Array' 1.90 % ±5.76% ±7.67% ±9.98%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=0 n=500 type='Int8Array' 2.76 % ±6.66% ±8.87% ±11.57%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=0 n=500 type='Uint8Array' -2.17 % ±7.12% ±9.47% ±12.34%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=0 n=500 type='Uint8ClampedArray' -1.92 % ±6.68% ±8.89% ±11.58%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=1 n=500 type='Float32Array' -1.77 % ±7.42% ±9.88% ±12.86%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=1 n=500 type='Float64Array' -4.01 % ±7.51% ±9.99% ±13.02%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=1 n=500 type='Int8Array' 3.14 % ±6.64% ±8.84% ±11.50%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=1 n=500 type='Uint8Array' 3.16 % ±7.07% ±9.40% ±12.24%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=1 n=500 type='Uint8ClampedArray' * 7.24 % ±7.03% ±9.38% ±12.26%
assert/ok.js n=100000 -3.11 % ±4.15% ±5.53% ±7.23%
assert/throws.js method='doesNotThrow' n=10000 -3.47 % ±6.61% ±8.79% ±11.45%
assert/throws.js method='throws_RegExp' n=10000 * -4.39 % ±3.85% ±5.13% ±6.69%
assert/throws.js method='throws_TypeError' n=10000 0.65 % ±4.71% ±6.27% ±8.16%
Be aware that when doing many comparisons the risk of a false-positive
result increases. In this case, there are 136 comparisons, you can thus
expect the following amount of false-positive results:
6.80 false positives, when considering a 5% risk acceptance (*, **, ***),
1.36 false positives, when considering a 1% risk acceptance (**, ***),
0.14 false positives, when considering a 0.1% risk acceptance (***)
regressions with at least one *:
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=1 len=20000 n=25 primitive='string' * -5.44 % ±4.39% ±5.85% ±7.65%
assert/throws.js method='throws_RegExp' n=10000 * -4.39 % ±3.85% ±5.13% ±6.69%
will rerun CI to check if those are flaky:
https://ci.nodejs.org/job/benchmark-node-micro-benchmarks/1101/
Details
confidence improvement accuracy (*) (**) (***)
assert/deepequal-buffer.js method='deepEqual' strict=0 len=1000 n=20000 -2.52 % ±4.88% ±6.50% ±8.46%
assert/deepequal-buffer.js method='deepEqual' strict=0 len=100 n=20000 -0.85 % ±5.29% ±7.05% ±9.18%
assert/deepequal-buffer.js method='deepEqual' strict=1 len=1000 n=20000 2.29 % ±6.73% ±8.95% ±11.66%
assert/deepequal-buffer.js method='deepEqual' strict=1 len=100 n=20000 -3.90 % ±5.36% ±7.15% ±9.35%
assert/deepequal-buffer.js method='notDeepEqual' strict=0 len=1000 n=20000 4.95 % ±7.33% ±9.76% ±12.70%
assert/deepequal-buffer.js method='notDeepEqual' strict=0 len=100 n=20000 -1.06 % ±6.51% ±8.67% ±11.30%
assert/deepequal-buffer.js method='notDeepEqual' strict=1 len=1000 n=20000 -1.66 % ±6.38% ±8.49% ±11.06%
assert/deepequal-buffer.js method='notDeepEqual' strict=1 len=100 n=20000 -0.63 % ±6.40% ±8.52% ±11.10%
assert/deepequal-map.js method='deepEqual_mixed' strict=0 len=500 n=500 0.44 % ±1.90% ±2.53% ±3.30%
assert/deepequal-map.js method='deepEqual_mixed' strict=1 len=500 n=500 0.87 % ±1.63% ±2.17% ±2.83%
assert/deepequal-map.js method='deepEqual_objectOnly' strict=0 len=500 n=500 1.26 % ±1.65% ±2.20% ±2.88%
assert/deepequal-map.js method='deepEqual_objectOnly' strict=1 len=500 n=500 -0.69 % ±1.42% ±1.88% ±2.45%
assert/deepequal-map.js method='deepEqual_primitiveOnly' strict=0 len=500 n=500 -1.70 % ±5.15% ±6.86% ±8.94%
assert/deepequal-map.js method='deepEqual_primitiveOnly' strict=1 len=500 n=500 -1.95 % ±6.05% ±8.07% ±10.53%
assert/deepequal-map.js method='notDeepEqual_mixed' strict=0 len=500 n=500 2.95 % ±7.92% ±10.55% ±13.75%
assert/deepequal-map.js method='notDeepEqual_mixed' strict=1 len=500 n=500 3.34 % ±5.02% ±6.68% ±8.70%
assert/deepequal-map.js method='notDeepEqual_objectOnly' strict=0 len=500 n=500 -2.25 % ±2.30% ±3.06% ±3.99%
assert/deepequal-map.js method='notDeepEqual_objectOnly' strict=1 len=500 n=500 -0.47 % ±1.92% ±2.55% ±3.32%
assert/deepequal-map.js method='notDeepEqual_primitiveOnly' strict=0 len=500 n=500 -4.34 % ±6.12% ±8.14% ±10.61%
assert/deepequal-map.js method='notDeepEqual_primitiveOnly' strict=1 len=500 n=500 -0.77 % ±4.01% ±5.35% ±7.01%
assert/deepequal-object.js method='deepEqual' strict=0 size=1000 n=5000 -2.10 % ±4.64% ±6.19% ±8.08%
assert/deepequal-object.js method='deepEqual' strict=0 size=100 n=5000 0.19 % ±6.70% ±8.92% ±11.62%
assert/deepequal-object.js method='deepEqual' strict=0 size=50000 n=5000 2.06 % ±2.35% ±3.13% ±4.09%
assert/deepequal-object.js method='deepEqual' strict=1 size=1000 n=5000 * 5.90 % ±4.81% ±6.42% ±8.39%
assert/deepequal-object.js method='deepEqual' strict=1 size=100 n=5000 1.40 % ±6.05% ±8.06% ±10.50%
assert/deepequal-object.js method='deepEqual' strict=1 size=50000 n=5000 -0.42 % ±1.70% ±2.26% ±2.94%
assert/deepequal-object.js method='notDeepEqual' strict=0 size=1000 n=5000 4.05 % ±6.81% ±9.06% ±11.79%
assert/deepequal-object.js method='notDeepEqual' strict=0 size=100 n=5000 3.18 % ±6.01% ±7.99% ±10.41%
assert/deepequal-object.js method='notDeepEqual' strict=0 size=50000 n=5000 1.96 % ±7.41% ±9.85% ±12.83%
assert/deepequal-object.js method='notDeepEqual' strict=1 size=1000 n=5000 -1.66 % ±7.41% ±9.86% ±12.84%
assert/deepequal-object.js method='notDeepEqual' strict=1 size=100 n=5000 3.65 % ±6.64% ±8.83% ±11.50%
assert/deepequal-object.js method='notDeepEqual' strict=1 size=50000 n=5000 -1.64 % ±6.62% ±8.83% ±11.55%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=0 len=20000 n=25 primitive='array' -0.72 % ±4.97% ±6.62% ±8.62%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=0 len=20000 n=25 primitive='number' 1.64 % ±4.75% ±6.32% ±8.22%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=0 len=20000 n=25 primitive='object' 0.95 % ±4.42% ±5.89% ±7.69%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=0 len=20000 n=25 primitive='string' -3.25 % ±8.03% ±10.73% ±14.06%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=1 len=20000 n=25 primitive='array' 1.02 % ±5.04% ±6.71% ±8.74%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=1 len=20000 n=25 primitive='number' -0.46 % ±5.24% ±6.99% ±9.14%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=1 len=20000 n=25 primitive='object' * -5.54 % ±5.03% ±6.69% ±8.71%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=1 len=20000 n=25 primitive='string' -0.03 % ±4.09% ±5.45% ±7.11%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=0 len=20000 n=25 primitive='array' 1.06 % ±6.07% ±8.07% ±10.52%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=0 len=20000 n=25 primitive='number' -0.05 % ±5.66% ±7.55% ±9.87%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=0 len=20000 n=25 primitive='object' -0.20 % ±7.02% ±9.36% ±12.22%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=0 len=20000 n=25 primitive='string' 1.32 % ±5.61% ±7.47% ±9.72%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=1 len=20000 n=25 primitive='array' 4.98 % ±7.85% ±10.46% ±13.63%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=1 len=20000 n=25 primitive='number' 1.34 % ±6.20% ±8.25% ±10.75%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=1 len=20000 n=25 primitive='object' 2.49 % ±6.49% ±8.63% ±11.24%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=1 len=20000 n=25 primitive='string' -2.30 % ±8.79% ±11.69% ±15.22%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=0 len=20000 n=25 primitive='array' -5.31 % ±5.39% ±7.18% ±9.35%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=0 len=20000 n=25 primitive='number' -1.28 % ±5.08% ±6.75% ±8.79%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=0 len=20000 n=25 primitive='object' 1.39 % ±4.20% ±5.59% ±7.29%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=0 len=20000 n=25 primitive='string' -1.00 % ±4.78% ±6.37% ±8.29%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=1 len=20000 n=25 primitive='array' 2.64 % ±6.49% ±8.63% ±11.25%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=1 len=20000 n=25 primitive='number' 0.49 % ±4.35% ±5.79% ±7.54%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=1 len=20000 n=25 primitive='object' -1.34 % ±5.51% ±7.33% ±9.55%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=1 len=20000 n=25 primitive='string' 0.16 % ±5.37% ±7.14% ±9.30%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=0 len=20000 n=25 primitive='array' -1.19 % ±7.73% ±10.28% ±13.39%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=0 len=20000 n=25 primitive='number' -1.51 % ±5.80% ±7.72% ±10.05%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=0 len=20000 n=25 primitive='object' -0.28 % ±6.60% ±8.78% ±11.43%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=0 len=20000 n=25 primitive='string' -0.42 % ±5.80% ±7.72% ±10.06%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=1 len=20000 n=25 primitive='array' -0.18 % ±6.86% ±9.14% ±11.91%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=1 len=20000 n=25 primitive='number' -1.08 % ±5.91% ±7.86% ±10.24%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=1 len=20000 n=25 primitive='object' 1.49 % ±7.05% ±9.38% ±12.21%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=1 len=20000 n=25 primitive='string' -1.90 % ±6.40% ±8.52% ±11.10%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=0 n=20000 primitive='array' -0.82 % ±7.10% ±9.45% ±12.30%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=0 n=20000 primitive='number' -0.44 % ±6.34% ±8.44% ±11.00%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=0 n=20000 primitive='object' 0.11 % ±9.61% ±12.83% ±16.77%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=0 n=20000 primitive='string' -2.82 % ±5.48% ±7.29% ±9.49%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=1 n=20000 primitive='array' -0.52 % ±5.59% ±7.44% ±9.68%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=1 n=20000 primitive='number' 1.19 % ±6.56% ±8.73% ±11.37%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=1 n=20000 primitive='object' 1.85 % ±6.31% ±8.40% ±10.93%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=1 n=20000 primitive='string' 2.15 % ±6.26% ±8.34% ±10.88%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=0 n=20000 primitive='array' -4.32 % ±6.12% ±8.18% ±10.71%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=0 n=20000 primitive='number' 0.61 % ±7.48% ±9.95% ±12.96%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=0 n=20000 primitive='object' 4.22 % ±6.25% ±8.34% ±10.88%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=0 n=20000 primitive='string' -0.11 % ±5.02% ±6.68% ±8.70%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=1 n=20000 primitive='array' -2.15 % ±5.54% ±7.39% ±9.65%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=1 n=20000 primitive='number' 1.27 % ±6.19% ±8.24% ±10.73%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=1 n=20000 primitive='object' -2.89 % ±5.02% ±6.70% ±8.74%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=1 n=20000 primitive='string' -4.09 % ±5.81% ±7.73% ±10.08%
assert/deepequal-set.js method='deepEqual_mixed' strict=0 len=500 n=500 0.56 % ±2.29% ±3.05% ±3.97%
assert/deepequal-set.js method='deepEqual_mixed' strict=1 len=500 n=500 0.11 % ±2.37% ±3.15% ±4.10%
assert/deepequal-set.js method='deepEqual_objectOnly' strict=0 len=500 n=500 0.35 % ±1.80% ±2.40% ±3.13%
assert/deepequal-set.js method='deepEqual_objectOnly' strict=1 len=500 n=500 0.44 % ±1.09% ±1.45% ±1.89%
assert/deepequal-set.js method='deepEqual_primitiveOnly' strict=0 len=500 n=500 0.03 % ±6.09% ±8.10% ±10.55%
assert/deepequal-set.js method='deepEqual_primitiveOnly' strict=1 len=500 n=500 4.63 % ±6.04% ±8.04% ±10.47%
assert/deepequal-set.js method='notDeepEqual_mixed' strict=0 len=500 n=500 -2.63 % ±5.16% ±6.93% ±9.12%
assert/deepequal-set.js method='notDeepEqual_mixed' strict=1 len=500 n=500 -1.07 % ±5.03% ±6.69% ±8.73%
assert/deepequal-set.js method='notDeepEqual_objectOnly' strict=0 len=500 n=500 -1.06 % ±2.56% ±3.41% ±4.44%
assert/deepequal-set.js method='notDeepEqual_objectOnly' strict=1 len=500 n=500 -0.94 % ±4.75% ±6.36% ±8.36%
assert/deepequal-set.js method='notDeepEqual_primitiveOnly' strict=0 len=500 n=500 -0.26 % ±3.79% ±5.04% ±6.56%
assert/deepequal-set.js method='notDeepEqual_primitiveOnly' strict=1 len=500 n=500 -2.24 % ±3.85% ±5.13% ±6.68%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=0 n=500 type='Float32Array' -3.91 % ±5.32% ±7.08% ±9.23%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=0 n=500 type='Float64Array' 1.53 % ±4.90% ±6.53% ±8.54%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=0 n=500 type='Int8Array' -0.92 % ±5.51% ±7.33% ±9.54%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=0 n=500 type='Uint8Array' -3.31 % ±5.67% ±7.55% ±9.82%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=0 n=500 type='Uint8ClampedArray' 1.37 % ±5.65% ±7.52% ±9.79%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=1 n=500 type='Float32Array' -4.18 % ±6.29% ±8.39% ±10.96%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=1 n=500 type='Float64Array' 4.73 % ±5.74% ±7.66% ±10.01%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=1 n=500 type='Int8Array' 4.04 % ±6.76% ±9.00% ±11.71%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=1 n=500 type='Uint8Array' -3.49 % ±6.16% ±8.21% ±10.69%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=1 n=500 type='Uint8ClampedArray' -1.74 % ±6.14% ±8.17% ±10.64%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=0 n=500 type='Float32Array' -3.47 % ±4.74% ±6.32% ±8.26%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=0 n=500 type='Float64Array' 2.73 % ±4.83% ±6.46% ±8.48%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=0 n=500 type='Int8Array' 1.97 % ±7.17% ±9.55% ±12.43%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=0 n=500 type='Uint8Array' 3.58 % ±4.70% ±6.26% ±8.16%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=0 n=500 type='Uint8ClampedArray' -1.73 % ±5.77% ±7.68% ±9.99%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=1 n=500 type='Float32Array' 3.93 % ±6.91% ±9.21% ±12.01%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=1 n=500 type='Float64Array' 5.56 % ±7.68% ±10.25% ±13.39%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=1 n=500 type='Int8Array' 4.36 % ±6.97% ±9.29% ±12.13%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=1 n=500 type='Uint8Array' 4.47 % ±7.75% ±10.33% ±13.47%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=1 n=500 type='Uint8ClampedArray' * 7.22 % ±5.94% ±7.90% ±10.29%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=0 n=500 type='Float32Array' -3.12 % ±4.57% ±6.09% ±7.92%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=0 n=500 type='Float64Array' -1.21 % ±2.76% ±3.67% ±4.78%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=0 n=500 type='Int8Array' -3.33 % ±5.29% ±7.07% ±9.26%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=0 n=500 type='Uint8Array' -0.97 % ±4.91% ±6.54% ±8.51%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=0 n=500 type='Uint8ClampedArray' 3.45 % ±5.81% ±7.75% ±10.13%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=1 n=500 type='Float32Array' -3.03 % ±5.49% ±7.32% ±9.55%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=1 n=500 type='Float64Array' 0.69 % ±7.43% ±9.89% ±12.87%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=1 n=500 type='Int8Array' -0.61 % ±6.17% ±8.21% ±10.69%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=1 n=500 type='Uint8Array' 1.64 % ±6.91% ±9.20% ±11.98%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=1 n=500 type='Uint8ClampedArray' 5.51 % ±6.94% ±9.25% ±12.05%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=0 n=500 type='Float32Array' -3.24 % ±5.48% ±7.29% ±9.48%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=0 n=500 type='Float64Array' -1.59 % ±4.56% ±6.08% ±7.93%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=0 n=500 type='Int8Array' -3.76 % ±4.82% ±6.43% ±8.40%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=0 n=500 type='Uint8Array' -0.44 % ±5.14% ±6.84% ±8.91%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=0 n=500 type='Uint8ClampedArray' 0.31 % ±6.19% ±8.23% ±10.72%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=1 n=500 type='Float32Array' -5.61 % ±5.73% ±7.64% ±9.96%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=1 n=500 type='Float64Array' -1.10 % ±7.11% ±9.49% ±12.39%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=1 n=500 type='Int8Array' 2.47 % ±6.23% ±8.29% ±10.81%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=1 n=500 type='Uint8Array' -3.47 % ±6.53% ±8.68% ±11.31%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=1 n=500 type='Uint8ClampedArray' -1.26 % ±6.00% ±7.99% ±10.39%
assert/ok.js n=100000 1.78 % ±5.04% ±6.71% ±8.74%
assert/throws.js method='doesNotThrow' n=10000 2.19 % ±6.50% ±8.67% ±11.31%
assert/throws.js method='throws_RegExp' n=10000 -0.11 % ±3.93% ±5.24% ±6.82%
assert/throws.js method='throws_TypeError' n=10000 3.42 % ±4.06% ±5.41% ±7.04%
Be aware that when doing many comparisons the risk of a false-positive
result increases. In this case, there are 136 comparisons, you can thus
expect the following amount of false-positive results:
6.80 false positives, when considering a 5% risk acceptance (*, **, ***),
1.36 false positives, when considering a 1% risk acceptance (**, ***),
0.14 false positives, when considering a 0.1% risk acceptance (***)
the only regression with at least 1 * appears to be different from the ones above, so definitely flaky:
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=1 len=20000 n=25 primitive='object' * -5.54 % ±5.03% ±6.69% ±8.71%
Approving because in nodejs/TSC#1158, most people who commented / reacted with 👍s understood that the performance we are concerned with is the one in non-error paths.
|
Landed in 6f8c983 |
PR-URL: #41702 Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Mestery <mestery@protonmail.com>
PR-URL: nodejs#41702 Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Mestery <mestery@protonmail.com>
PR-URL: #41702 Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Mestery <mestery@protonmail.com>
PR-URL: #41702 Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Mestery <mestery@protonmail.com>
PR-URL: #41702 Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Mestery <mestery@protonmail.com>
PR-URL: nodejs#41702 Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Mestery <mestery@protonmail.com>
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [node](https://github.com/nodejs/node) | stage | minor | `16.14.2-bullseye` -> `16.15.0-bullseye` |
---
### Release Notes
<details>
<summary>nodejs/node</summary>
### [`v16.15.0`](https://github.com/nodejs/node/releases/v16.15.0)
[Compare Source](https://github.com/nodejs/node/compare/v16.14.2...v16.15.0)
##### Notable changes
##### Add fetch API
Adds experimental support to the fetch API. This adds the `--experimental-fetch`
flag that installs the `fetch`, `Request`, `Response`, `Headers`, and `FormData`
globals.
- **(SEMVER-MINOR)** add fetch (Michaël Zasso) [#​41749](https://github.com/nodejs/node/pull/41749)
- **(SEMVER-MINOR)** add FormData global when fetch is enabled (Michaël Zasso) [#​41956](https://github.com/nodejs/node/pull/41956)
##### Other notable changes
- **build**:
- remove broken x32 arch support (Ben Noordhuis) [#​41905](https://github.com/nodejs/node/pull/41905)
- **crypto**:
- **(SEMVER-MINOR)** add KeyObject.prototype.equals method (Filip Skokan) [#​42093](https://github.com/nodejs/node/pull/42093)
- **doc**:
- add [@​ShogunPanda](https://github.com/ShogunPanda) to collaborators (Paolo Insogna) [#​42362](https://github.com/nodejs/node/pull/42362)
- add JakobJingleheimer to collaborators list (Jacob Smith) [#​42185](https://github.com/nodejs/node/pull/42185)
- add joesepi to collaborators (Joe Sepi) [#​41914](https://github.com/nodejs/node/pull/41914)
- add marsonya to collaborators (Akhil Marsonya) [#​41991](https://github.com/nodejs/node/pull/41991)
- deprecate string coercion in `fs.write`, `fs.writeFileSync` (Livia Medeiros) [#​42149](https://github.com/nodejs/node/pull/42149)
- deprecate notice for process methods (Yash Ladha) [#​41587](https://github.com/nodejs/node/pull/41587)
- **esm**:
- **(SEMVER-MINOR)** support https remotely and http locally under flag (Bradley Farias) [#​36328](https://github.com/nodejs/node/pull/36328)
- **module**:
- **(SEMVER-MINOR)** unflag esm json modules (Geoffrey Booth) [#​41736](https://github.com/nodejs/node/pull/41736)
- **node-api**:
- **(SEMVER-MINOR)** add node_api_symbol_for() (Darshan Sen) [#​41329](https://github.com/nodejs/node/pull/41329)
- **process**:
- deprecate multipleResolves (Benjamin Gruenbaum) [#​41872](https://github.com/nodejs/node/pull/41872)
- **stream**:
- **(SEMVER-MINOR)** support some and every (Benjamin Gruenbaum) [#​41573](https://github.com/nodejs/node/pull/41573)
- **(SEMVER-MINOR)** add toArray (Benjamin Gruenbaum) [#​41553](https://github.com/nodejs/node/pull/41553)
- **(SEMVER-MINOR)** add forEach method (Benjamin Gruenbaum) [#​41445](https://github.com/nodejs/node/pull/41445)
##### Commits
- \[[`3d4df9cd70`](https://github.com/nodejs/node/commit/3d4df9cd70)] - **(SEMVER-MINOR)** **benchmark**: add `subarray` to `buffer-slice` (Benjamin Gruenbaum) [#​41596](https://github.com/nodejs/node/pull/41596)
- \[[`d40f5a177a`](https://github.com/nodejs/node/commit/d40f5a177a)] - **buffer**: improve blob read performance (Xuguang Mei) [#​42117](https://github.com/nodejs/node/pull/42117)
- \[[`84752a495f`](https://github.com/nodejs/node/commit/84752a495f)] - **(SEMVER-MINOR)** **buffer**: alias `subarray` and `slice` (Benjamin Gruenbaum) [#​41596](https://github.com/nodejs/node/pull/41596)
- \[[`c5da1dda4a`](https://github.com/nodejs/node/commit/c5da1dda4a)] - **build**: use ccache in make-v8.sh on ppc64le and s390x (Richard Lau) [#​42204](https://github.com/nodejs/node/pull/42204)
- \[[`ba56e41953`](https://github.com/nodejs/node/commit/ba56e41953)] - **build**: drop shortened URL from lint-commit-message (Richard Lau) [#​42168](https://github.com/nodejs/node/pull/42168)
- \[[`b2c88ec69c`](https://github.com/nodejs/node/commit/b2c88ec69c)] - **build**: fix usage of input in feature action (Michael Dawson) [#​42150](https://github.com/nodejs/node/pull/42150)
- \[[`bcabd70d93`](https://github.com/nodejs/node/commit/bcabd70d93)] - **build**: increase max ops for stale feature action (Michael Dawson) [#​42130](https://github.com/nodejs/node/pull/42130)
- \[[`042fb6f4d5`](https://github.com/nodejs/node/commit/042fb6f4d5)] - **build**: add corepack to the auto-updated dependencies (Maël Nison) [#​42090](https://github.com/nodejs/node/pull/42090)
- \[[`611cbf13a6`](https://github.com/nodejs/node/commit/611cbf13a6)] - **build**: last test of the stale feature action (Michael Dawson) [#​42085](https://github.com/nodejs/node/pull/42085)
- \[[`0d8f76ff2f`](https://github.com/nodejs/node/commit/0d8f76ff2f)] - **build**: update feature close action for testing (Michael Dawson) [#​42082](https://github.com/nodejs/node/pull/42082)
- \[[`bc3d8a752f`](https://github.com/nodejs/node/commit/bc3d8a752f)] - **build**: cancel running CI jobs when a PR is updated (Michaël Zasso) [#​42017](https://github.com/nodejs/node/pull/42017)
- \[[`e049173bce`](https://github.com/nodejs/node/commit/e049173bce)] - **build**: increase operations and test tag (Michael Dawson) [#​42038](https://github.com/nodejs/node/pull/42038)
- \[[`4c47d59e9b`](https://github.com/nodejs/node/commit/4c47d59e9b)] - **build**: allow manual run of feature request action (Michael Dawson) [#​42037](https://github.com/nodejs/node/pull/42037)
- \[[`692ee2ae06`](https://github.com/nodejs/node/commit/692ee2ae06)] - **build**: add action to close stale feature requests (Michael Dawson) [#​41981](https://github.com/nodejs/node/pull/41981)
- \[[`290a2bfd81`](https://github.com/nodejs/node/commit/290a2bfd81)] - **build**: prevent concurrent CI and CQ workflow runs (Michaël Zasso) [#​42016](https://github.com/nodejs/node/pull/42016)
- \[[`d2c1624279`](https://github.com/nodejs/node/commit/d2c1624279)] - **build**: use zoslib_include_dir provided by node-gyp (alexcfyung) [#​41713](https://github.com/nodejs/node/pull/41713)
- \[[`db4a3dc1a6`](https://github.com/nodejs/node/commit/db4a3dc1a6)] - **build**: move tool updates workflow runtime a day later (Rich Trott) [#​41982](https://github.com/nodejs/node/pull/41982)
- \[[`24d0c32af4`](https://github.com/nodejs/node/commit/24d0c32af4)] - **build**: extend yamllint configuration (Mestery) [#​41756](https://github.com/nodejs/node/pull/41756)
- \[[`428b967ea4`](https://github.com/nodejs/node/commit/428b967ea4)] - **build**: remove broken x32 arch support (Ben Noordhuis) [#​41905](https://github.com/nodejs/node/pull/41905)
- \[[`51847e0d24`](https://github.com/nodejs/node/commit/51847e0d24)] - **build**: revert fast-track changes (Filip Skokan) [#​41892](https://github.com/nodejs/node/pull/41892)
- \[[`1452f8d6f1`](https://github.com/nodejs/node/commit/1452f8d6f1)] - **build**: improve consistency between workflows (Mestery) [#​41791](https://github.com/nodejs/node/pull/41791)
- \[[`9677da4b46`](https://github.com/nodejs/node/commit/9677da4b46)] - **(SEMVER-MINOR)** **build**: add --v8-enable-hugepage flag (Daoming Qiu) [#​41487](https://github.com/nodejs/node/pull/41487)
- \[[`5468de5317`](https://github.com/nodejs/node/commit/5468de5317)] - **build,tools**: change the quotes in YAML (Mestery) [#​41756](https://github.com/nodejs/node/pull/41756)
- \[[`f32c39762c`](https://github.com/nodejs/node/commit/f32c39762c)] - **child_process**: kHideConsoleWindows for spawnSync (Raymond Zhao) [#​41412](https://github.com/nodejs/node/pull/41412)
- \[[`914f9071ba`](https://github.com/nodejs/node/commit/914f9071ba)] - **cluster**: respect listen backlog set by workers (Elad Nava) [#​41623](https://github.com/nodejs/node/pull/41623)
- \[[`f990308972`](https://github.com/nodejs/node/commit/f990308972)] - **crypto**: fix auth tag length error when mode != GCM (Tobias Nießen) [#​42383](https://github.com/nodejs/node/pull/42383)
- \[[`7f43f94304`](https://github.com/nodejs/node/commit/7f43f94304)] - **crypto**: fix fingerprint string size calculation (Tobias Nießen) [#​42175](https://github.com/nodejs/node/pull/42175)
- \[[`602f34eeb8`](https://github.com/nodejs/node/commit/602f34eeb8)] - **crypto**: add CHECKs to remaining BIO_s_mem allocs (Tobias Nießen) [#​42155](https://github.com/nodejs/node/pull/42155)
- \[[`4eecb25125`](https://github.com/nodejs/node/commit/4eecb25125)] - **crypto**: validate `this` value for `webcrypto.getRandomValues` (Antoine du Hamel) [#​41760](https://github.com/nodejs/node/pull/41760)
- \[[`b7599d8b14`](https://github.com/nodejs/node/commit/b7599d8b14)] - **(SEMVER-MINOR)** **crypto**: add KeyObject.prototype.equals method (Filip Skokan) [#​42093](https://github.com/nodejs/node/pull/42093)
- \[[`70ae0ae8a0`](https://github.com/nodejs/node/commit/70ae0ae8a0)] - **crypto**: check result of BIO_new in X509ToObject (Tobias Nießen) [#​41979](https://github.com/nodejs/node/pull/41979)
- \[[`36b9028f4f`](https://github.com/nodejs/node/commit/36b9028f4f)] - **crypto**: rename X509\_NAME_FLAGS (Tobias Nießen) [#​42001](https://github.com/nodejs/node/pull/42001)
- \[[`a592442218`](https://github.com/nodejs/node/commit/a592442218)] - **(SEMVER-MINOR)** **crypto**: expose Web Crypto API on the global scope (Antoine du Hamel) [#​41938](https://github.com/nodejs/node/pull/41938)
- \[[`46dda316df`](https://github.com/nodejs/node/commit/46dda316df)] - **crypto**: do not advertise unsupported algorithms (Brian White) [#​41864](https://github.com/nodejs/node/pull/41864)
- \[[`adb88fcb46`](https://github.com/nodejs/node/commit/adb88fcb46)] - **(SEMVER-MINOR)** **crypto**: support RFC 2818 compatible checkHost (Tobias Nießen) [#​41569](https://github.com/nodejs/node/pull/41569)
- \[[`e9d7af1cc6`](https://github.com/nodejs/node/commit/e9d7af1cc6)] - **debugger**: correct typo in inspect_repl.js (Kohei Ueno) [#​42267](https://github.com/nodejs/node/pull/42267)
- \[[`e6019a4cc0`](https://github.com/nodejs/node/commit/e6019a4cc0)] - **debugger**: add debugger alias for exec(expr) (Xuguang Mei) [#​41907](https://github.com/nodejs/node/pull/41907)
- \[[`83691ada5b`](https://github.com/nodejs/node/commit/83691ada5b)] - **debugger**: remove duplicate setPauseOnException call (Balakrishna Avulapati) [#​41838](https://github.com/nodejs/node/pull/41838)
- \[[`7e73e5e46b`](https://github.com/nodejs/node/commit/7e73e5e46b)] - **deps**: upgrade npm to 8.5.5 (npm team) [#​42382](https://github.com/nodejs/node/pull/42382)
- \[[`8d734cbde6`](https://github.com/nodejs/node/commit/8d734cbde6)] - **deps**: cares: cherry-pick [`b5a3d96`](https://github.com/nodejs/node/commit/b5a3d96) (bradh352) [#​42216](https://github.com/nodejs/node/pull/42216)
- \[[`ba1d949ce0`](https://github.com/nodejs/node/commit/ba1d949ce0)] - **deps**: V8: cherry-pick [`c6f6626`](https://github.com/nodejs/node/commit/c6f6626deb14) (Lu Yahan) [#​42240](https://github.com/nodejs/node/pull/42240)
- \[[`6b721d7103`](https://github.com/nodejs/node/commit/6b721d7103)] - **deps**: upgrade npm to 8.5.3 (npm team) [#​42205](https://github.com/nodejs/node/pull/42205)
- \[[`baeb66a35a`](https://github.com/nodejs/node/commit/baeb66a35a)] - **deps**: update nghttp2 to 1.47.0 (Yash Ladha) [#​42127](https://github.com/nodejs/node/pull/42127)
- \[[`1a0f26f55c`](https://github.com/nodejs/node/commit/1a0f26f55c)] - **deps**: upgrade npm to 8.5.2 (npm team) [#​42122](https://github.com/nodejs/node/pull/42122)
- \[[`396240bf80`](https://github.com/nodejs/node/commit/396240bf80)] - **deps**: V8: cherry-pick [`77d5154`](https://github.com/nodejs/node/commit/77d515484864) (Lu Yahan) [#​42067](https://github.com/nodejs/node/pull/42067)
- \[[`3f09a6d227`](https://github.com/nodejs/node/commit/3f09a6d227)] - **deps**: V8: cherry-pick [`b663343`](https://github.com/nodejs/node/commit/b66334313c8b) (Lu Yahan) [#​42067](https://github.com/nodejs/node/pull/42067)
- \[[`a73536b286`](https://github.com/nodejs/node/commit/a73536b286)] - **deps**: upgrade npm to 8.5.1 (npm-robot) [#​42039](https://github.com/nodejs/node/pull/42039)
- \[[`c64b0381ee`](https://github.com/nodejs/node/commit/c64b0381ee)] - **deps**: update undici to 5.0.0 (Node.js GitHub Bot) [#​42583](https://github.com/nodejs/node/pull/42583)
- \[[`a670c1fb5f`](https://github.com/nodejs/node/commit/a670c1fb5f)] - **deps**: update undici to 4.16.0 (Node.js GitHub Bot) [#​42414](https://github.com/nodejs/node/pull/42414)
- \[[`721d10751b`](https://github.com/nodejs/node/commit/721d10751b)] - **deps**: update undici to 4.15.1 (Michaël Zasso) [#​42246](https://github.com/nodejs/node/pull/42246)
- \[[`83a667621b`](https://github.com/nodejs/node/commit/83a667621b)] - **deps**: update undici to [`3e267ec`](https://github.com/nodejs/node/commit/3e267ece5f) (Michaël Zasso) [#​41955](https://github.com/nodejs/node/pull/41955)
- \[[`208ab5723e`](https://github.com/nodejs/node/commit/208ab5723e)] - **doc**: improve README.md usability (Rich Trott) [#​42378](https://github.com/nodejs/node/pull/42378)
- \[[`682248c980`](https://github.com/nodejs/node/commit/682248c980)] - **doc**: add that chacha20-poly1305 is IETF version (Tobias Nießen) [#​42370](https://github.com/nodejs/node/pull/42370)
- \[[`83391d185c`](https://github.com/nodejs/node/commit/83391d185c)] - **doc**: document goal to have examples (Michael Dawson) [#​42274](https://github.com/nodejs/node/pull/42274)
- \[[`7073017efb`](https://github.com/nodejs/node/commit/7073017efb)] - **doc**: fix Embedder's Guide link to V8 official docs (Aroyan) [#​42373](https://github.com/nodejs/node/pull/42373)
- \[[`cb07930bda`](https://github.com/nodejs/node/commit/cb07930bda)] - **doc**: remove unneeded lint disable comment (Rich Trott) [#​42374](https://github.com/nodejs/node/pull/42374)
- \[[`fb42f99514`](https://github.com/nodejs/node/commit/fb42f99514)] - **doc**: revise async_hooks docs (Rich Trott) [#​42337](https://github.com/nodejs/node/pull/42337)
- \[[`835e65b78e`](https://github.com/nodejs/node/commit/835e65b78e)] - **doc**: add [@​ShogunPanda](https://github.com/ShogunPanda) to collaborators (Paolo Insogna) [#​42362](https://github.com/nodejs/node/pull/42362)
- \[[`df1909982d`](https://github.com/nodejs/node/commit/df1909982d)] - **doc**: update base branch name for `nodejs/nodejs.org` (Danielle Adams) [#​42355](https://github.com/nodejs/node/pull/42355)
- \[[`4f6b187059`](https://github.com/nodejs/node/commit/4f6b187059)] - **doc**: fix async iterable pipeline signal examples (Randall Leeds) [#​42258](https://github.com/nodejs/node/pull/42258)
- \[[`3188dcb390`](https://github.com/nodejs/node/commit/3188dcb390)] - **doc**: clarify path search in `child_process.spawn` (Damjan Cvetko) [#​41418](https://github.com/nodejs/node/pull/41418)
- \[[`f53b454e2e`](https://github.com/nodejs/node/commit/f53b454e2e)] - **doc**: clarify the meaning of legacy status (Darshan Sen) [#​42269](https://github.com/nodejs/node/pull/42269)
- \[[`43b8a4fc57`](https://github.com/nodejs/node/commit/43b8a4fc57)] - **doc**: improve pipe description (Mikael Finstad) [#​42295](https://github.com/nodejs/node/pull/42295)
- \[[`9fa6e445d5`](https://github.com/nodejs/node/commit/9fa6e445d5)] - **doc**: remove outdated timeout.unref content (Xuguang Mei) [#​42241](https://github.com/nodejs/node/pull/42241)
- \[[`a84896ea2c`](https://github.com/nodejs/node/commit/a84896ea2c)] - **doc**: deprecate string coercion in `fs.write`, `fs.writeFileSync` (Livia Medeiros) [#​42149](https://github.com/nodejs/node/pull/42149)
- \[[`436bdde654`](https://github.com/nodejs/node/commit/436bdde654)] - **doc**: remove refs to old OpenSSL list-\* commands (Tobias Nießen) [#​42235](https://github.com/nodejs/node/pull/42235)
- \[[`6763bede4c`](https://github.com/nodejs/node/commit/6763bede4c)] - **doc**: readline `'line'` event emits final line (Matt Probert) [#​42214](https://github.com/nodejs/node/pull/42214)
- \[[`6545094a94`](https://github.com/nodejs/node/commit/6545094a94)] - **doc**: update stale feature messages (Michael Dawson) [#​42217](https://github.com/nodejs/node/pull/42217)
- \[[`275b66d54e`](https://github.com/nodejs/node/commit/275b66d54e)] - **doc**: remove erroneous comma in cluster explainer (Tobias Nießen) [#​42238](https://github.com/nodejs/node/pull/42238)
- \[[`cda623cc1d`](https://github.com/nodejs/node/commit/cda623cc1d)] - **doc**: remove "considered" for clarity (Rich Trott) [#​42218](https://github.com/nodejs/node/pull/42218)
- \[[`17172fef20`](https://github.com/nodejs/node/commit/17172fef20)] - **doc**: clarify that some modules don't work when compiled without ssl (Antoine du Hamel) [#​42198](https://github.com/nodejs/node/pull/42198)
- \[[`126045356a`](https://github.com/nodejs/node/commit/126045356a)] - **doc**: add note about nghttp2 hd pair size (Rafael Silva) [#​42172](https://github.com/nodejs/node/pull/42172)
- \[[`63b468f753`](https://github.com/nodejs/node/commit/63b468f753)] - **doc**: use parenthesis instead of em dash (Antoine du Hamel) [#​42202](https://github.com/nodejs/node/pull/42202)
- \[[`19b62ddd68`](https://github.com/nodejs/node/commit/19b62ddd68)] - **doc**: add next-10 to strategic initiatives (Michael Dawson) [#​42167](https://github.com/nodejs/node/pull/42167)
- \[[`993a943f2c`](https://github.com/nodejs/node/commit/993a943f2c)] - **doc**: add missing single-quotes to `http.OutgoingMessage` (Juan José Arboleda) [#​42162](https://github.com/nodejs/node/pull/42162)
- \[[`d0ce089622`](https://github.com/nodejs/node/commit/d0ce089622)] - **doc**: fix typos (apeltop) [#​42146](https://github.com/nodejs/node/pull/42146)
- \[[`88e67b8ec3`](https://github.com/nodejs/node/commit/88e67b8ec3)] - **doc**: add JakobJingleheimer to collaborators list (Jacob Smith) [#​42185](https://github.com/nodejs/node/pull/42185)
- \[[`5322c73241`](https://github.com/nodejs/node/commit/5322c73241)] - **doc**: remove reference to obsolete security program (Rich Trott) [#​42144](https://github.com/nodejs/node/pull/42144)
- \[[`5980b6d133`](https://github.com/nodejs/node/commit/5980b6d133)] - **doc**: remove repeated a word (apeltop) [#​42138](https://github.com/nodejs/node/pull/42138)
- \[[`a70a1ce3a9`](https://github.com/nodejs/node/commit/a70a1ce3a9)] - **doc**: make building with ninja more discoverable (Balakrishna Avulapati) [#​41840](https://github.com/nodejs/node/pull/41840)
- \[[`bc457c2339`](https://github.com/nodejs/node/commit/bc457c2339)] - **doc**: document change to IncomingMessage.headers enumerability (Arnold Zokas) [#​42095](https://github.com/nodejs/node/pull/42095)
- \[[`1eb4d8b89c`](https://github.com/nodejs/node/commit/1eb4d8b89c)] - **doc**: add meixg to triagers (Xuguang Mei) [#​42066](https://github.com/nodejs/node/pull/42066)
- \[[`3d75c8748c`](https://github.com/nodejs/node/commit/3d75c8748c)] - **doc**: clarify persistent ref behavior (Michael Dawson) [#​42035](https://github.com/nodejs/node/pull/42035)
- \[[`8c26d8cea1`](https://github.com/nodejs/node/commit/8c26d8cea1)] - **doc**: move bnoordhuis back to collaborators (Ben Noordhuis) [#​42064](https://github.com/nodejs/node/pull/42064)
- \[[`0c21b58d57`](https://github.com/nodejs/node/commit/0c21b58d57)] - **doc**: clarify supported versus enabled TLS ciphers (Tobias Nießen) [#​42063](https://github.com/nodejs/node/pull/42063)
- \[[`a658437c64`](https://github.com/nodejs/node/commit/a658437c64)] - **doc**: add missing api entries on performance (legendecas) [#​42018](https://github.com/nodejs/node/pull/42018)
- \[[`51cb78022e`](https://github.com/nodejs/node/commit/51cb78022e)] - **doc**: fix typo in http2 endAfterHeaders description (Alexandru Comanescu) [#​42060](https://github.com/nodejs/node/pull/42060)
- \[[`40ddfa4e69`](https://github.com/nodejs/node/commit/40ddfa4e69)] - **doc**: make minor fixes to contributing guides (T-O-R-U-S) [#​41966](https://github.com/nodejs/node/pull/41966)
- \[[`60d6409af0`](https://github.com/nodejs/node/commit/60d6409af0)] - **doc**: use openpgp.org for keyserver examples (Nick Schonning) [#​39227](https://github.com/nodejs/node/pull/39227)
- \[[`9800719237`](https://github.com/nodejs/node/commit/9800719237)] - **doc**: adjust a/an word usage (Derek Wolpert) [#​41915](https://github.com/nodejs/node/pull/41915)
- \[[`43894b1bc4`](https://github.com/nodejs/node/commit/43894b1bc4)] - **doc**: capitalize valgrind (T•Ø•R•Ü•S) [#​41986](https://github.com/nodejs/node/pull/41986)
- \[[`a34cc75026`](https://github.com/nodejs/node/commit/a34cc75026)] - **doc**: fix deprecation number (Antoine du Hamel) [#​41990](https://github.com/nodejs/node/pull/41990)
- \[[`dd88f54d57`](https://github.com/nodejs/node/commit/dd88f54d57)] - **doc**: add marsonya to collaborators (Akhil Marsonya) [#​41991](https://github.com/nodejs/node/pull/41991)
- \[[`8858950a9f`](https://github.com/nodejs/node/commit/8858950a9f)] - **doc**: deprecate notice for process methods (Yash Ladha) [#​41587](https://github.com/nodejs/node/pull/41587)
- \[[`d77db88386`](https://github.com/nodejs/node/commit/d77db88386)] - **doc**: fix bug in `readable.unshift` code example (Xuguang Mei) [#​41944](https://github.com/nodejs/node/pull/41944)
- \[[`81e56c9178`](https://github.com/nodejs/node/commit/81e56c9178)] - **doc**: add missing `buffer` in the `stream/consumers` import example (Mestery) [#​41961](https://github.com/nodejs/node/pull/41961)
- \[[`c08efba968`](https://github.com/nodejs/node/commit/c08efba968)] - **doc**: fix typo in readableStream.locked description (Tobias Nießen) [#​41923](https://github.com/nodejs/node/pull/41923)
- \[[`e21831bad1`](https://github.com/nodejs/node/commit/e21831bad1)] - **doc**: fix wrong indent in stream documentation (Xuguang Mei) [#​41943](https://github.com/nodejs/node/pull/41943)
- \[[`e55f340052`](https://github.com/nodejs/node/commit/e55f340052)] - **doc**: emphasize security warning in vm module doc (Rich Trott) [#​41916](https://github.com/nodejs/node/pull/41916)
- \[[`ce15007fd7`](https://github.com/nodejs/node/commit/ce15007fd7)] - **doc**: clarify `tls.Server` `'connection'` event documentation (Austin Cheney) [#​41917](https://github.com/nodejs/node/pull/41917)
- \[[`6fc0a25b64`](https://github.com/nodejs/node/commit/6fc0a25b64)] - **doc**: improve scrollbar appearance in dark mode (Aaron Xie) [#​41890](https://github.com/nodejs/node/pull/41890)
- \[[`90d955100d`](https://github.com/nodejs/node/commit/90d955100d)] - **doc**: replace text with paths in toggle SVGs (Brian White) [#​41885](https://github.com/nodejs/node/pull/41885)
- \[[`6fd538331d`](https://github.com/nodejs/node/commit/6fd538331d)] - **doc**: edit process.config deprecation text (Rich Trott) [#​41889](https://github.com/nodejs/node/pull/41889)
- \[[`55caa10c54`](https://github.com/nodejs/node/commit/55caa10c54)] - **doc**: add joesepi to collaborators (Joe Sepi) [#​41914](https://github.com/nodejs/node/pull/41914)
- \[[`73f3a2cf96`](https://github.com/nodejs/node/commit/73f3a2cf96)] - **doc**: remove unneeded ellipsis in header (Rich Trott) [#​41888](https://github.com/nodejs/node/pull/41888)
- \[[`b950f5db84`](https://github.com/nodejs/node/commit/b950f5db84)] - **doc**: fix webstream close reject state state doc (Benjamin Gruenbaum) [#​41860](https://github.com/nodejs/node/pull/41860)
- \[[`e46c7d6f69`](https://github.com/nodejs/node/commit/e46c7d6f69)] - **(SEMVER-MINOR)** **doc**: deprecate `buffer.slice` (Benjamin Gruenbaum) [#​41596](https://github.com/nodejs/node/pull/41596)
- \[[`83129729c6`](https://github.com/nodejs/node/commit/83129729c6)] - **doc**: fix backticks around 'default' (Tobias Nießen) [#​41613](https://github.com/nodejs/node/pull/41613)
- \[[`f8819e86fd`](https://github.com/nodejs/node/commit/f8819e86fd)] - **doc**: fix version history for `net.Socket` and `net.Server` (Antoine du Hamel) [#​42268](https://github.com/nodejs/node/pull/42268)
- \[[`12bf85a606`](https://github.com/nodejs/node/commit/12bf85a606)] - **doc,tools**: improve navigability of API docs (Paolo Insogna) [#​41404](https://github.com/nodejs/node/pull/41404)
- \[[`37f6f92905`](https://github.com/nodejs/node/commit/37f6f92905)] - **errors**: do not access .stack in debug (Benjamin Coe) [#​42096](https://github.com/nodejs/node/pull/42096)
- \[[`166eb782f9`](https://github.com/nodejs/node/commit/166eb782f9)] - **esm**: fix base URL for network imports (Bradley Farias) [#​42131](https://github.com/nodejs/node/pull/42131)
- \[[`b68db72746`](https://github.com/nodejs/node/commit/b68db72746)] - **esm**: fix relative imports for https (Bradley Farias) [#​42119](https://github.com/nodejs/node/pull/42119)
- \[[`c777cb3368`](https://github.com/nodejs/node/commit/c777cb3368)] - **esm**: make extension-less errors in type:module actionable (Bradley Farias) [#​42301](https://github.com/nodejs/node/pull/42301)
- \[[`2e42ccf1a5`](https://github.com/nodejs/node/commit/2e42ccf1a5)] - **esm**: improve typings and code coverage (Bradley Farias) [#​42305](https://github.com/nodejs/node/pull/42305)
- \[[`25017ca107`](https://github.com/nodejs/node/commit/25017ca107)] - **esm**: add runtime warning for specifier resolution flag (Geoffrey Booth) [#​42252](https://github.com/nodejs/node/pull/42252)
- \[[`1324023fea`](https://github.com/nodejs/node/commit/1324023fea)] - **esm**: improve `fetch_module` test coverage and remove hack (Antoine du Hamel) [#​41947](https://github.com/nodejs/node/pull/41947)
- \[[`9b8c927d29`](https://github.com/nodejs/node/commit/9b8c927d29)] - **esm**: remove erroneous `context.parentURL` property passed to `load` hook (Jacob Smith) [#​41975](https://github.com/nodejs/node/pull/41975)
- \[[`47cefec5c9`](https://github.com/nodejs/node/commit/47cefec5c9)] - **esm**: fix typo in `fetch_module` (Michael Scovetta) [#​41924](https://github.com/nodejs/node/pull/41924)
- \[[`0d185f7930`](https://github.com/nodejs/node/commit/0d185f7930)] - **(SEMVER-MINOR)** **esm**: support https remotely and http locally under flag (Bradley Farias) [#​36328](https://github.com/nodejs/node/pull/36328)
- \[[`b0a83115db`](https://github.com/nodejs/node/commit/b0a83115db)] - **events**: set default handler value (Benjamin Gruenbaum) [#​41970](https://github.com/nodejs/node/pull/41970)
- \[[`6b55ba2fa2`](https://github.com/nodejs/node/commit/6b55ba2fa2)] - **fs**: adjust default `length` for `fs.readSync` and fsPromises/`read` (Livia Medeiros) [#​42128](https://github.com/nodejs/node/pull/42128)
- \[[`da87c731b8`](https://github.com/nodejs/node/commit/da87c731b8)] - **fs**: fix default `length` parameter for `fs.read` (wbt) [#​40349](https://github.com/nodejs/node/pull/40349)
- \[[`33e4a32f9e`](https://github.com/nodejs/node/commit/33e4a32f9e)] - **(SEMVER-MINOR)** **fs**: support copy of relative links with cp and cpSync (Marcos Bjoerkelund) [#​41819](https://github.com/nodejs/node/pull/41819)
- \[[`571eb6dc74`](https://github.com/nodejs/node/commit/571eb6dc74)] - **fs**: fix cb/sync writev empty array behavior (Benjamin Gruenbaum) [#​41932](https://github.com/nodejs/node/pull/41932)
- \[[`257a7a5802`](https://github.com/nodejs/node/commit/257a7a5802)] - **fs**: fix writev empty array error behavior (Benjamin Gruenbaum) [#​41919](https://github.com/nodejs/node/pull/41919)
- \[[`2d165652f1`](https://github.com/nodejs/node/commit/2d165652f1)] - **fs**: refactor to use ES2020 syntax (小菜) [#​41903](https://github.com/nodejs/node/pull/41903)
- \[[`39fb114dde`](https://github.com/nodejs/node/commit/39fb114dde)] - **(SEMVER-MINOR)** **http**: trace http client by perf_hooks (theanarkh) [#​42345](https://github.com/nodejs/node/pull/42345)
- \[[`16c00c6ac8`](https://github.com/nodejs/node/commit/16c00c6ac8)] - **http**: add default argument for Agent.prototype.getName (小菜) [#​41906](https://github.com/nodejs/node/pull/41906)
- \[[`d301a8825b`](https://github.com/nodejs/node/commit/d301a8825b)] - **http2**: fix potential integer overflow (Michael Dawson) [#​42248](https://github.com/nodejs/node/pull/42248)
- \[[`ddef6bbcb8`](https://github.com/nodejs/node/commit/ddef6bbcb8)] - **http2**: add edge case to GOAWAY request (Rafael Silva) [#​42190](https://github.com/nodejs/node/pull/42190)
- \[[`28af75ef65`](https://github.com/nodejs/node/commit/28af75ef65)] - **http2**: close stream and session on frameError (Rafael Silva) [#​42147](https://github.com/nodejs/node/pull/42147)
- \[[`ebe2b6d21e`](https://github.com/nodejs/node/commit/ebe2b6d21e)] - **lib**: refactor to use primordials in `lib/assert.js` (Akhil Marsonya) [#​41702](https://github.com/nodejs/node/pull/41702)
- \[[`dcebb99dfc`](https://github.com/nodejs/node/commit/dcebb99dfc)] - **lib**: fix AsyncResource.bind not using 'this' from the caller by default (Roch Devost) [#​42177](https://github.com/nodejs/node/pull/42177)
- \[[`e1704407ae`](https://github.com/nodejs/node/commit/e1704407ae)] - **lib**: clean after the cancel algorithm throw error (Chen Gang) [#​41366](https://github.com/nodejs/node/pull/41366)
- \[[`91a06bd629`](https://github.com/nodejs/node/commit/91a06bd629)] - **lib**: add legacy built-in functions to primordials (Antoine du Hamel) [#​42049](https://github.com/nodejs/node/pull/42049)
- \[[`e80043fb61`](https://github.com/nodejs/node/commit/e80043fb61)] - **lib**: stop installing webcrypto if `no_browser_globals` is `true` (Mestery) [#​41971](https://github.com/nodejs/node/pull/41971)
- \[[`9946b9bceb`](https://github.com/nodejs/node/commit/9946b9bceb)] - **lib**: allow respondWithNewView on byob auto allocated streams (Sean Quinlan) [#​41887](https://github.com/nodejs/node/pull/41887)
- \[[`f4e39171de`](https://github.com/nodejs/node/commit/f4e39171de)] - **lib**: restrict usage of fetch related globals in core internals (Antoine du Hamel) [#​41957](https://github.com/nodejs/node/pull/41957)
- \[[`b1f0cc6412`](https://github.com/nodejs/node/commit/b1f0cc6412)] - **lib**: move kEnumerableProperty to internal/util (Mestery) [#​41877](https://github.com/nodejs/node/pull/41877)
- \[[`2a85e0ac00`](https://github.com/nodejs/node/commit/2a85e0ac00)] - **lib**: add internal genericNodeError() function (Rich Trott) [#​41879](https://github.com/nodejs/node/pull/41879)
- \[[`647805a747`](https://github.com/nodejs/node/commit/647805a747)] - **(SEMVER-MINOR)** **lib**: add FormData global when fetch is enabled (Michaël Zasso) [#​41956](https://github.com/nodejs/node/pull/41956)
- \[[`f17ce913c9`](https://github.com/nodejs/node/commit/f17ce913c9)] - **(SEMVER-MINOR)** **lib**: add fetch (Michaël Zasso) [#​41749](https://github.com/nodejs/node/pull/41749)
- \[[`2cbf45b8a5`](https://github.com/nodejs/node/commit/2cbf45b8a5)] - **loader**: fix esm resolve for symlink file (Xuguang Mei) [#​42197](https://github.com/nodejs/node/pull/42197)
- \[[`a363842261`](https://github.com/nodejs/node/commit/a363842261)] - **meta**: update AUTHORS (Node.js GitHub Bot) [#​42404](https://github.com/nodejs/node/pull/42404)
- \[[`a122eb1989`](https://github.com/nodejs/node/commit/a122eb1989)] - **meta**: update AUTHORS (Node.js GitHub Bot) [#​42317](https://github.com/nodejs/node/pull/42317)
- \[[`c56e15a0eb`](https://github.com/nodejs/node/commit/c56e15a0eb)] - **meta**: add dependencies label to label-pr-config (Mestery) [#​42129](https://github.com/nodejs/node/pull/42129)
- \[[`137ca4e1d4`](https://github.com/nodejs/node/commit/137ca4e1d4)] - **meta**: update AUTHORS (Node.js GitHub Bot) [#​42227](https://github.com/nodejs/node/pull/42227)
- \[[`09ab04696f`](https://github.com/nodejs/node/commit/09ab04696f)] - **meta**: update AUTHORS (Node.js GitHub Bot) [#​42142](https://github.com/nodejs/node/pull/42142)
- \[[`d4d9c00949`](https://github.com/nodejs/node/commit/d4d9c00949)] - **meta**: correct link to feature request document (Simen Bekkhus) [#​42092](https://github.com/nodejs/node/pull/42092)
- \[[`2135f8e6cb`](https://github.com/nodejs/node/commit/2135f8e6cb)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#​42068](https://github.com/nodejs/node/pull/42068)
- \[[`b969a278eb`](https://github.com/nodejs/node/commit/b969a278eb)] - **meta**: remove collaborator (Rich Trott) [#​42073](https://github.com/nodejs/node/pull/42073)
- \[[`de035bceda`](https://github.com/nodejs/node/commit/de035bceda)] - **meta**: update AUTHORS (Node.js GitHub Bot) [#​42058](https://github.com/nodejs/node/pull/42058)
- \[[`f5ffa34f77`](https://github.com/nodejs/node/commit/f5ffa34f77)] - **meta**: use plain emojis instead of escape sequences (Mestery) [#​41989](https://github.com/nodejs/node/pull/41989)
- \[[`6f1adf1f3e`](https://github.com/nodejs/node/commit/6f1adf1f3e)] - **meta**: update AUTHORS and .mailmap (Rich Trott) [#​41953](https://github.com/nodejs/node/pull/41953)
- \[[`363028c887`](https://github.com/nodejs/node/commit/363028c887)] - **(SEMVER-MINOR)** **module**: unflag esm json modules (Geoffrey Booth) [#​41736](https://github.com/nodejs/node/pull/41736)
- \[[`b3afb20b44`](https://github.com/nodejs/node/commit/b3afb20b44)] - **(SEMVER-MINOR)** **net**: add new options to `net.Socket` and `net.Server` (Paolo Insogna) [#​41310](https://github.com/nodejs/node/pull/41310)
- \[[`bd48ad9c16`](https://github.com/nodejs/node/commit/bd48ad9c16)] - **node-api**: fix typo in `node_api.cc` (Austin Kelleher) [#​42110](https://github.com/nodejs/node/pull/42110)
- \[[`11ec3345e7`](https://github.com/nodejs/node/commit/11ec3345e7)] - **(SEMVER-MINOR)** **node-api**: add node_api_symbol_for() (Darshan Sen) [#​41329](https://github.com/nodejs/node/pull/41329)
- \[[`7c0b8ca5ac`](https://github.com/nodejs/node/commit/7c0b8ca5ac)] - **perf_hooks**: do not return all entries with getEntriesBy\[Name|Type] (Xuguang Mei) [#​42104](https://github.com/nodejs/node/pull/42104)
- \[[`b7a307f0ed`](https://github.com/nodejs/node/commit/b7a307f0ed)] - **perf_hooks**: use arrays to store EntryBuffers (Xuguang Mei) [#​42032](https://github.com/nodejs/node/pull/42032)
- \[[`61ecdf8f12`](https://github.com/nodejs/node/commit/61ecdf8f12)] - **process**: fix named report export (madflow) [#​41861](https://github.com/nodejs/node/pull/41861)
- \[[`bc08165953`](https://github.com/nodejs/node/commit/bc08165953)] - **process**: deprecate multipleResolves (Benjamin Gruenbaum) [#​41872](https://github.com/nodejs/node/pull/41872)
- \[[`a88d4a2e2c`](https://github.com/nodejs/node/commit/a88d4a2e2c)] - **repl**: remove preview when press escape (meixg) [#​42053](https://github.com/nodejs/node/pull/42053)
- \[[`83267aaa7f`](https://github.com/nodejs/node/commit/83267aaa7f)] - **repl**: [#​41690](https://github.com/nodejs/node/issues/41690) REPL gives wrong autocomplete on literals (Xuguang Mei) [#​41883](https://github.com/nodejs/node/pull/41883)
- \[[`73ce911a6f`](https://github.com/nodejs/node/commit/73ce911a6f)] - **src**: convert hex2bin() into a regular function (Darshan Sen) [#​42321](https://github.com/nodejs/node/pull/42321)
- \[[`7fe16ecc7a`](https://github.com/nodejs/node/commit/7fe16ecc7a)] - **src**: fix coverity warnings in node_file.cc (Michael Dawson) [#​42272](https://github.com/nodejs/node/pull/42272)
- \[[`5b30e28eb4`](https://github.com/nodejs/node/commit/5b30e28eb4)] - **src**: check EC_POINT_get_affine_coordinates result (Tobias Nießen) [#​42304](https://github.com/nodejs/node/pull/42304)
- \[[`57b619da46`](https://github.com/nodejs/node/commit/57b619da46)] - **src**: simplify bound check in ParseArrayIndex (Tobias Nießen) [#​42306](https://github.com/nodejs/node/pull/42306)
- \[[`0e3e3fda22`](https://github.com/nodejs/node/commit/0e3e3fda22)] - **src**: avoid returning invalid value from hex2bin (Tobias Nießen) [#​42307](https://github.com/nodejs/node/pull/42307)
- \[[`5eaa59159f`](https://github.com/nodejs/node/commit/5eaa59159f)] - **src**: check return value of HMAC_Final (Tobias Nießen) [#​42303](https://github.com/nodejs/node/pull/42303)
- \[[`376b3c4293`](https://github.com/nodejs/node/commit/376b3c4293)] - **src**: include internal/options in the snapshot (Joyee Cheung) [#​42203](https://github.com/nodejs/node/pull/42203)
- \[[`268fd97925`](https://github.com/nodejs/node/commit/268fd97925)] - **src**: remove redundant buffer size check (Tobias Nießen) [#​42257](https://github.com/nodejs/node/pull/42257)
- \[[`90ce5c9fc5`](https://github.com/nodejs/node/commit/90ce5c9fc5)] - **src**: perform minor cleanups on zlib code (Anna Henningsen) [#​42247](https://github.com/nodejs/node/pull/42247)
- \[[`de3748a7e7`](https://github.com/nodejs/node/commit/de3748a7e7)] - **src**: use `emplace_back` instead of `push_back` (Yash Ladha) [#​42159](https://github.com/nodejs/node/pull/42159)
- \[[`830f93d892`](https://github.com/nodejs/node/commit/830f93d892)] - **src**: fix unchecked return warning from coverity (Michael Dawson) [#​42176](https://github.com/nodejs/node/pull/42176)
- \[[`db9f7752a9`](https://github.com/nodejs/node/commit/db9f7752a9)] - **src**: return proper URLs from node_api_get_module_file_name (Anna Henningsen) [#​41758](https://github.com/nodejs/node/pull/41758)
- \[[`d4b1b5cf85`](https://github.com/nodejs/node/commit/d4b1b5cf85)] - **src**: skip revoke_data_object if uuid is not found (Xuguang Mei) [#​42212](https://github.com/nodejs/node/pull/42212)
- \[[`3026449009`](https://github.com/nodejs/node/commit/3026449009)] - **src**: remove dead code in AddFingerprintDigest (Tobias Nießen) [#​42145](https://github.com/nodejs/node/pull/42145)
- \[[`29fd5ff37d`](https://github.com/nodejs/node/commit/29fd5ff37d)] - **src**: combine GetCurveASN1Name and GetCurveNistName (Tobias Nießen) [#​42118](https://github.com/nodejs/node/pull/42118)
- \[[`447ae8c5a3`](https://github.com/nodejs/node/commit/447ae8c5a3)] - **src**: simplify TLSWrap::SetSession (Tobias Nießen) [#​42087](https://github.com/nodejs/node/pull/42087)
- \[[`2fe17f3891`](https://github.com/nodejs/node/commit/2fe17f3891)] - **src**: prefer bool over int in crypto_common (Tobias Nießen) [#​42097](https://github.com/nodejs/node/pull/42097)
- \[[`237f47e38e`](https://github.com/nodejs/node/commit/237f47e38e)] - **src**: simplify arg type of AddFingerprintDigest (Tobias Nießen) [#​42101](https://github.com/nodejs/node/pull/42101)
- \[[`4244b1a0bb`](https://github.com/nodejs/node/commit/4244b1a0bb)] - **src**: do not ignore return value of BIO_reset (Tobias Nießen) [#​42103](https://github.com/nodejs/node/pull/42103)
- \[[`e77a7cf985`](https://github.com/nodejs/node/commit/e77a7cf985)] - **src**: simplify GetExponentString (Tobias Nießen) [#​42121](https://github.com/nodejs/node/pull/42121)
- \[[`c811b8a1cb`](https://github.com/nodejs/node/commit/c811b8a1cb)] - **(SEMVER-MINOR)** **src**: allow preventing InitializeInspector in env (Shelley Vohr) [#​35025](https://github.com/nodejs/node/pull/35025)
- \[[`af73a853f5`](https://github.com/nodejs/node/commit/af73a853f5)] - **src**: use const reference instead of pointer in URL::SerializeURL (Anna Henningsen) [#​41759](https://github.com/nodejs/node/pull/41759)
- \[[`703593ab2a`](https://github.com/nodejs/node/commit/703593ab2a)] - **src**: reserve string allocation space early in URL::SerializeURL (Anna Henningsen) [#​41759](https://github.com/nodejs/node/pull/41759)
- \[[`170a6cb33e`](https://github.com/nodejs/node/commit/170a6cb33e)] - **src**: fix query/fragment serialization in URL::SerializeURL (Anna Henningsen) [#​41759](https://github.com/nodejs/node/pull/41759)
- \[[`86b9d3af98`](https://github.com/nodejs/node/commit/86b9d3af98)] - **src**: don't print interface if sin6\_scope_id is 0 (Santiago Gimeno) [#​41547](https://github.com/nodejs/node/pull/41547)
- \[[`fdea60e958`](https://github.com/nodejs/node/commit/fdea60e958)] - **src,buffer**: evaluate THROW_AND_RETURN_IF_OOB() expression only once (Darshan Sen) [#​41945](https://github.com/nodejs/node/pull/41945)
- \[[`bf1f485c8d`](https://github.com/nodejs/node/commit/bf1f485c8d)] - **src,crypto**: avoid tristate Maybe\<bool> in ExportJWKEcKey() (Darshan Sen) [#​42223](https://github.com/nodejs/node/pull/42223)
- \[[`a5b189cda7`](https://github.com/nodejs/node/commit/a5b189cda7)] - **stream**: use .chunk when calling adapters's writev (Xuguang Mei) [#​42161](https://github.com/nodejs/node/pull/42161)
- \[[`0c690456cf`](https://github.com/nodejs/node/commit/0c690456cf)] - **stream**: add more forEach tests (Benjamin Gruenbaum) [#​41937](https://github.com/nodejs/node/pull/41937)
- \[[`f12cf6db47`](https://github.com/nodejs/node/commit/f12cf6db47)] - **(SEMVER-MINOR)** **stream**: add reduce (Benjamin Gruenbaum) [#​41669](https://github.com/nodejs/node/pull/41669)
- \[[`4b6343964e`](https://github.com/nodejs/node/commit/4b6343964e)] - **stream**: use synchronous error validation on iteration helpers (iMoses) [#​41652](https://github.com/nodejs/node/pull/41652)
- \[[`60e28ba507`](https://github.com/nodejs/node/commit/60e28ba507)] - **stream**: add asIndexedPairs (Benjamin Gruenbaum) [#​41681](https://github.com/nodejs/node/pull/41681)
- \[[`88a48197c4`](https://github.com/nodejs/node/commit/88a48197c4)] - **stream**: add drop and take (Benjamin Gruenbaum) [#​41630](https://github.com/nodejs/node/pull/41630)
- \[[`205c018ab4`](https://github.com/nodejs/node/commit/205c018ab4)] - **(SEMVER-MINOR)** **stream**: support flatMap (Benjamin Gruenbaum) [#​41612](https://github.com/nodejs/node/pull/41612)
- \[[`0be2321d53`](https://github.com/nodejs/node/commit/0be2321d53)] - **(SEMVER-MINOR)** **stream**: support some and every (Benjamin Gruenbaum) [#​41573](https://github.com/nodejs/node/pull/41573)
- \[[`ac8526e9a5`](https://github.com/nodejs/node/commit/ac8526e9a5)] - **(SEMVER-MINOR)** **stream**: add toArray (Benjamin Gruenbaum) [#​41553](https://github.com/nodejs/node/pull/41553)
- \[[`dcc58314b9`](https://github.com/nodejs/node/commit/dcc58314b9)] - **(SEMVER-MINOR)** **stream**: add forEach method (Benjamin Gruenbaum) [#​41445](https://github.com/nodejs/node/pull/41445)
- \[[`f21f104c7c`](https://github.com/nodejs/node/commit/f21f104c7c)] - **string_decoder**: fix crash when calling \__proto\_\_.write() (Darshan Sen) [#​42062](https://github.com/nodejs/node/pull/42062)
- \[[`e3bced182c`](https://github.com/nodejs/node/commit/e3bced182c)] - **test**: give slow tests more time on Rasberry PIs (Michael Dawson) [#​42380](https://github.com/nodejs/node/pull/42380)
- \[[`04243a85c7`](https://github.com/nodejs/node/commit/04243a85c7)] - **test**: improve https_renew_cert.sh script (Tobias Nießen) [#​42343](https://github.com/nodejs/node/pull/42343)
- \[[`6d422ad807`](https://github.com/nodejs/node/commit/6d422ad807)] - **test**: improve \_http_incoming.js coverage (Yoshiki Kurihara) [#​42211](https://github.com/nodejs/node/pull/42211)
- \[[`3d37efe588`](https://github.com/nodejs/node/commit/3d37efe588)] - **test**: improve \_http_outgoing coverage (Yoshiki Kurihara) [#​42213](https://github.com/nodejs/node/pull/42213)
- \[[`245577e15c`](https://github.com/nodejs/node/commit/245577e15c)] - **test**: add test case for reverted 17.7 regression (Rich Trott) [#​42283](https://github.com/nodejs/node/pull/42283)
- \[[`3cc06de597`](https://github.com/nodejs/node/commit/3cc06de597)] - **test**: use global webcrypto for WPT tests (Antoine du Hamel) [#​42236](https://github.com/nodejs/node/pull/42236)
- \[[`623be18fa3`](https://github.com/nodejs/node/commit/623be18fa3)] - **test**: cover 32-bit sizes in generatePrime (Tobias Nießen) [#​42207](https://github.com/nodejs/node/pull/42207)
- \[[`70281e17ad`](https://github.com/nodejs/node/commit/70281e17ad)] - **test**: fix test-process-env-tz.js by using RegExp (Khaidi Chu) [#​42113](https://github.com/nodejs/node/pull/42113)
- \[[`33b11a3548`](https://github.com/nodejs/node/commit/33b11a3548)] - **test**: update V8 trace events test expectations (Nikolaos Papaspyrou) [#​42120](https://github.com/nodejs/node/pull/42120)
- \[[`978b50fe44`](https://github.com/nodejs/node/commit/978b50fe44)] - **test**: deflake test-common-expect-warning (Luigi Pinca) [#​42046](https://github.com/nodejs/node/pull/42046)
- \[[`629d06ace8`](https://github.com/nodejs/node/commit/629d06ace8)] - **test**: validate `EventEmitterAsyncResource` methods throw on invalid this (Yoshiki Kurihara) [#​42041](https://github.com/nodejs/node/pull/42041)
- \[[`17af006e38`](https://github.com/nodejs/node/commit/17af006e38)] - **test**: increase Fibonacci argument to 40 (Rich Trott) [#​42055](https://github.com/nodejs/node/pull/42055)
- \[[`b06780801c`](https://github.com/nodejs/node/commit/b06780801c)] - **test**: remove test-stdout-close-catch flaky designation (Rich Trott) [#​42045](https://github.com/nodejs/node/pull/42045)
- \[[`9ae6982387`](https://github.com/nodejs/node/commit/9ae6982387)] - **test**: check that fetch globals are disabled by default (Michaël Zasso) [#​42015](https://github.com/nodejs/node/pull/42015)
- \[[`2a1a94bbbb`](https://github.com/nodejs/node/commit/2a1a94bbbb)] - **test**: improve vm test coverage (Yoshiki Kurihara) [#​41847](https://github.com/nodejs/node/pull/41847)
- \[[`3e354da097`](https://github.com/nodejs/node/commit/3e354da097)] - **test**: run webmessaging/broadcastchannel WPT (Ben Noordhuis) [#​41962](https://github.com/nodejs/node/pull/41962)
- \[[`711e863084`](https://github.com/nodejs/node/commit/711e863084)] - **test**: fix names of tests marked flaky on IBM i (Richard Lau) [#​41984](https://github.com/nodejs/node/pull/41984)
- \[[`95eb03c298`](https://github.com/nodejs/node/commit/95eb03c298)] - **test**: fix typographical error (Rich Trott) [#​41983](https://github.com/nodejs/node/pull/41983)
- \[[`31def41391`](https://github.com/nodejs/node/commit/31def41391)] - **test**: fix intl tests on small-icu builds (Antoine du Hamel) [#​41939](https://github.com/nodejs/node/pull/41939)
- \[[`11e76fcba4`](https://github.com/nodejs/node/commit/11e76fcba4)] - **test**: remove lint rule for setTimeout() arguments (Rich Trott) [#​41901](https://github.com/nodejs/node/pull/41901)
- \[[`fd8bf09608`](https://github.com/nodejs/node/commit/fd8bf09608)] - **test**: move test-crypto-engine to addon (Michael Dawson) [#​41830](https://github.com/nodejs/node/pull/41830)
- \[[`25109a6471`](https://github.com/nodejs/node/commit/25109a6471)] - **test**: improve stability of oom test (Benjamin Gruenbaum) [#​41681](https://github.com/nodejs/node/pull/41681)
- \[[`ad17c9ce0c`](https://github.com/nodejs/node/commit/ad17c9ce0c)] - **test,crypto**: add and update empty passphrase regression tests (Darshan Sen) [#​42319](https://github.com/nodejs/node/pull/42319)
- \[[`9649d656ba`](https://github.com/nodejs/node/commit/9649d656ba)] - **tls**: avoid throw in onerror for bad TLSSocket obj (Valters Jansons) [#​41523](https://github.com/nodejs/node/pull/41523)
- \[[`789e6041a6`](https://github.com/nodejs/node/commit/789e6041a6)] - **tools**: update lint-md-dependencies to rollup@2.70.1 (Node.js GitHub Bot) [#​42403](https://github.com/nodejs/node/pull/42403)
- \[[`1c1061549a`](https://github.com/nodejs/node/commit/1c1061549a)] - **tools**: update doc to highlight.js@11.5.0 unified@10.1.2 (Node.js GitHub Bot) [#​42315](https://github.com/nodejs/node/pull/42315)
- \[[`97aa236083`](https://github.com/nodejs/node/commit/97aa236083)] - **tools**: update lint-md-dependencies to rollup@2.70.0 unified@10.1.2 (Node.js GitHub Bot) [#​42316](https://github.com/nodejs/node/pull/42316)
- \[[`7636370bdb`](https://github.com/nodejs/node/commit/7636370bdb)] - **tools**: update eslint to 8.11.0 (Node.js GitHub Bot) [#​42318](https://github.com/nodejs/node/pull/42318)
- \[[`359395393f`](https://github.com/nodejs/node/commit/359395393f)] - **tools**: fix web streams API links (Brian White) [#​42153](https://github.com/nodejs/node/pull/42153)
- \[[`fe5578b627`](https://github.com/nodejs/node/commit/fe5578b627)] - **tools**: update lint-md-dependencies to rollup@2.69.1 (Node.js GitHub Bot) [#​42226](https://github.com/nodejs/node/pull/42226)
- \[[`8532f83c8e`](https://github.com/nodejs/node/commit/8532f83c8e)] - **tools**: update lint-md rollup dependencies (Node.js GitHub Bot) [#​42141](https://github.com/nodejs/node/pull/42141)
- \[[`f2a16158a0`](https://github.com/nodejs/node/commit/f2a16158a0)] - **tools**: update eslint to 8.10.0 (Node.js GitHub Bot) [#​42143](https://github.com/nodejs/node/pull/42143)
- \[[`11f747b0e4`](https://github.com/nodejs/node/commit/11f747b0e4)] - **tools**: update lint-md-dependencies to rollup@2.67.3 (Node.js GitHub Bot) [#​42057](https://github.com/nodejs/node/pull/42057)
- \[[`c47b436bd0`](https://github.com/nodejs/node/commit/c47b436bd0)] - **tools**: enable es2022 env in ESLint config (Michaël Zasso) [#​42043](https://github.com/nodejs/node/pull/42043)
- \[[`bbdf285a39`](https://github.com/nodejs/node/commit/bbdf285a39)] - **tools**: add `console` to the list of restricted globals (Antoine du Hamel) [#​42012](https://github.com/nodejs/node/pull/42012)
- \[[`aace6c2626`](https://github.com/nodejs/node/commit/aace6c2626)] - **tools**: lint deprecation codes (Antoine du Hamel) [#​41992](https://github.com/nodejs/node/pull/41992)
- \[[`c229889022`](https://github.com/nodejs/node/commit/c229889022)] - **tools**: fix bugs in prefer-primordials linter rule (Antoine du Hamel) [#​42010](https://github.com/nodejs/node/pull/42010)
- \[[`410d0ce44a`](https://github.com/nodejs/node/commit/410d0ce44a)] - **tools**: add timers functions to the list of restricted globals (Antoine du Hamel) [#​42013](https://github.com/nodejs/node/pull/42013)
- \[[`06d8c53e62`](https://github.com/nodejs/node/commit/06d8c53e62)] - **tools**: reduce list of globals in ESLint config (Rich Trott) [#​41996](https://github.com/nodejs/node/pull/41996)
- \[[`82b64f44fc`](https://github.com/nodejs/node/commit/82b64f44fc)] - **tools**: update remark-preset-lint-node to 3.3.1 (Rich Trott) [#​41999](https://github.com/nodejs/node/pull/41999)
- \[[`1db9cc7e59`](https://github.com/nodejs/node/commit/1db9cc7e59)] - **tools**: update ESLint to 8.9.0 (Luigi Pinca) [#​41973](https://github.com/nodejs/node/pull/41973)
- \[[`f8c6232f90`](https://github.com/nodejs/node/commit/f8c6232f90)] - **tools**: update lint-md-dependencies to rollup@2.67.2 (Node.js GitHub Bot) [#​41941](https://github.com/nodejs/node/pull/41941)
- \[[`57d5576c4d`](https://github.com/nodejs/node/commit/57d5576c4d)] - **tools**: fix typo in prefer-primordials.js (Ikko Ashimine) [#​41891](https://github.com/nodejs/node/pull/41891)
- \[[`4bba27935a`](https://github.com/nodejs/node/commit/4bba27935a)] - **tools,lib**: remove `global` and `Intl` from the list of globals (Antoine du Hamel) [#​42014](https://github.com/nodejs/node/pull/42014)
- \[[`e918570d10`](https://github.com/nodejs/node/commit/e918570d10)] - **url**: preserve null char in WHATWG URL errors (Rich Trott) [#​42263](https://github.com/nodejs/node/pull/42263)
- \[[`962a8ec350`](https://github.com/nodejs/node/commit/962a8ec350)] - **url**: trim leading and trailing C0 control chars (Rich Trott) [#​42196](https://github.com/nodejs/node/pull/42196)
- \[[`78647edba7`](https://github.com/nodejs/node/commit/78647edba7)] - **url, src**: modify one `special_back_slash` (Khaidi Chu) [#​42112](https://github.com/nodejs/node/pull/42112)
- \[[`a458fbf949`](https://github.com/nodejs/node/commit/a458fbf949)] - **worker**: do not send message if port is closing (Rich Trott) [#​42357](https://github.com/nodejs/node/pull/42357)
- \[[`604621a275`](https://github.com/nodejs/node/commit/604621a275)] - **worker**: fix typo in debug statement (Antoine du Hamel) [#​42011](https://github.com/nodejs/node/pull/42011)
- \[[`237affc951`](https://github.com/nodejs/node/commit/237affc951)] - **(SEMVER-MINOR)** **worker**: graduate get/setEnvironmentData APIs (James M Snell) [#​41272](https://github.com/nodejs/node/pull/41272)
</details>
---
### Configuration
📅 **Schedule**: At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
Reviewed-on: https://git.walbeck.it/mwalbeck/docker-cyberchef/pulls/62
Co-authored-by: renovate-bot <bot@walbeck.it>
Co-committed-by: renovate-bot <bot@walbeck.it>
Use
StringPrototypeIndexOfandStringPrototypeSlice