fs: adjust position validation in reading methods#42835
fs: adjust position validation in reading methods#42835nodejs-github-bot merged 8 commits intonodejs:mainfrom
position validation in reading methods#42835Conversation
Could we land this as a semver-patch first, then the rest of this PR as
semver-major
|
|
Moved strikethrough parts in a separate PR. I'll rebase when that lands. Edit: when #42999 lands. 😅 |
1ae5b9e to
3ef8619
Compare
|
@LiviaMedeiros this needs a rebase. |
3ef8619 to
b44201b
Compare
|
This is
semver-major
|
|
@nodejs/fs |
|
@LiviaMedeiros this needs another rebase. |
b44201b to
0af1f46
Compare
|
Thanks for reminding! |
This comment was marked as outdated.
This comment was marked as outdated.
27cec0c to
dc7a21e
Compare
This comment was marked as outdated.
This comment was marked as outdated.
|
Benchmark CI: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/1387/ Results confidence improvement accuracy (*) (**) (***)
fs/bench-mkdirp.js n=10000 1.10 % ±1.86% ±2.45% ±3.16%
fs/bench-opendir.js bufferSize=1024 mode='async' dir='lib' n=100 0.39 % ±1.99% ±2.63% ±3.38%
fs/bench-opendir.js bufferSize=1024 mode='async' dir='test/parallel' n=100 -0.89 % ±1.30% ±1.71% ±2.20%
fs/bench-opendir.js bufferSize=1024 mode='callback' dir='lib' n=100 1.87 % ±1.97% ±2.60% ±3.35%
fs/bench-opendir.js bufferSize=1024 mode='callback' dir='test/parallel' n=100 ** -1.23 % ±0.90% ±1.19% ±1.53%
fs/bench-opendir.js bufferSize=1024 mode='sync' dir='lib' n=100 -0.15 % ±1.97% ±2.60% ±3.34%
fs/bench-opendir.js bufferSize=1024 mode='sync' dir='test/parallel' n=100 1.08 % ±3.17% ±4.19% ±5.38%
fs/bench-opendir.js bufferSize=32 mode='async' dir='lib' n=100 2.57 % ±2.63% ±3.47% ±4.46%
fs/bench-opendir.js bufferSize=32 mode='async' dir='test/parallel' n=100 -2.44 % ±3.00% ±3.96% ±5.09%
fs/bench-opendir.js bufferSize=32 mode='callback' dir='lib' n=100 -0.27 % ±1.62% ±2.13% ±2.74%
fs/bench-opendir.js bufferSize=32 mode='callback' dir='test/parallel' n=100 -0.79 % ±5.31% ±7.01% ±9.00%
fs/bench-opendir.js bufferSize=32 mode='sync' dir='lib' n=100 -0.25 % ±1.63% ±2.15% ±2.77%
fs/bench-opendir.js bufferSize=32 mode='sync' dir='test/parallel' n=100 0.43 % ±3.82% ±5.04% ±6.48%
fs/bench-opendir.js bufferSize=4 mode='async' dir='lib' n=100 -0.25 % ±1.46% ±1.92% ±2.47%
fs/bench-opendir.js bufferSize=4 mode='async' dir='test/parallel' n=100 * 1.08 % ±0.95% ±1.25% ±1.61%
fs/bench-opendir.js bufferSize=4 mode='callback' dir='lib' n=100 -0.23 % ±1.37% ±1.80% ±2.32%
fs/bench-opendir.js bufferSize=4 mode='callback' dir='test/parallel' n=100 0.10 % ±1.22% ±1.61% ±2.06%
fs/bench-opendir.js bufferSize=4 mode='sync' dir='lib' n=100 0.28 % ±1.79% ±2.36% ±3.03%
fs/bench-opendir.js bufferSize=4 mode='sync' dir='test/parallel' n=100 * -4.02 % ±3.35% ±4.42% ±5.69%
fs/bench-readdir.js withFileTypes='false' dir='lib' n=10 -0.43 % ±2.32% ±3.06% ±3.94%
fs/bench-readdir.js withFileTypes='false' dir='test/parallel' n=10 0.37 % ±0.65% ±0.85% ±1.10%
fs/bench-readdir.js withFileTypes='true' dir='lib' n=10 1.40 % ±2.30% ±3.03% ±3.90%
fs/bench-readdir.js withFileTypes='true' dir='test/parallel' n=10 -0.31 % ±0.55% ±0.73% ±0.94%
fs/bench-readdirSync.js withFileTypes='false' dir='lib' n=10 -1.64 % ±4.83% ±6.37% ±8.19%
fs/bench-readdirSync.js withFileTypes='false' dir='test/parallel' n=10 -0.52 % ±0.72% ±0.95% ±1.21%
fs/bench-readdirSync.js withFileTypes='true' dir='lib' n=10 1.32 % ±5.38% ±7.10% ±9.13%
fs/bench-readdirSync.js withFileTypes='true' dir='test/parallel' n=10 -0.66 % ±0.69% ±0.92% ±1.18%
fs/bench-realpath.js pathType='relative' n=10000 -1.23 % ±2.67% ±3.52% ±4.52%
fs/bench-realpath.js pathType='resolved' n=10000 0.32 % ±1.38% ±1.82% ±2.34%
fs/bench-realpathSync.js pathType='relative' n=10000 -0.60 % ±3.04% ±4.02% ±5.16%
fs/bench-realpathSync.js pathType='resolved' n=10000 -1.38 % ±2.87% ±3.79% ±4.87%
fs/bench-stat-promise.js statType='fstat' n=200000 1.02 % ±1.10% ±1.45% ±1.86%
fs/bench-stat-promise.js statType='lstat' n=200000 * 0.97 % ±0.94% ±1.24% ±1.59%
fs/bench-stat-promise.js statType='stat' n=200000 * 1.12 % ±0.88% ±1.16% ±1.49%
fs/bench-stat.js statType='fstat' n=200000 * -1.19 % ±0.98% ±1.30% ±1.67%
fs/bench-stat.js statType='lstat' n=200000 * 1.08 % ±1.03% ±1.36% ±1.75%
fs/bench-stat.js statType='stat' n=200000 -0.06 % ±1.06% ±1.40% ±1.80%
fs/bench-statSync-failure.js statSyncType='noThrow' n=1000000 -0.53 % ±0.69% ±0.91% ±1.17%
fs/bench-statSync-failure.js statSyncType='throw' n=1000000 -0.03 % ±1.02% ±1.35% ±1.73%
fs/bench-statSync.js statSyncType='fstatSync' n=1000000 0.11 % ±0.63% ±0.84% ±1.08%
fs/bench-statSync.js statSyncType='lstatSync' n=1000000 -0.25 % ±0.82% ±1.08% ±1.39%
fs/bench-statSync.js statSyncType='statSync' n=1000000 -0.41 % ±0.63% ±0.83% ±1.07%
fs/read-stream-throughput.js n=1024 highWaterMark=1024 filesize=1024000 encodingType='asc' 1.06 % ±1.39% ±1.84% ±2.37%
fs/read-stream-throughput.js n=1024 highWaterMark=1024 filesize=1024000 encodingType='buf' * 1.10 % ±0.94% ±1.24% ±1.59%
fs/read-stream-throughput.js n=1024 highWaterMark=1024 filesize=1024000 encodingType='utf' 0.38 % ±0.79% ±1.04% ±1.34%
fs/read-stream-throughput.js n=1024 highWaterMark=1048576 filesize=1024000 encodingType='asc' -0.73 % ±0.95% ±1.26% ±1.62%
fs/read-stream-throughput.js n=1024 highWaterMark=1048576 filesize=1024000 encodingType='buf' * 0.94 % ±0.74% ±0.98% ±1.25%
fs/read-stream-throughput.js n=1024 highWaterMark=1048576 filesize=1024000 encodingType='utf' 0.14 % ±0.46% ±0.60% ±0.78%
fs/read-stream-throughput.js n=1024 highWaterMark=4096 filesize=1024000 encodingType='asc' -0.13 % ±0.97% ±1.28% ±1.64%
fs/read-stream-throughput.js n=1024 highWaterMark=4096 filesize=1024000 encodingType='buf' 0.26 % ±0.89% ±1.18% ±1.51%
fs/read-stream-throughput.js n=1024 highWaterMark=4096 filesize=1024000 encodingType='utf' 0.18 % ±0.37% ±0.48% ±0.62%
fs/read-stream-throughput.js n=1024 highWaterMark=65535 filesize=1024000 encodingType='asc' -0.59 % ±1.79% ±2.36% ±3.04%
fs/read-stream-throughput.js n=1024 highWaterMark=65535 filesize=1024000 encodingType='buf' 0.54 % ±1.24% ±1.64% ±2.11%
fs/read-stream-throughput.js n=1024 highWaterMark=65535 filesize=1024000 encodingType='utf' -0.08 % ±0.36% ±0.47% ±0.61%
fs/readfile-partitioned.js concurrent=1 len=1024 encoding='' duration=5 0.04 % ±0.67% ±0.88% ±1.13%
fs/readfile-partitioned.js concurrent=1 len=1024 encoding='utf-8' duration=5 -0.04 % ±0.73% ±0.96% ±1.24%
fs/readfile-partitioned.js concurrent=1 len=16777216 encoding='' duration=5 0.04 % ±0.94% ±1.24% ±1.59%
fs/readfile-partitioned.js concurrent=1 len=16777216 encoding='utf-8' duration=5 -1.59 % ±1.78% ±2.35% ±3.01%
fs/readfile-partitioned.js concurrent=10 len=1024 encoding='' duration=5 0.03 % ±1.07% ±1.41% ±1.81%
fs/readfile-partitioned.js concurrent=10 len=1024 encoding='utf-8' duration=5 0.67 % ±1.16% ±1.53% ±1.97%
fs/readfile-partitioned.js concurrent=10 len=16777216 encoding='' duration=5 0.31 % ±1.23% ±1.62% ±2.08%
fs/readfile-partitioned.js concurrent=10 len=16777216 encoding='utf-8' duration=5 -1.21 % ±1.85% ±2.44% ±3.13%
fs/readfile-permission-enabled.js concurrent=1 len=1024 encoding='' duration=5 * -1.02 % ±0.91% ±1.20% ±1.54%
fs/readfile-permission-enabled.js concurrent=1 len=1024 encoding='utf-8' duration=5 0.54 % ±0.84% ±1.11% ±1.42%
fs/readfile-permission-enabled.js concurrent=1 len=16777216 encoding='' duration=5 1.73 % ±2.23% ±2.95% ±3.79%
fs/readfile-permission-enabled.js concurrent=1 len=16777216 encoding='utf-8' duration=5 0.04 % ±0.40% ±0.52% ±0.67%
fs/readfile-permission-enabled.js concurrent=10 len=1024 encoding='' duration=5 -0.58 % ±1.03% ±1.36% ±1.75%
fs/readfile-permission-enabled.js concurrent=10 len=1024 encoding='utf-8' duration=5 0.30 % ±1.21% ±1.60% ±2.05%
fs/readfile-permission-enabled.js concurrent=10 len=16777216 encoding='' duration=5 -0.28 % ±2.86% ±3.78% ±4.85%
fs/readfile-permission-enabled.js concurrent=10 len=16777216 encoding='utf-8' duration=5 -0.34 % ±0.84% ±1.10% ±1.42%
fs/readfile-promises.js concurrent=1 len=1024 encoding='' duration=5 * 1.43 % ±1.32% ±1.74% ±2.23%
fs/readfile-promises.js concurrent=1 len=1024 encoding='utf-8' duration=5 0.01 % ±1.40% ±1.85% ±2.38%
fs/readfile-promises.js concurrent=1 len=16777216 encoding='' duration=5 * -0.66 % ±0.64% ±0.85% ±1.09%
fs/readfile-promises.js concurrent=1 len=16777216 encoding='utf-8' duration=5 -0.23 % ±0.60% ±0.79% ±1.01%
fs/readfile-promises.js concurrent=1 len=33554432 encoding='' duration=5 0.04 % ±0.44% ±0.58% ±0.75%
fs/readfile-promises.js concurrent=1 len=33554432 encoding='utf-8' duration=5 0.27 % ±0.48% ±0.64% ±0.82%
fs/readfile-promises.js concurrent=1 len=4194304 encoding='' duration=5 0.24 % ±0.80% ±1.05% ±1.35%
fs/readfile-promises.js concurrent=1 len=4194304 encoding='utf-8' duration=5 0.29 % ±0.96% ±1.27% ±1.63%
fs/readfile-promises.js concurrent=1 len=524288 encoding='' duration=5 0.27 % ±1.63% ±2.16% ±2.77%
fs/readfile-promises.js concurrent=1 len=524288 encoding='utf-8' duration=5 0.22 % ±1.03% ±1.36% ±1.75%
fs/readfile-promises.js concurrent=1 len=8388608 encoding='' duration=5 -0.45 % ±0.62% ±0.82% ±1.05%
fs/readfile-promises.js concurrent=1 len=8388608 encoding='utf-8' duration=5 -0.09 % ±0.46% ±0.60% ±0.78%
fs/readfile-promises.js concurrent=10 len=1024 encoding='' duration=5 * 0.84 % ±0.79% ±1.04% ±1.33%
fs/readfile-promises.js concurrent=10 len=1024 encoding='utf-8' duration=5 -0.01 % ±0.86% ±1.14% ±1.46%
fs/readfile-promises.js concurrent=10 len=16777216 encoding='' duration=5 0.37 % ±1.03% ±1.36% ±1.74%
fs/readfile-promises.js concurrent=10 len=16777216 encoding='utf-8' duration=5 0.47 % ±0.71% ±0.93% ±1.20%
fs/readfile-promises.js concurrent=10 len=33554432 encoding='' duration=5 0.13 % ±0.64% ±0.84% ±1.09%
fs/readfile-promises.js concurrent=10 len=33554432 encoding='utf-8' duration=5 0.21 % ±0.42% ±0.55% ±0.71%
fs/readfile-promises.js concurrent=10 len=4194304 encoding='' duration=5 0.13 % ±1.24% ±1.63% ±2.10%
fs/readfile-promises.js concurrent=10 len=4194304 encoding='utf-8' duration=5 0.49 % ±0.80% ±1.05% ±1.35%
fs/readfile-promises.js concurrent=10 len=524288 encoding='' duration=5 -0.37 % ±1.71% ±2.26% ±2.90%
fs/readfile-promises.js concurrent=10 len=524288 encoding='utf-8' duration=5 0.08 % ±0.65% ±0.86% ±1.10%
fs/readfile-promises.js concurrent=10 len=8388608 encoding='' duration=5 0.62 % ±0.94% ±1.24% ±1.60%
fs/readfile-promises.js concurrent=10 len=8388608 encoding='utf-8' duration=5 0.48 % ±0.75% ±0.99% ±1.27%
fs/readfile.js concurrent=1 len=1024 encoding='' duration=5 * -0.76 % ±0.74% ±0.97% ±1.25%
fs/readfile.js concurrent=1 len=1024 encoding='utf-8' duration=5 0.44 % ±0.77% ±1.02% ±1.31%
fs/readfile.js concurrent=1 len=16777216 encoding='' duration=5 0.04 % ±2.56% ±3.38% ±4.35%
fs/readfile.js concurrent=1 len=16777216 encoding='utf-8' duration=5 0.06 % ±0.39% ±0.52% ±0.67%
fs/readfile.js concurrent=10 len=1024 encoding='' duration=5 0.60 % ±1.06% ±1.40% ±1.79%
fs/readfile.js concurrent=10 len=1024 encoding='utf-8' duration=5 * 1.25 % ±0.98% ±1.29% ±1.66%
fs/readfile.js concurrent=10 len=16777216 encoding='' duration=5 -1.11 % ±2.72% ±3.59% ±4.61%
fs/readfile.js concurrent=10 len=16777216 encoding='utf-8' duration=5 0.45 % ±0.89% ±1.17% ±1.50%
fs/readFileSync.js n=600 path='existing' encoding='undefined' -0.85 % ±2.33% ±3.07% ±3.95%
fs/readFileSync.js n=600 path='existing' encoding='utf8' -0.69 % ±2.34% ±3.09% ±3.97%
fs/readFileSync.js n=600 path='non-existing' encoding='undefined' -0.73 % ±1.21% ±1.60% ±2.06%
fs/readFileSync.js n=600 path='non-existing' encoding='utf8' 0.19 % ±1.39% ±1.84% ±2.36%
fs/write-stream-throughput.js size=1024 encodingType='asc' dur=5 0.39 % ±0.85% ±1.12% ±1.45%
fs/write-stream-throughput.js size=1024 encodingType='buf' dur=5 -0.10 % ±0.72% ±0.95% ±1.23%
fs/write-stream-throughput.js size=1024 encodingType='utf' dur=5 0.05 % ±0.69% ±0.91% ±1.17%
fs/write-stream-throughput.js size=1048576 encodingType='asc' dur=5 0.37 % ±0.79% ±1.04% ±1.34%
fs/write-stream-throughput.js size=1048576 encodingType='buf' dur=5 0.13 % ±0.30% ±0.39% ±0.50%
fs/write-stream-throughput.js size=1048576 encodingType='utf' dur=5 0.42 % ±0.79% ±1.04% ±1.34%
fs/write-stream-throughput.js size=2 encodingType='asc' dur=5 * 0.95 % ±0.86% ±1.13% ±1.45%
fs/write-stream-throughput.js size=2 encodingType='buf' dur=5 -0.56 % ±0.91% ±1.21% ±1.55%
fs/write-stream-throughput.js size=2 encodingType='utf' dur=5 0.41 % ±1.12% ±1.48% ±1.90%
fs/write-stream-throughput.js size=65535 encodingType='asc' dur=5 0.04 % ±0.45% ±0.59% ±0.76%
fs/write-stream-throughput.js size=65535 encodingType='buf' dur=5 -0.08 % ±0.37% ±0.48% ±0.62%
fs/write-stream-throughput.js size=65535 encodingType='utf' dur=5 -0.00 % ±1.05% ±1.38% ±1.77%
fs/writefile-promises.js concurrent=1 size=1024 encodingType='asc' duration=5 0.59 % ±1.55% ±2.04% ±2.62%
fs/writefile-promises.js concurrent=1 size=1024 encodingType='buf' duration=5 -0.14 % ±1.58% ±2.08% ±2.67%
fs/writefile-promises.js concurrent=1 size=1024 encodingType='utf' duration=5 * 1.59 % ±1.53% ±2.02% ±2.60%
fs/writefile-promises.js concurrent=1 size=1048576 encodingType='asc' duration=5 0.32 % ±0.99% ±1.31% ±1.68%
fs/writefile-promises.js concurrent=1 size=1048576 encodingType='buf' duration=5 0.20 % ±0.62% ±0.82% ±1.05%
fs/writefile-promises.js concurrent=1 size=1048576 encodingType='utf' duration=5 0.49 % ±0.78% ±1.03% ±1.33%
fs/writefile-promises.js concurrent=1 size=2 encodingType='asc' duration=5 -0.19 % ±1.53% ±2.02% ±2.59%
fs/writefile-promises.js concurrent=1 size=2 encodingType='buf' duration=5 1.01 % ±1.50% ±1.97% ±2.54%
fs/writefile-promises.js concurrent=1 size=2 encodingType='utf' duration=5 -0.37 % ±1.57% ±2.07% ±2.66%
fs/writefile-promises.js concurrent=1 size=65535 encodingType='asc' duration=5 -0.33 % ±2.07% ±2.74% ±3.52%
fs/writefile-promises.js concurrent=1 size=65535 encodingType='buf' duration=5 -0.11 % ±1.70% ±2.24% ±2.88%
fs/writefile-promises.js concurrent=1 size=65535 encodingType='utf' duration=5 -0.75 % ±1.53% ±2.02% ±2.59%
fs/writefile-promises.js concurrent=10 size=1024 encodingType='asc' duration=5 0.58 % ±1.01% ±1.33% ±1.71%
fs/writefile-promises.js concurrent=10 size=1024 encodingType='buf' duration=5 0.47 % ±0.69% ±0.92% ±1.18%
fs/writefile-promises.js concurrent=10 size=1024 encodingType='utf' duration=5 0.58 % ±1.07% ±1.41% ±1.81%
fs/writefile-promises.js concurrent=10 size=1048576 encodingType='asc' duration=5 0.17 % ±0.73% ±0.96% ±1.24%
fs/writefile-promises.js concurrent=10 size=1048576 encodingType='buf' duration=5 -0.46 % ±1.37% ±1.81% ±2.32%
fs/writefile-promises.js concurrent=10 size=1048576 encodingType='utf' duration=5 -0.14 % ±0.54% ±0.71% ±0.91%
fs/writefile-promises.js concurrent=10 size=2 encodingType='asc' duration=5 0.38 % ±0.81% ±1.06% ±1.37%
fs/writefile-promises.js concurrent=10 size=2 encodingType='buf' duration=5 -0.31 % ±0.98% ±1.30% ±1.67%
fs/writefile-promises.js concurrent=10 size=2 encodingType='utf' duration=5 0.17 % ±0.79% ±1.04% ±1.33%
fs/writefile-promises.js concurrent=10 size=65535 encodingType='asc' duration=5 -0.43 % ±1.05% ±1.39% ±1.78%
fs/writefile-promises.js concurrent=10 size=65535 encodingType='buf' duration=5 -0.33 % ±1.07% ±1.41% ±1.82%
fs/writefile-promises.js concurrent=10 size=65535 encodingType='utf' duration=5 0.39 % ±1.07% ±1.41% ±1.81% |
|
Landed in b3ec13d |
Notable Changes: TODO Semver-Major Commits: * (SEMVER-MAJOR) bump supported macOS and Xcode versions (Michaël Zasso) #49164 * (SEMVER-MAJOR) do not overwrite _writableState.defaultEncoding (Tobias Nießen) #49140 * (SEMVER-MAJOR) update llhttp to 9.1.2 (Paolo Insogna) #48981 * (SEMVER-MAJOR) validate options of `on` and `once` (Deokjin Kim) #46018 * (SEMVER-MAJOR) adjust `position` validation in reading methods (Livia Medeiros) #42835 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 * (SEMVER-MAJOR) mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) #47497 * (SEMVER-MAJOR) remove aix directory case for package reader (Yagiz Nizipli) #48605 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 * (SEMVER-MAJOR) runtime deprecate punycode (Yagiz Nizipli) #47202 * (SEMVER-MAJOR) harmonize error code between ESM and CJS (Antoine du Hamel) #48606 * (SEMVER-MAJOR) do not treat `server.maxConnections=0` as `Infinity` (ignoramous) #48276 * (SEMVER-MAJOR) only defer _final call when connecting (Jason Zhang) #47385 * (SEMVER-MAJOR) rename internal NAPI_VERSION definition (Chengzhong Wu) #48501 * (SEMVER-MAJOR) throw DOMException on cloning non-serializable objects (Chengzhong Wu) #47839 * (SEMVER-MAJOR) throw DataCloneError on transfering untransferable objects (Chengzhong Wu) #47604 * (SEMVER-MAJOR) use private properties for strategies (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for encoding (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for compression (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) disallow array in `run` options (Raz Luvaton) #49935 * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 * (SEMVER-MAJOR) use `validateNumber` for `options.minDHSize` (Deokjin Kim) #49973 * (SEMVER-MAJOR) use validateFunction for `options.checkServerIdentity` (Deokjin Kim) #49896 * (SEMVER-MAJOR) runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) #49609 * (SEMVER-MAJOR) freeze `dependencySpecifiers` array (Antoine du Hamel) #49720 PR-URL: #49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) nodejs#45684 esm: * --experimental-default-type flag to flip module defaults (Geoffrey Booth) nodejs#49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) nodejs#49144 fs: * add flush option to writeFile() functions (Colin Ihrig) nodejs#50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) nodejs#47653 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) nodejs#49830 stream: * optimize Writable (Robert Nagy) nodejs#50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) nodejs#47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) nodejs#49950 Semver-Major Commits: * (SEMVER-MAJOR) bump supported macOS and Xcode versions (Michaël Zasso) nodejs#49164 * (SEMVER-MAJOR) do not overwrite _writableState.defaultEncoding (Tobias Nießen) nodejs#49140 * (SEMVER-MAJOR) update llhttp to 9.1.2 (Paolo Insogna) nodejs#48981 * (SEMVER-MAJOR) validate options of `on` and `once` (Deokjin Kim) nodejs#46018 * (SEMVER-MAJOR) adjust `position` validation in reading methods (Livia Medeiros) nodejs#42835 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) nodejs#47653 * (SEMVER-MAJOR) mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) nodejs#47497 * (SEMVER-MAJOR) remove aix directory case for package reader (Yagiz Nizipli) nodejs#48605 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) nodejs#47769 * (SEMVER-MAJOR) runtime deprecate punycode (Yagiz Nizipli) nodejs#47202 * (SEMVER-MAJOR) harmonize error code between ESM and CJS (Antoine du Hamel) nodejs#48606 * (SEMVER-MAJOR) do not treat `server.maxConnections=0` as `Infinity` (ignoramous) nodejs#48276 * (SEMVER-MAJOR) only defer _final call when connecting (Jason Zhang) nodejs#47385 * (SEMVER-MAJOR) rename internal NAPI_VERSION definition (Chengzhong Wu) nodejs#48501 * (SEMVER-MAJOR) throw DOMException on cloning non-serializable objects (Chengzhong Wu) nodejs#47839 * (SEMVER-MAJOR) throw DataCloneError on transfering untransferable objects (Chengzhong Wu) nodejs#47604 * (SEMVER-MAJOR) use private properties for strategies (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) use private properties for encoding (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) use private properties for compression (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) disallow array in `run` options (Raz Luvaton) nodejs#49935 * (SEMVER-MAJOR) support passing globs (Moshe Atlow) nodejs#47653 * (SEMVER-MAJOR) use `validateNumber` for `options.minDHSize` (Deokjin Kim) nodejs#49973 * (SEMVER-MAJOR) use validateFunction for `options.checkServerIdentity` (Deokjin Kim) nodejs#49896 * (SEMVER-MAJOR) runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) nodejs#49609 * (SEMVER-MAJOR) freeze `dependencySpecifiers` array (Antoine du Hamel) nodejs#49720 PR-URL: nodejs#49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) nodejs#45684 esm: * --experimental-default-type flag to flip module defaults (Geoffrey Booth) nodejs#49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) nodejs#49144 fs: * add flush option to writeFile() functions (Colin Ihrig) nodejs#50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) nodejs#47653 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) nodejs#49830 stream: * optimize Writable (Robert Nagy) nodejs#50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) nodejs#47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) nodejs#49950 Semver-Major Commits: * (SEMVER-MAJOR) bump supported macOS and Xcode versions (Michaël Zasso) nodejs#49164 * (SEMVER-MAJOR) do not overwrite _writableState.defaultEncoding (Tobias Nießen) nodejs#49140 * (SEMVER-MAJOR) update llhttp to 9.1.2 (Paolo Insogna) nodejs#48981 * (SEMVER-MAJOR) validate options of `on` and `once` (Deokjin Kim) nodejs#46018 * (SEMVER-MAJOR) adjust `position` validation in reading methods (Livia Medeiros) nodejs#42835 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) nodejs#47653 * (SEMVER-MAJOR) mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) nodejs#47497 * (SEMVER-MAJOR) remove aix directory case for package reader (Yagiz Nizipli) nodejs#48605 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) nodejs#47769 * (SEMVER-MAJOR) runtime deprecate punycode (Yagiz Nizipli) nodejs#47202 * (SEMVER-MAJOR) harmonize error code between ESM and CJS (Antoine du Hamel) nodejs#48606 * (SEMVER-MAJOR) do not treat `server.maxConnections=0` as `Infinity` (ignoramous) nodejs#48276 * (SEMVER-MAJOR) only defer _final call when connecting (Jason Zhang) nodejs#47385 * (SEMVER-MAJOR) rename internal NAPI_VERSION definition (Chengzhong Wu) nodejs#48501 * (SEMVER-MAJOR) throw DOMException on cloning non-serializable objects (Chengzhong Wu) nodejs#47839 * (SEMVER-MAJOR) throw DataCloneError on transfering untransferable objects (Chengzhong Wu) nodejs#47604 * (SEMVER-MAJOR) use private properties for strategies (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) use private properties for encoding (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) use private properties for compression (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) disallow array in `run` options (Raz Luvaton) nodejs#49935 * (SEMVER-MAJOR) support passing globs (Moshe Atlow) nodejs#47653 * (SEMVER-MAJOR) use `validateNumber` for `options.minDHSize` (Deokjin Kim) nodejs#49973 * (SEMVER-MAJOR) use validateFunction for `options.checkServerIdentity` (Deokjin Kim) nodejs#49896 * (SEMVER-MAJOR) runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) nodejs#49609 * (SEMVER-MAJOR) freeze `dependencySpecifiers` array (Antoine du Hamel) nodejs#49720 PR-URL: nodejs#49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) #45684 esm: * --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) #49144 fs: * add flush option to writeFile() functions (Colin Ihrig) #50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) #49830 stream: * optimize Writable (Robert Nagy) #50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950 Semver-Major Commits: * (SEMVER-MAJOR) bump supported macOS and Xcode versions (Michaël Zasso) #49164 * (SEMVER-MAJOR) do not overwrite _writableState.defaultEncoding (Tobias Nießen) #49140 * (SEMVER-MAJOR) update llhttp to 9.1.2 (Paolo Insogna) #48981 * (SEMVER-MAJOR) validate options of `on` and `once` (Deokjin Kim) #46018 * (SEMVER-MAJOR) adjust `position` validation in reading methods (Livia Medeiros) #42835 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 * (SEMVER-MAJOR) mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) #47497 * (SEMVER-MAJOR) remove aix directory case for package reader (Yagiz Nizipli) #48605 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 * (SEMVER-MAJOR) runtime deprecate punycode (Yagiz Nizipli) #47202 * (SEMVER-MAJOR) harmonize error code between ESM and CJS (Antoine du Hamel) #48606 * (SEMVER-MAJOR) do not treat `server.maxConnections=0` as `Infinity` (ignoramous) #48276 * (SEMVER-MAJOR) only defer _final call when connecting (Jason Zhang) #47385 * (SEMVER-MAJOR) rename internal NAPI_VERSION definition (Chengzhong Wu) #48501 * (SEMVER-MAJOR) throw DOMException on cloning non-serializable objects (Chengzhong Wu) #47839 * (SEMVER-MAJOR) throw DataCloneError on transfering untransferable objects (Chengzhong Wu) #47604 * (SEMVER-MAJOR) use private properties for strategies (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for encoding (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for compression (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) disallow array in `run` options (Raz Luvaton) #49935 * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 * (SEMVER-MAJOR) use `validateNumber` for `options.minDHSize` (Deokjin Kim) #49973 * (SEMVER-MAJOR) use validateFunction for `options.checkServerIdentity` (Deokjin Kim) #49896 * (SEMVER-MAJOR) runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) #49609 * (SEMVER-MAJOR) freeze `dependencySpecifiers` array (Antoine du Hamel) #49720 PR-URL: #49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) #45684 esm: * --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) #49144 fs: * add flush option to writeFile() functions (Colin Ihrig) #50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) #49830 stream: * optimize Writable (Robert Nagy) #50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950 Semver-Major Commits: * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) #49639 * (SEMVER-MAJOR) drop support for Visual Studio 2019 (Michaël Zasso) #49051 * (SEMVER-MAJOR) bump supported macOS and Xcode versions (Michaël Zasso) #49164 * (SEMVER-MAJOR) do not overwrite _writableState.defaultEncoding (Tobias Nießen) #49140 * (SEMVER-MAJOR) bump minimum ICU version to 73 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 8ec2651fbdd8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 89b3702c92b0 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick de9a5de2274f (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick b5b5d6c31bb0 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 93b1a74cbc9b (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 1a3ecc2483b2 (Michaël Zasso) #49639 * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #49639 * (SEMVER-MAJOR) remove usage of a C++20 feature from V8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) avoid compilation error with ASan (Michaël Zasso) #49639 * (SEMVER-MAJOR) disable V8 concurrent sparkplug compilation (Michaël Zasso) #49639 * (SEMVER-MAJOR) silence irrelevant V8 warning (Michaël Zasso) #49639 * (SEMVER-MAJOR) always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 to 11.8.172.13 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update llhttp to 9.1.2 (Paolo Insogna) #48981 * (SEMVER-MAJOR) validate options of `on` and `once` (Deokjin Kim) #46018 * (SEMVER-MAJOR) adjust `position` validation in reading methods (Livia Medeiros) #42835 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 * (SEMVER-MAJOR) update usage of always on Atomics API (Michaël Zasso) #49639 * (SEMVER-MAJOR) mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) #47497 * (SEMVER-MAJOR) remove aix directory case for package reader (Yagiz Nizipli) #48605 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 * (SEMVER-MAJOR) runtime deprecate punycode (Yagiz Nizipli) #47202 * (SEMVER-MAJOR) harmonize error code between ESM and CJS (Antoine du Hamel) #48606 * (SEMVER-MAJOR) do not treat `server.maxConnections=0` as `Infinity` (ignoramous) #48276 * (SEMVER-MAJOR) only defer _final call when connecting (Jason Zhang) #47385 * (SEMVER-MAJOR) rename internal NAPI_VERSION definition (Chengzhong Wu) #48501 * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 120 (Michaël Zasso) #49639 * (SEMVER-MAJOR) throw DOMException on cloning non-serializable objects (Chengzhong Wu) #47839 * (SEMVER-MAJOR) throw DataCloneError on transfering untransferable objects (Chengzhong Wu) #47604 * (SEMVER-MAJOR) use private properties for strategies (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for encoding (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for compression (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) skip v8-updates/test-linux-perf (Michaël Zasso) #49639 * (SEMVER-MAJOR) skip test-tick-processor-arguments on SmartOS (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt REPL test to V8 changes (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt test-fs-write to V8 internal changes (Michaël Zasso) #49639 * (SEMVER-MAJOR) update flag to disable SharedArrayBuffer (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt debugger tests to V8 11.4 (Philip Pfaffe) #49639 * (SEMVER-MAJOR) disallow array in `run` options (Raz Luvaton) #49935 * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 * (SEMVER-MAJOR) use `validateNumber` for `options.minDHSize` (Deokjin Kim) #49973 * (SEMVER-MAJOR) use validateFunction for `options.checkServerIdentity` (Deokjin Kim) #49896 * (SEMVER-MAJOR) add new V8 headers to distribution (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.7 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.6 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.5 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.4 (Michaël Zasso) #49639 * (SEMVER-MAJOR) runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) #49609 * (SEMVER-MAJOR) freeze `dependencySpecifiers` array (Antoine du Hamel) #49720 PR-URL: #49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) #45684 esm: * --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) #49144 fs: * add flush option to writeFile() functions (Colin Ihrig) #50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) #49830 stream: * optimize Writable (Robert Nagy) #50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950 Semver-Major Commits: * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) #49639 * (SEMVER-MAJOR) drop support for Visual Studio 2019 (Michaël Zasso) #49051 * (SEMVER-MAJOR) bump supported macOS and Xcode versions (Michaël Zasso) #49164 * (SEMVER-MAJOR) do not overwrite _writableState.defaultEncoding (Tobias Nießen) #49140 * (SEMVER-MAJOR) bump minimum ICU version to 73 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 8ec2651fbdd8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 89b3702c92b0 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick de9a5de2274f (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick b5b5d6c31bb0 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 93b1a74cbc9b (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 1a3ecc2483b2 (Michaël Zasso) #49639 * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #49639 * (SEMVER-MAJOR) remove usage of a C++20 feature from V8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) avoid compilation error with ASan (Michaël Zasso) #49639 * (SEMVER-MAJOR) disable V8 concurrent sparkplug compilation (Michaël Zasso) #49639 * (SEMVER-MAJOR) silence irrelevant V8 warning (Michaël Zasso) #49639 * (SEMVER-MAJOR) always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 to 11.8.172.13 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update llhttp to 9.1.2 (Paolo Insogna) #48981 * (SEMVER-MAJOR) validate options of `on` and `once` (Deokjin Kim) #46018 * (SEMVER-MAJOR) adjust `position` validation in reading methods (Livia Medeiros) #42835 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 * (SEMVER-MAJOR) update usage of always on Atomics API (Michaël Zasso) #49639 * (SEMVER-MAJOR) mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) #47497 * (SEMVER-MAJOR) remove aix directory case for package reader (Yagiz Nizipli) #48605 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 * (SEMVER-MAJOR) runtime deprecate punycode (Yagiz Nizipli) #47202 * (SEMVER-MAJOR) harmonize error code between ESM and CJS (Antoine du Hamel) #48606 * (SEMVER-MAJOR) do not treat `server.maxConnections=0` as `Infinity` (ignoramous) #48276 * (SEMVER-MAJOR) only defer _final call when connecting (Jason Zhang) #47385 * (SEMVER-MAJOR) rename internal NAPI_VERSION definition (Chengzhong Wu) #48501 * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 120 (Michaël Zasso) #49639 * (SEMVER-MAJOR) throw DOMException on cloning non-serializable objects (Chengzhong Wu) #47839 * (SEMVER-MAJOR) throw DataCloneError on transfering untransferable objects (Chengzhong Wu) #47604 * (SEMVER-MAJOR) use private properties for strategies (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for encoding (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for compression (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) skip v8-updates/test-linux-perf (Michaël Zasso) #49639 * (SEMVER-MAJOR) skip test-tick-processor-arguments on SmartOS (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt REPL test to V8 changes (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt test-fs-write to V8 internal changes (Michaël Zasso) #49639 * (SEMVER-MAJOR) update flag to disable SharedArrayBuffer (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt debugger tests to V8 11.4 (Philip Pfaffe) #49639 * (SEMVER-MAJOR) disallow array in `run` options (Raz Luvaton) #49935 * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 * (SEMVER-MAJOR) use `validateNumber` for `options.minDHSize` (Deokjin Kim) #49973 * (SEMVER-MAJOR) use validateFunction for `options.checkServerIdentity` (Deokjin Kim) #49896 * (SEMVER-MAJOR) add new V8 headers to distribution (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.7 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.6 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.5 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.4 (Michaël Zasso) #49639 * (SEMVER-MAJOR) runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) #49609 * (SEMVER-MAJOR) freeze `dependencySpecifiers` array (Antoine du Hamel) #49720 PR-URL: #49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) #45684 esm: * use import attributes instead of import assertions (Antoine du Hamel) #50140 * --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) #49144 fs: * add flush option to writeFile() functions (Colin Ihrig) #50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 http: * (SEMVER-MAJOR) reduce parts in chunked response when corking (Robert Nagy) #50167 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) #49830 stream: * optimize Writable (Robert Nagy) #50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950 Semver-Major Commits: * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) #49639 * (SEMVER-MAJOR) drop support for Visual Studio 2019 (Michaël Zasso) #49051 * (SEMVER-MAJOR) bump supported macOS and Xcode versions (Michaël Zasso) #49164 * (SEMVER-MAJOR) do not overwrite _writableState.defaultEncoding (Tobias Nießen) #49140 * (SEMVER-MAJOR) bump minimum ICU version to 73 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 8ec2651fbdd8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 89b3702c92b0 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick de9a5de2274f (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick b5b5d6c31bb0 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 93b1a74cbc9b (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 1a3ecc2483b2 (Michaël Zasso) #49639 * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #49639 * (SEMVER-MAJOR) remove usage of a C++20 feature from V8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) avoid compilation error with ASan (Michaël Zasso) #49639 * (SEMVER-MAJOR) disable V8 concurrent sparkplug compilation (Michaël Zasso) #49639 * (SEMVER-MAJOR) silence irrelevant V8 warning (Michaël Zasso) #49639 * (SEMVER-MAJOR) always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 to 11.8.172.13 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update llhttp to 9.1.2 (Paolo Insogna) #48981 * (SEMVER-MAJOR) validate options of `on` and `once` (Deokjin Kim) #46018 * (SEMVER-MAJOR) adjust `position` validation in reading methods (Livia Medeiros) #42835 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 * (SEMVER-MAJOR) reduce parts in chunked response when corking (Robert Nagy) #50167 * (SEMVER-MAJOR) update usage of always on Atomics API (Michaël Zasso) #49639 * (SEMVER-MAJOR) mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) #47497 * (SEMVER-MAJOR) remove aix directory case for package reader (Yagiz Nizipli) #48605 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 * (SEMVER-MAJOR) runtime deprecate punycode (Yagiz Nizipli) #47202 * (SEMVER-MAJOR) harmonize error code between ESM and CJS (Antoine du Hamel) #48606 * (SEMVER-MAJOR) do not treat `server.maxConnections=0` as `Infinity` (ignoramous) #48276 * (SEMVER-MAJOR) only defer _final call when connecting (Jason Zhang) #47385 * (SEMVER-MAJOR) rename internal NAPI_VERSION definition (Chengzhong Wu) #48501 * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 120 (Michaël Zasso) #49639 * (SEMVER-MAJOR) throw DOMException on cloning non-serializable objects (Chengzhong Wu) #47839 * (SEMVER-MAJOR) throw DataCloneError on transfering untransferable objects (Chengzhong Wu) #47604 * (SEMVER-MAJOR) use private properties for strategies (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for encoding (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for compression (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) skip v8-updates/test-linux-perf (Michaël Zasso) #49639 * (SEMVER-MAJOR) skip test-tick-processor-arguments on SmartOS (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt REPL test to V8 changes (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt test-fs-write to V8 internal changes (Michaël Zasso) #49639 * (SEMVER-MAJOR) update flag to disable SharedArrayBuffer (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt debugger tests to V8 11.4 (Philip Pfaffe) #49639 * (SEMVER-MAJOR) disallow array in `run` options (Raz Luvaton) #49935 * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 * (SEMVER-MAJOR) use `validateNumber` for `options.minDHSize` (Deokjin Kim) #49973 * (SEMVER-MAJOR) use validateFunction for `options.checkServerIdentity` (Deokjin Kim) #49896 * (SEMVER-MAJOR) add new V8 headers to distribution (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.7 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.6 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.5 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.4 (Michaël Zasso) #49639 * (SEMVER-MAJOR) runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) #49609 * (SEMVER-MAJOR) freeze `dependencySpecifiers` array (Antoine du Hamel) #49720 PR-URL: #49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) #45684 esm: * use import attributes instead of import assertions (Antoine du Hamel) #50140 * --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) #49144 fs: * add flush option to writeFile() functions (Colin Ihrig) #50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 http: * (SEMVER-MAJOR) reduce parts in chunked response when corking (Robert Nagy) #50167 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) #49830 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 stream: * optimize Writable (Robert Nagy) #50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950 Semver-Major Commits: * (SEMVER-MAJOR) build: drop support for Visual Studio 2019 (Michaël Zasso) #49051 * (SEMVER-MAJOR) build: bump supported macOS and Xcode versions (Michaël Zasso) #49164 * (SEMVER-MAJOR) crypto: do not overwrite \_writableState.defaultEncoding (Tobias Nießen) #49140 * (SEMVER-MAJOR) deps: bump minimum ICU version to 73 (Michaël Zasso) #49639 * (SEMVER-MAJOR) deps: update V8 to 11.8.172.13 (Michaël Zasso) #49639 * (SEMVER-MAJOR) deps: update llhttp to 9.1.2 (Paolo Insogna) #48981 * (SEMVER-MAJOR) events: validate options of `on` and `once` (Deokjin Kim) #46018 * (SEMVER-MAJOR) fs: adjust `position` validation in reading methods (Livia Medeiros) #42835 * (SEMVER-MAJOR) fs: add globSync implementation (Moshe Atlow) #47653 * (SEMVER-MAJOR) http: reduce parts in chunked response when corking (Robert Nagy) #50167 * (SEMVER-MAJOR) lib: mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) #47497 * (SEMVER-MAJOR) lib: remove aix directory case for package reader (Yagiz Nizipli) #48605 * (SEMVER-MAJOR) lib: add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 * (SEMVER-MAJOR) lib: runtime deprecate punycode (Yagiz Nizipli) #47202 * (SEMVER-MAJOR) module: harmonize error code between ESM and CJS (Antoine du Hamel) #48606 * (SEMVER-MAJOR) net: do not treat `server.maxConnections=0` as `Infinity` (ignoramous) #48276 * (SEMVER-MAJOR) net: only defer \_final call when connecting (Jason Zhang) #47385 * (SEMVER-MAJOR) node-api: rename internal NAPI\_VERSION definition (Chengzhong Wu) #48501 * (SEMVER-MAJOR) src: update NODE\_MODULE\_VERSION to 120 (Michaël Zasso) #49639 * (SEMVER-MAJOR) src: throw DOMException on cloning non-serializable objects (Chengzhong Wu) #47839 * (SEMVER-MAJOR) src: throw DataCloneError on transfering untransferable objects (Chengzhong Wu) #47604 * (SEMVER-MAJOR) stream: use private properties for strategies (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) stream: use private properties for encoding (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) stream: use private properties for compression (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) test\_runner: disallow array in `run` options (Raz Luvaton) #49935 * (SEMVER-MAJOR) test\_runner: support passing globs (Moshe Atlow) #47653 * (SEMVER-MAJOR) tls: use `validateNumber` for `options.minDHSize` (Deokjin Kim) #49973 * (SEMVER-MAJOR) tls: use validateFunction for `options.checkServerIdentity` (Deokjin Kim) #49896 * (SEMVER-MAJOR) util: runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) #49609 * (SEMVER-MAJOR) vm: freeze `dependencySpecifiers` array (Antoine du Hamel) #49720 PR-URL: #49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) #45684 esm: * use import attributes instead of import assertions (Antoine du Hamel) #50140 * --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) #49144 fs: * add flush option to writeFile() functions (Colin Ihrig) #50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 http: * (SEMVER-MAJOR) reduce parts in chunked response when corking (Robert Nagy) #50167 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) #49830 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 stream: * optimize Writable (Robert Nagy) #50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950 Semver-Major Commits: * (SEMVER-MAJOR) build: drop support for Visual Studio 2019 (Michaël Zasso) #49051 * (SEMVER-MAJOR) build: bump supported macOS and Xcode versions (Michaël Zasso) #49164 * (SEMVER-MAJOR) crypto: do not overwrite \_writableState.defaultEncoding (Tobias Nießen) #49140 * (SEMVER-MAJOR) deps: bump minimum ICU version to 73 (Michaël Zasso) #49639 * (SEMVER-MAJOR) deps: update V8 to 11.8.172.13 (Michaël Zasso) #49639 * (SEMVER-MAJOR) deps: update llhttp to 9.1.2 (Paolo Insogna) #48981 * (SEMVER-MAJOR) events: validate options of `on` and `once` (Deokjin Kim) #46018 * (SEMVER-MAJOR) fs: adjust `position` validation in reading methods (Livia Medeiros) #42835 * (SEMVER-MAJOR) fs: add globSync implementation (Moshe Atlow) #47653 * (SEMVER-MAJOR) http: reduce parts in chunked response when corking (Robert Nagy) #50167 * (SEMVER-MAJOR) lib: mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) #47497 * (SEMVER-MAJOR) lib: remove aix directory case for package reader (Yagiz Nizipli) #48605 * (SEMVER-MAJOR) lib: add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 * (SEMVER-MAJOR) lib: runtime deprecate punycode (Yagiz Nizipli) #47202 * (SEMVER-MAJOR) module: harmonize error code between ESM and CJS (Antoine du Hamel) #48606 * (SEMVER-MAJOR) net: do not treat `server.maxConnections=0` as `Infinity` (ignoramous) #48276 * (SEMVER-MAJOR) net: only defer \_final call when connecting (Jason Zhang) #47385 * (SEMVER-MAJOR) node-api: rename internal NAPI\_VERSION definition (Chengzhong Wu) #48501 * (SEMVER-MAJOR) src: update NODE\_MODULE\_VERSION to 120 (Michaël Zasso) #49639 * (SEMVER-MAJOR) src: throw DOMException on cloning non-serializable objects (Chengzhong Wu) #47839 * (SEMVER-MAJOR) src: throw DataCloneError on transfering untransferable objects (Chengzhong Wu) #47604 * (SEMVER-MAJOR) stream: use private properties for strategies (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) stream: use private properties for encoding (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) stream: use private properties for compression (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) test\_runner: disallow array in `run` options (Raz Luvaton) #49935 * (SEMVER-MAJOR) test\_runner: support passing globs (Moshe Atlow) #47653 * (SEMVER-MAJOR) tls: use `validateNumber` for `options.minDHSize` (Deokjin Kim) #49973 * (SEMVER-MAJOR) tls: use validateFunction for `options.checkServerIdentity` (Deokjin Kim) #49896 * (SEMVER-MAJOR) util: runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) #49609 * (SEMVER-MAJOR) vm: freeze `dependencySpecifiers` array (Antoine du Hamel) #49720 PR-URL: #49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
This prohibits invalid values (< -1 and non-integers) and allows `filehandle.read()` to handle position up to `2n ** 63n - 1n` PR-URL: nodejs#42835 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) nodejs#45684 esm: * use import attributes instead of import assertions (Antoine du Hamel) nodejs#50140 * --experimental-default-type flag to flip module defaults (Geoffrey Booth) nodejs#49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) nodejs#49144 fs: * add flush option to writeFile() functions (Colin Ihrig) nodejs#50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) nodejs#47653 http: * (SEMVER-MAJOR) reduce parts in chunked response when corking (Robert Nagy) nodejs#50167 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) nodejs#49830 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) nodejs#47769 stream: * optimize Writable (Robert Nagy) nodejs#50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) nodejs#47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) nodejs#49950 Semver-Major Commits: * (SEMVER-MAJOR) build: drop support for Visual Studio 2019 (Michaël Zasso) nodejs#49051 * (SEMVER-MAJOR) build: bump supported macOS and Xcode versions (Michaël Zasso) nodejs#49164 * (SEMVER-MAJOR) crypto: do not overwrite \_writableState.defaultEncoding (Tobias Nießen) nodejs#49140 * (SEMVER-MAJOR) deps: bump minimum ICU version to 73 (Michaël Zasso) nodejs#49639 * (SEMVER-MAJOR) deps: update V8 to 11.8.172.13 (Michaël Zasso) nodejs#49639 * (SEMVER-MAJOR) deps: update llhttp to 9.1.2 (Paolo Insogna) nodejs#48981 * (SEMVER-MAJOR) events: validate options of `on` and `once` (Deokjin Kim) nodejs#46018 * (SEMVER-MAJOR) fs: adjust `position` validation in reading methods (Livia Medeiros) nodejs#42835 * (SEMVER-MAJOR) fs: add globSync implementation (Moshe Atlow) nodejs#47653 * (SEMVER-MAJOR) http: reduce parts in chunked response when corking (Robert Nagy) nodejs#50167 * (SEMVER-MAJOR) lib: mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) nodejs#47497 * (SEMVER-MAJOR) lib: remove aix directory case for package reader (Yagiz Nizipli) nodejs#48605 * (SEMVER-MAJOR) lib: add `navigator.hardwareConcurrency` (Yagiz Nizipli) nodejs#47769 * (SEMVER-MAJOR) lib: runtime deprecate punycode (Yagiz Nizipli) nodejs#47202 * (SEMVER-MAJOR) module: harmonize error code between ESM and CJS (Antoine du Hamel) nodejs#48606 * (SEMVER-MAJOR) net: do not treat `server.maxConnections=0` as `Infinity` (ignoramous) nodejs#48276 * (SEMVER-MAJOR) net: only defer \_final call when connecting (Jason Zhang) nodejs#47385 * (SEMVER-MAJOR) node-api: rename internal NAPI\_VERSION definition (Chengzhong Wu) nodejs#48501 * (SEMVER-MAJOR) src: update NODE\_MODULE\_VERSION to 120 (Michaël Zasso) nodejs#49639 * (SEMVER-MAJOR) src: throw DOMException on cloning non-serializable objects (Chengzhong Wu) nodejs#47839 * (SEMVER-MAJOR) src: throw DataCloneError on transfering untransferable objects (Chengzhong Wu) nodejs#47604 * (SEMVER-MAJOR) stream: use private properties for strategies (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) stream: use private properties for encoding (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) stream: use private properties for compression (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) test\_runner: disallow array in `run` options (Raz Luvaton) nodejs#49935 * (SEMVER-MAJOR) test\_runner: support passing globs (Moshe Atlow) nodejs#47653 * (SEMVER-MAJOR) tls: use `validateNumber` for `options.minDHSize` (Deokjin Kim) nodejs#49973 * (SEMVER-MAJOR) tls: use validateFunction for `options.checkServerIdentity` (Deokjin Kim) nodejs#49896 * (SEMVER-MAJOR) util: runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) nodejs#49609 * (SEMVER-MAJOR) vm: freeze `dependencySpecifiers` array (Antoine du Hamel) nodejs#49720 PR-URL: nodejs#49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
This prohibits invalid values (< -1 and non-integers) and allows `filehandle.read()` to handle position up to `2n ** 63n - 1n` PR-URL: nodejs#42835 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
This PR:
positionargument tofilehandle.read(), same as in cousin methodsfilehandle.read()Number.MIN_SAFE_INTEGERto-1-2⁶³to-12⁶³ - 1to2⁶³ - 1 - lengthTests are still passing and documented features are still working, but there are potentially breaking changes:
filehandle.read(), an exception is thrown.filehandle.read(), it works.-1or-1nwhich explicitly means current position), an exception is thrown.2⁶³ - 1), and addinglengthbreaks this limit, an exception is thrown.EINVALfromread(2)(platform-dependent)