diff --git a/doc/api/async_context.md b/doc/api/async_context.md index 86c55f6ae11b08..5b18c8efdc0513 100644 --- a/doc/api/async_context.md +++ b/doc/api/async_context.md @@ -390,8 +390,8 @@ try { > Stability: 1 - Experimental @@ -530,8 +530,8 @@ probably responsible for the context loss. > Stability: 1 - Experimental @@ -548,8 +548,8 @@ exits, whether through normal completion or by throwing an error. Explicitly ends the scope and restores the previous store value. This method diff --git a/doc/api/cli.md b/doc/api/cli.md index 1bfe15a7c0567d..12c3e3b4151250 100644 --- a/doc/api/cli.md +++ b/doc/api/cli.md @@ -1326,8 +1326,8 @@ Enable experimental support for storage inspection > Stability: 1 - Experimental diff --git a/doc/api/diagnostics_channel.md b/doc/api/diagnostics_channel.md index b7dc3b67548936..661866bb261720 100644 --- a/doc/api/diagnostics_channel.md +++ b/doc/api/diagnostics_channel.md @@ -1859,9 +1859,9 @@ Emitted when [`process.execve()`][] is invoked. These channels are emitted for each [`locks.request()`][] call. See diff --git a/doc/api/fs.md b/doc/api/fs.md index 4953ef60accfd0..03f4a77989c9af 100644 --- a/doc/api/fs.md +++ b/doc/api/fs.md @@ -381,8 +381,8 @@ added: v10.0.0 > Stability: 1 - Experimental @@ -460,8 +460,8 @@ run().catch(console.error); > Stability: 1 - Experimental @@ -1017,8 +1017,8 @@ the end of the file. > Stability: 1 - Experimental diff --git a/doc/api/module.md b/doc/api/module.md index 19fc1a7d6eff76..902b8dc0672265 100644 --- a/doc/api/module.md +++ b/doc/api/module.md @@ -179,9 +179,9 @@ added: - v20.6.0 - v18.19.0 deprecated: + - v26.0.0 - v25.9.0 - v24.15.0 - - v26.0.0 changes: - version: v26.0.0 pr-url: https://github.com/nodejs/node/pull/62401 diff --git a/doc/api/process.md b/doc/api/process.md index bcb920a11b5614..616dcbd933cdb3 100644 --- a/doc/api/process.md +++ b/doc/api/process.md @@ -740,8 +740,8 @@ This feature is not available in [`Worker`][] threads. > Stability: 1 - Experimental @@ -4080,8 +4080,8 @@ This implies calling `module.setSourceMapsSupport()` with an option added: v9.3.0 changes: - version: - - v25.9.0 - v26.0.0 + - v25.9.0 pr-url: https://github.com/nodejs/node/pull/61227 description: Use `process.addUncaughtExceptionCaptureCallback()` to register multiple callbacks. diff --git a/doc/api/quic.md b/doc/api/quic.md index e6b351a5439c6e..b370735d6be53a 100644 --- a/doc/api/quic.md +++ b/doc/api/quic.md @@ -1250,9 +1250,9 @@ True to enable TLS keylogging output. added: v23.8.0 changes: - version: + - v26.0.0 - v25.9.0 - v24.15.0 - - v26.0.0 pr-url: https://github.com/nodejs/node/pull/62335 description: CryptoKey is no longer accepted. --> diff --git a/doc/api/repl.md b/doc/api/repl.md index 5152e807e88286..67d4b8fe538fd8 100644 --- a/doc/api/repl.md +++ b/doc/api/repl.md @@ -710,8 +710,8 @@ npx codemod@latest @nodejs/repl-builtin-modules added: v0.1.91 changes: - version: - - v25.9.0 - v26.0.0 + - v25.9.0 pr-url: https://github.com/nodejs/node/pull/62188 description: The `handleError` parameter has been added. - version: v24.1.0 diff --git a/doc/api/stream_iter.md b/doc/api/stream_iter.md index d4199a40502a3d..a9916c287b9ef3 100644 --- a/doc/api/stream_iter.md +++ b/doc/api/stream_iter.md @@ -522,8 +522,8 @@ Including the `node:` prefix on the module specifier is optional. * `input` {string|ArrayBuffer|ArrayBufferView|Iterable|AsyncIterable|Object} @@ -564,8 +564,8 @@ run().catch(console.error); * `input` {string|ArrayBuffer|ArrayBufferView|Iterable|Object} @@ -596,8 +596,8 @@ console.log(textSync(fromSync('hello'))); // 'hello' * `source` {AsyncIterable|Iterable} The data source. @@ -655,8 +655,8 @@ run().catch(console.error); * `source` {Iterable} The sync data source. @@ -677,8 +677,8 @@ The `writer` must have the `*Sync` methods (`writeSync`, `writevSync`, * `source` {AsyncIterable|Iterable} The data source. @@ -750,8 +750,8 @@ ac.abort(); // Pipeline throws AbortError on next iteration * `source` {Iterable} The sync data source. @@ -766,8 +766,8 @@ Synchronous version of [`pull()`][]. All transforms must be synchronous. * `...transforms` {Function|Object} Optional transforms applied to the @@ -832,8 +832,8 @@ The writer returned by `push()` conforms to the \[Writer interface]\[]. * `options` {Object} @@ -912,8 +912,8 @@ run().catch(console.error); * `source` {AsyncIterable\|Iterable\} @@ -929,8 +929,8 @@ Collect all chunks as an array of `Uint8Array` values (without concatenating). * `source` {AsyncIterable\|Iterable\} @@ -946,8 +946,8 @@ Collect all bytes into an `ArrayBuffer`. * `source` {Iterable\} @@ -962,8 +962,8 @@ Synchronous version of [`arrayBuffer()`][]. * `source` {Iterable\} @@ -978,8 +978,8 @@ Synchronous version of [`array()`][]. * `source` {AsyncIterable\|Iterable\} @@ -1013,8 +1013,8 @@ run().catch(console.error); * `source` {Iterable\} @@ -1029,8 +1029,8 @@ Synchronous version of [`bytes()`][]. * `source` {AsyncIterable\|Iterable\} @@ -1063,8 +1063,8 @@ run().catch(console.error); * `source` {Iterable\} @@ -1082,8 +1082,8 @@ Synchronous version of [`text()`][]. * `drainable` {Object} An object implementing the drainable protocol. @@ -1139,8 +1139,8 @@ run().catch(console.error); * `...sources` {AsyncIterable\|Iterable\} Two or more iterables. @@ -1174,8 +1174,8 @@ run().catch(console.error); * `callback` {Function} `(chunks) => void` Called with each batch. @@ -1215,8 +1215,8 @@ chunks by the tapping callback; but return values are ignored. * `callback` {Function} @@ -1230,8 +1230,8 @@ Synchronous version of [`tap()`][]. * `options` {Object} @@ -1333,8 +1333,8 @@ Alias for `broadcast.cancel()`. * `input` {AsyncIterable|Iterable|Broadcastable} @@ -1348,8 +1348,8 @@ automatically and pushed to all subscribers. * `source` {AsyncIterable} The source to share. @@ -1431,8 +1431,8 @@ Alias for `share.cancel()`. * `input` {AsyncIterable|Shareable} @@ -1445,8 +1445,8 @@ Create a {Share} from an existing source. * `source` {Iterable} The sync source to share. @@ -1462,8 +1462,8 @@ Synchronous version of [`share()`][]. * `input` {Iterable|SyncShareable} diff --git a/doc/api/webcrypto.md b/doc/api/webcrypto.md index af7ad622e9f7e1..3645e0f263328c 100644 --- a/doc/api/webcrypto.md +++ b/doc/api/webcrypto.md @@ -3,8 +3,8 @@ @@ -1926,9 +1926,9 @@ added: v24.7.0 * Type: {number} represents the requested output length in bits. @@ -2358,16 +2358,16 @@ added: v15.0.0 #### `kangarooTwelveParams.customization` * Type: {ArrayBuffer|TypedArray|DataView|Buffer|undefined} @@ -2378,8 +2378,8 @@ The optional customization string for KangarooTwelve. * Type: {string} Must be `'KT128'`[^modern-algos] or `'KT256'`[^modern-algos]. @@ -2388,8 +2388,8 @@ added: * Type: {number} represents the requested output length in bits. @@ -2475,9 +2475,9 @@ added: v24.8.0 added: v24.8.0 changes: - version: + - v26.0.0 - v25.9.0 - v24.15.0 - - v26.0.0 pr-url: https://github.com/nodejs/node/pull/61875 description: Renamed `kmacParams.length` to `kmacParams.outputLength`. --> @@ -2494,9 +2494,9 @@ added: v24.8.0 * Type: {number} @@ -2774,16 +2774,16 @@ The length (in bytes) of the random salt to use. #### `turboShakeParams.domainSeparation` * Type: {number|undefined} @@ -2794,8 +2794,8 @@ The optional domain separation byte (0x01-0x7f). Defaults to `0x1f`. * Type: {string} Must be `'TurboSHAKE128'`[^modern-algos] or `'TurboSHAKE256'`[^modern-algos]. @@ -2804,8 +2804,8 @@ added: * Type: {number} represents the requested output length in bits. diff --git a/doc/api/zlib_iter.md b/doc/api/zlib_iter.md deleted file mode 100644 index ae9ad3bb59faea..00000000000000 --- a/doc/api/zlib_iter.md +++ /dev/null @@ -1,254 +0,0 @@ -# Iterable Compression - - - -> Stability: 1 - Experimental - - - -The `node:zlib/iter` module provides compression and decompression transforms -for use with the [`node:stream/iter`][] iterable streams API. - -This module is available only when the `--experimental-stream-iter` CLI flag -is enabled. - -Each algorithm has both an async variant (stateful async generator, for use -with [`pull()`][] and [`pipeTo()`][]) and a sync variant (stateful sync -generator, for use with `pullSync()` and `pipeToSync()`). - -The async transforms run compression on the libuv threadpool, overlapping -I/O with JavaScript execution. The sync transforms run compression directly -on the main thread. - -> Note: The defaults for these transforms are tuned for streaming throughput, -> and differ from the defaults in `node:zlib`. In particular, gzip/deflate -> default to level 4 (not 6) and memLevel 9 (not 8), and Brotli defaults to -> quality 6 (not 11). These choices match common HTTP server configurations -> and provide significantly faster compression with only a small reduction in -> compression ratio. All defaults can be overridden via options. - -```mjs -import { from, pull, bytes, text } from 'node:stream/iter'; -import { compressGzip, decompressGzip } from 'node:zlib/iter'; - -// Async round-trip -const compressed = await bytes(pull(from('hello'), compressGzip())); -const original = await text(pull(from(compressed), decompressGzip())); -console.log(original); // 'hello' -``` - -```cjs -const { from, pull, bytes, text } = require('node:stream/iter'); -const { compressGzip, decompressGzip } = require('node:zlib/iter'); - -async function run() { - const compressed = await bytes(pull(from('hello'), compressGzip())); - const original = await text(pull(from(compressed), decompressGzip())); - console.log(original); // 'hello' -} - -run().catch(console.error); -``` - -```mjs -import { fromSync, pullSync, textSync } from 'node:stream/iter'; -import { compressGzipSync, decompressGzipSync } from 'node:zlib/iter'; - -// Sync round-trip -const compressed = pullSync(fromSync('hello'), compressGzipSync()); -const original = textSync(pullSync(compressed, decompressGzipSync())); -console.log(original); // 'hello' -``` - -```cjs -const { fromSync, pullSync, textSync } = require('node:stream/iter'); -const { compressGzipSync, decompressGzipSync } = require('node:zlib/iter'); - -const compressed = pullSync(fromSync('hello'), compressGzipSync()); -const original = textSync(pullSync(compressed, decompressGzipSync())); -console.log(original); // 'hello' -``` - -## `compressBrotli([options])` - -## `compressBrotliSync([options])` - - - -* `options` {Object} - * `chunkSize` {number} Output buffer size. **Default:** `65536` (64 KB). - * `params` {Object} Key-value object where keys and values are - `zlib.constants` entries. The most important compressor parameters are: - * `BROTLI_PARAM_MODE` -- `BROTLI_MODE_GENERIC` (default), - `BROTLI_MODE_TEXT`, or `BROTLI_MODE_FONT`. - * `BROTLI_PARAM_QUALITY` -- ranges from `BROTLI_MIN_QUALITY` to - `BROTLI_MAX_QUALITY`. **Default:** `6` (not `BROTLI_DEFAULT_QUALITY` - which is 11). Quality 6 is appropriate for streaming; quality 11 is - intended for offline/build-time compression. - * `BROTLI_PARAM_SIZE_HINT` -- expected input size. **Default:** `0` - (unknown). - * `BROTLI_PARAM_LGWIN` -- window size (log2). **Default:** `20` (1 MB). - The Brotli library default is 22 (4 MB); the reduced default saves - memory without significant compression impact for streaming workloads. - * `BROTLI_PARAM_LGBLOCK` -- input block size (log2). - See the [Brotli compressor options][] in the zlib documentation for the - full list. - * `dictionary` {Buffer|TypedArray|DataView} -* Returns: {Object} A stateful transform. - -Create a Brotli compression transform. Output is compatible with -`zlib.brotliDecompress()` and `decompressBrotli()`/`decompressBrotliSync()`. - -## `compressDeflate([options])` - -## `compressDeflateSync([options])` - - - -* `options` {Object} - * `chunkSize` {number} Output buffer size. **Default:** `65536` (64 KB). - * `level` {number} Compression level (`0`-`9`). **Default:** `4`. - * `windowBits` {number} **Default:** `Z_DEFAULT_WINDOWBITS` (15). - * `memLevel` {number} **Default:** `9`. - * `strategy` {number} **Default:** `Z_DEFAULT_STRATEGY`. - * `dictionary` {Buffer|TypedArray|DataView} -* Returns: {Object} A stateful transform. - -Create a deflate compression transform. Output is compatible with -`zlib.inflate()` and `decompressDeflate()`/`decompressDeflateSync()`. - -## `compressGzip([options])` - -## `compressGzipSync([options])` - - - -* `options` {Object} - * `chunkSize` {number} Output buffer size. **Default:** `65536` (64 KB). - * `level` {number} Compression level (`0`-`9`). **Default:** `4`. - * `windowBits` {number} **Default:** `Z_DEFAULT_WINDOWBITS` (15). - * `memLevel` {number} **Default:** `9`. - * `strategy` {number} **Default:** `Z_DEFAULT_STRATEGY`. - * `dictionary` {Buffer|TypedArray|DataView} -* Returns: {Object} A stateful transform. - -Create a gzip compression transform. Output is compatible with `zlib.gunzip()` -and `decompressGzip()`/`decompressGzipSync()`. - -## `compressZstd([options])` - -## `compressZstdSync([options])` - - - -* `options` {Object} - * `chunkSize` {number} Output buffer size. **Default:** `65536` (64 KB). - * `params` {Object} Key-value object where keys and values are - `zlib.constants` entries. The most important compressor parameters are: - * `ZSTD_c_compressionLevel` -- **Default:** `ZSTD_CLEVEL_DEFAULT` (3). - * `ZSTD_c_checksumFlag` -- generate a checksum. **Default:** `0`. - * `ZSTD_c_strategy` -- compression strategy. Values include - `ZSTD_fast`, `ZSTD_dfast`, `ZSTD_greedy`, `ZSTD_lazy`, - `ZSTD_lazy2`, `ZSTD_btlazy2`, `ZSTD_btopt`, `ZSTD_btultra`, - `ZSTD_btultra2`. - See the [Zstd compressor options][] in the zlib documentation for the - full list. - * `pledgedSrcSize` {number} Expected uncompressed size (optional hint). - * `dictionary` {Buffer|TypedArray|DataView} -* Returns: {Object} A stateful transform. - -Create a Zstandard compression transform. Output is compatible with -`zlib.zstdDecompress()` and `decompressZstd()`/`decompressZstdSync()`. - -## `decompressBrotli([options])` - -## `decompressBrotliSync([options])` - - - -* `options` {Object} - * `chunkSize` {number} Output buffer size. **Default:** `65536` (64 KB). - * `params` {Object} Key-value object where keys and values are - `zlib.constants` entries. Available decompressor parameters: - * `BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION` -- boolean - flag affecting internal memory allocation. - * `BROTLI_DECODER_PARAM_LARGE_WINDOW` -- boolean flag enabling "Large - Window Brotli" mode (not compatible with [RFC 7932][]). - See the [Brotli decompressor options][] in the zlib documentation for - details. - * `dictionary` {Buffer|TypedArray|DataView} -* Returns: {Object} A stateful transform. - -Create a Brotli decompression transform. - -## `decompressDeflate([options])` - -## `decompressDeflateSync([options])` - - - -* `options` {Object} - * `chunkSize` {number} Output buffer size. **Default:** `65536` (64 KB). - * `windowBits` {number} **Default:** `Z_DEFAULT_WINDOWBITS` (15). - * `dictionary` {Buffer|TypedArray|DataView} -* Returns: {Object} A stateful transform. - -Create a deflate decompression transform. - -## `decompressGzip([options])` - -## `decompressGzipSync([options])` - - - -* `options` {Object} - * `chunkSize` {number} Output buffer size. **Default:** `65536` (64 KB). - * `windowBits` {number} **Default:** `Z_DEFAULT_WINDOWBITS` (15). - * `dictionary` {Buffer|TypedArray|DataView} -* Returns: {Object} A stateful transform. - -Create a gzip decompression transform. - -## `decompressZstd([options])` - -## `decompressZstdSync([options])` - - - -* `options` {Object} - * `chunkSize` {number} Output buffer size. **Default:** `65536` (64 KB). - * `params` {Object} Key-value object where keys and values are - `zlib.constants` entries. Available decompressor parameters: - * `ZSTD_d_windowLogMax` -- maximum window size (log2) the decompressor - will allocate. Limits memory usage against malicious input. - See the [Zstd decompressor options][] in the zlib documentation for - details. - * `dictionary` {Buffer|TypedArray|DataView} -* Returns: {Object} A stateful transform. - -Create a Zstandard decompression transform. - -[Brotli compressor options]: zlib.md#compressor-options -[Brotli decompressor options]: zlib.md#decompressor-options -[RFC 7932]: https://www.rfc-editor.org/rfc/rfc7932 -[Zstd compressor options]: zlib.md#compressor-options-1 -[Zstd decompressor options]: zlib.md#decompressor-options-1 -[`node:stream/iter`]: stream_iter.md -[`pipeTo()`]: stream_iter.md#pipetosource-transforms-writer-options -[`pull()`]: stream_iter.md#pullsource-transforms-options