Uh oh!
There was an error while loading. Please reload this page.
stream: deprecate thenable support - #40860
Conversation
Deprecate support for returning thenables in stream implementation methods. This is causing more confusion and issues than it's worth, and never was documented. Refs: nodejs#39535 Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
It’s a little unfortunate if the first LTS the removal lands in is 20. @mcollina wdyt? |
ronag
commented
Nov 18, 2021
Do we need a citgm eun for this? |
The problem with the runtime warning for this is that we actually do want users to be able to return promises… we just shouldn’t do anything with them. |
aduh95
commented
Nov 18, 2021
Hum so maybe we should privilege the doc-only deprecation, and ask a TSC vote to skip the Runtime deprecation if it's not technically feasible. |
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Matteo Collina <matteo.collina@gmail.com>
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Robert Nagy <ronagy@icloud.com>
Uh oh!
There was an error while loading. Please reload this page.
nodejs-github-bot
commented
Nov 26, 2021
Landed in 1cea391 |
Deprecate support for returning thenables in stream implementation methods. This is causing more confusion and issues than it's worth, and never was documented. Refs: #39535 Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com> PR-URL: #40860 Reviewed-By: Robert Nagy <ronagy@icloud.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Notable changes: async_hooks: * (SEMVER-MINOR) expose async_wrap providers (Rafael Gonzaga) #40760 deps: * (SEMVER-MINOR) update V8 to 9.6.180.14 (Michaël Zasso) #40488 lib: * (SEMVER-MINOR) add reason to AbortSignal (James M Snell) #40807 src: * (SEMVER-MINOR) add x509.fingerprint512 to crypto module (3nprob) #39809 stream: * deprecate thenable support (Antoine du Hamel) #40860 * fix finished regression when working with legacy Stream (Matteo Collina) #40858 PR-URL: #40983
Notable changes: async_hooks: * (SEMVER-MINOR) expose async_wrap providers (Rafael Gonzaga) #40760 deps: * (SEMVER-MINOR) update V8 to 9.6.180.14 (Michaël Zasso) #40488 lib: * (SEMVER-MINOR) add reason to AbortSignal (James M Snell) #40807 src: * (SEMVER-MINOR) add x509.fingerprint512 to crypto module (3nprob) #39809 stream: * deprecate thenable support (Antoine du Hamel) #40860 * fix finished regression when working with legacy Stream (Matteo Collina) #40858 PR-URL: #40983
Notable changes: async_hooks: * (SEMVER-MINOR) expose async_wrap providers (Rafael Gonzaga) #40760 deps: * (SEMVER-MINOR) update V8 to 9.6.180.14 (Michaël Zasso) #40488 lib: * (SEMVER-MINOR) add reason to AbortSignal (James M Snell) #40807 src: * (SEMVER-MINOR) add x509.fingerprint512 to crypto module (3nprob) #39809 stream: * deprecate thenable support (Antoine du Hamel) #40860 * fix finished regression when working with legacy Stream (Matteo Collina) #40858 PR-URL: #40983
Deprecate support for returning thenables in stream implementation methods. This is causing more confusion and issues than it's worth, and never was documented. Refs: #39535 Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com> PR-URL: #40860 Reviewed-By: Robert Nagy <ronagy@icloud.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Deprecate support for returning thenables in stream implementation methods. This is causing more confusion and issues than it's worth, and never was documented. Refs: #39535 Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com> PR-URL: #40860 Reviewed-By: Robert Nagy <ronagy@icloud.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Notable changes * async_hooks: * (SEMVER-MINOR) expose async\_wrap providers (Rafael Gonzaga) #40760 * child_process: * (SEMVER-MINOR) add support for URL to `cp.fork` (Antoine du Hamel) #41225 * doc: * add @Mesteery to collaborators (Mestery) #41543 * add @bnb as a collaborator (Tierney Cyren) #41100 * esm: * (SEMVER-MINOR) add support for JSON import assertion (Antoine du Hamel) #40250 * (SEMVER-MINOR) graduate capturerejections to supported (James M Snell) #41267 * (SEMVER-MINOR) add EventEmitterAsyncResource to core (James M Snell) #41246 * events: * (SEMVER-MINOR) propagate weak option for kNewListener (James M Snell) #40899 * lib: * (SEMVER-MINOR) make AbortSignal cloneable/transferable (James M Snell) #41050 * (SEMVER-MINOR) add AbortSignal.timeout (James M Snell) #40899 * (SEMVER-MINOR) add reason to AbortSignal (James M Snell) #40807 * (SEMVER-MINOR) add unsubscribe method to non-active DC channels (simon-id) #40433 * (SEMVER-MINOR) add return value for DC channel.unsubscribe (simon-id) #40433 * perf_hooks: * (SEMVER-MINOR) multiple fixes for Histogram (James M Snell) #41153 * process: * (SEMVER-MINOR) add `getActiveResourcesInfo()` (Darshan Sen) #40813 * src: * (SEMVER-MINOR) add x509.fingerprint512 to crypto module (3nprob) #39809 * (SEMVER-MINOR) add flags for controlling process behavior (Cheng Zhao) #40339 * stream: * (SEMVER-MINOR) add filter method to readable (Benjamin Gruenbaum) #41354 * (SEMVER-MINOR) add isReadable helper (Robert Nagy) #41199 * (SEMVER-MINOR) add map method to Readable (Benjamin Gruenbaum) #40815 * deprecate thenable support (Antoine du Hamel) #40860 * util: * (SEMVER-MINOR) pass through the inspect function to custom inspect functions (Ruben Bridgewater) #41019 * (SEMVER-MINOR) add numericSeparator to util.inspect (Ruben Bridgewater) #41003 * (SEMVER-MINOR) always visualize cause property in errors during inspection (Ruben Bridgewater) #41002 * timers: * (SEMVER-MINOR) add experimental scheduler api (James M Snell) #40909 * v8: * (SEMVER-MINOR) multi-tenant promise hook api (Stephen Belanger) #39283 PR-URL: #41804
Notable changes * async_hooks: * (SEMVER-MINOR) expose async\_wrap providers (Rafael Gonzaga) #40760 * child_process: * (SEMVER-MINOR) add support for URL to `cp.fork` (Antoine du Hamel) #41225 * doc: * add @Mesteery to collaborators (Mestery) #41543 * add @bnb as a collaborator (Tierney Cyren) #41100 * esm: * (SEMVER-MINOR) add support for JSON import assertion (Antoine du Hamel) #40250 * (SEMVER-MINOR) graduate capturerejections to supported (James M Snell) #41267 * (SEMVER-MINOR) add EventEmitterAsyncResource to core (James M Snell) #41246 * events: * (SEMVER-MINOR) propagate weak option for kNewListener (James M Snell) #40899 * lib: * (SEMVER-MINOR) make AbortSignal cloneable/transferable (James M Snell) #41050 * (SEMVER-MINOR) add AbortSignal.timeout (James M Snell) #40899 * (SEMVER-MINOR) add reason to AbortSignal (James M Snell) #40807 * (SEMVER-MINOR) add unsubscribe method to non-active DC channels (simon-id) #40433 * (SEMVER-MINOR) add return value for DC channel.unsubscribe (simon-id) #40433 * perf_hooks: * (SEMVER-MINOR) multiple fixes for Histogram (James M Snell) #41153 * process: * (SEMVER-MINOR) add `getActiveResourcesInfo()` (Darshan Sen) #40813 * src: * (SEMVER-MINOR) add x509.fingerprint512 to crypto module (3nprob) #39809 * (SEMVER-MINOR) add flags for controlling process behavior (Cheng Zhao) #40339 * stream: * (SEMVER-MINOR) add filter method to readable (Benjamin Gruenbaum) #41354 * (SEMVER-MINOR) add isReadable helper (Robert Nagy) #41199 * (SEMVER-MINOR) add map method to Readable (Benjamin Gruenbaum) #40815 * deprecate thenable support (Antoine du Hamel) #40860 * util: * (SEMVER-MINOR) pass through the inspect function to custom inspect functions (Ruben Bridgewater) #41019 * (SEMVER-MINOR) add numericSeparator to util.inspect (Ruben Bridgewater) #41003 * (SEMVER-MINOR) always visualize cause property in errors during inspection (Ruben Bridgewater) #41002 * timers: * (SEMVER-MINOR) add experimental scheduler api (James M Snell) #40909 * v8: * (SEMVER-MINOR) multi-tenant promise hook api (Stephen Belanger) #39283 PR-URL: #41804
Notable changes * async_hooks: * (SEMVER-MINOR) expose async\_wrap providers (Rafael Gonzaga) #40760 * child_process: * (SEMVER-MINOR) add support for URL to `cp.fork` (Antoine du Hamel) #41225 * doc: * add @Mesteery to collaborators (Mestery) #41543 * add @bnb as a collaborator (Tierney Cyren) #41100 * esm: * (SEMVER-MINOR) add support for JSON import assertion (Antoine du Hamel) #40250 * (SEMVER-MINOR) graduate capturerejections to supported (James M Snell) #41267 * (SEMVER-MINOR) add EventEmitterAsyncResource to core (James M Snell) #41246 * events: * (SEMVER-MINOR) propagate weak option for kNewListener (James M Snell) #40899 * lib: * (SEMVER-MINOR) make AbortSignal cloneable/transferable (James M Snell) #41050 * (SEMVER-MINOR) add AbortSignal.timeout (James M Snell) #40899 * (SEMVER-MINOR) add reason to AbortSignal (James M Snell) #40807 * (SEMVER-MINOR) add unsubscribe method to non-active DC channels (simon-id) #40433 * (SEMVER-MINOR) add return value for DC channel.unsubscribe (simon-id) #40433 * perf_hooks: * (SEMVER-MINOR) multiple fixes for Histogram (James M Snell) #41153 * process: * (SEMVER-MINOR) add `getActiveResourcesInfo()` (Darshan Sen) #40813 * src: * (SEMVER-MINOR) add x509.fingerprint512 to crypto module (3nprob) #39809 * (SEMVER-MINOR) add flags for controlling process behavior (Cheng Zhao) #40339 * stream: * (SEMVER-MINOR) add filter method to readable (Benjamin Gruenbaum) #41354 * (SEMVER-MINOR) add isReadable helper (Robert Nagy) #41199 * (SEMVER-MINOR) add map method to Readable (Benjamin Gruenbaum) #40815 * deprecate thenable support (Antoine du Hamel) #40860 * util: * (SEMVER-MINOR) pass through the inspect function to custom inspect functions (Ruben Bridgewater) #41019 * (SEMVER-MINOR) add numericSeparator to util.inspect (Ruben Bridgewater) #41003 * (SEMVER-MINOR) always visualize cause property in errors during inspection (Ruben Bridgewater) #41002 * timers: * (SEMVER-MINOR) add experimental scheduler api (James M Snell) #40909 * v8: * (SEMVER-MINOR) multi-tenant promise hook api (Stephen Belanger) #39283 PR-URL: #41804
Notable changes:
Importing JSON modules now requires experimental import assertions
syntax
This release adds experimental support for the import assertions stage 3
proposal.
To keep Node.js ESM implementation as compatible as possible with the
HTML spec, import assertions are now required to import JSON modules
(still behind the `--experimental-json-modules` CLI flag):
```mjs
import info from './package.json' assert { type: 'json' };
```
Or use dynamic import:
```mjs
const info = await import('./package.json', {
assert: { type: 'json' }
});
```
Contributed by Antoine du Hamel and Geoffrey Booth #40250
Other notable changes:
* async_hooks:
* (SEMVER-MINOR) expose async_wrap providers (Rafael Gonzaga) #40760
* child_process:
* (SEMVER-MINOR) add support for URL to `cp.fork` (Antoine du Hamel) #41225
* doc:
* add @Mesteery to collaborators (Mestery) #41543
* add @bnb as a collaborator (Tierney Cyren) #41100
* esm:
* (SEMVER-MINOR) graduate capturerejections to supported (James M Snell) #41267
* (SEMVER-MINOR) add EventEmitterAsyncResource to core (James M Snell) #41246
* events:
* (SEMVER-MINOR) propagate weak option for kNewListener (James M Snell) #40899
* fs:
* (SEMVER-MINOR) accept URL as argument for `fs.rm` and `fs.rmSync` (Antoine du Hamel) #41132
* lib:
* (SEMVER-MINOR) make AbortSignal cloneable/transferable (James M Snell) #41050
* (SEMVER-MINOR) add AbortSignal.timeout (James M Snell) #40899
* (SEMVER-MINOR) add reason to AbortSignal (James M Snell) #40807
* (SEMVER-MINOR) add unsubscribe method to non-active DC channels (simon-id) #40433
* (SEMVER-MINOR) add return value for DC channel.unsubscribe (simon-id) #40433
* loader:
* (SEMVER-MINOR) return package format from defaultResolve if known (Gabriel Bota) #40980
* perf_hooks:
* (SEMVER-MINOR) multiple fixes for Histogram (James M Snell) #41153
* process:
* (SEMVER-MINOR) add `getActiveResourcesInfo()` (Darshan Sen) #40813
* src:
* (SEMVER-MINOR) add x509.fingerprint512 to crypto module (3nprob) #39809
* (SEMVER-MINOR) add flags for controlling process behavior (Cheng Zhao) #40339
* stream:
* (SEMVER-MINOR) add filter method to readable (Benjamin Gruenbaum) #41354
* (SEMVER-MINOR) add isReadable helper (Robert Nagy) #41199
* (SEMVER-MINOR) add map method to Readable (Benjamin Gruenbaum) #40815
* deprecate thenable support (Antoine du Hamel) #40860
* util:
* (SEMVER-MINOR) pass through the inspect function to custom inspect functions (Ruben Bridgewater) #41019
* (SEMVER-MINOR) add numericSeparator to util.inspect (Ruben Bridgewater) #41003
* (SEMVER-MINOR) always visualize cause property in errors during inspection (Ruben Bridgewater) #41002
* timers:
* (SEMVER-MINOR) add experimental scheduler api (James M Snell) #40909
* v8:
* (SEMVER-MINOR) multi-tenant promise hook api (Stephen Belanger) #39283
PR-URL: #41804Notable changes:
Importing JSON modules now requires experimental import assertions
syntax
This release adds experimental support for the import assertions stage 3
proposal.
To keep Node.js ESM implementation as compatible as possible with the
HTML spec, import assertions are now required to import JSON modules
(still behind the `--experimental-json-modules` CLI flag):
```mjs
import info from './package.json' assert { type: 'json' };
```
Or use dynamic import:
```mjs
const info = await import('./package.json', {
assert: { type: 'json' }
});
```
Contributed by Antoine du Hamel and Geoffrey Booth #40250
Other notable changes:
* async_hooks:
* (SEMVER-MINOR) expose async_wrap providers (Rafael Gonzaga) #40760
* child_process:
* (SEMVER-MINOR) add support for URL to `cp.fork` (Antoine du Hamel) #41225
* doc:
* add @Mesteery to collaborators (Mestery) #41543
* add @bnb as a collaborator (Tierney Cyren) #41100
* esm:
* (SEMVER-MINOR) graduate capturerejections to supported (James M Snell) #41267
* (SEMVER-MINOR) add EventEmitterAsyncResource to core (James M Snell) #41246
* events:
* (SEMVER-MINOR) propagate weak option for kNewListener (James M Snell) #40899
* fs:
* (SEMVER-MINOR) accept URL as argument for `fs.rm` and `fs.rmSync` (Antoine du Hamel) #41132
* lib:
* (SEMVER-MINOR) make AbortSignal cloneable/transferable (James M Snell) #41050
* (SEMVER-MINOR) add AbortSignal.timeout (James M Snell) #40899
* (SEMVER-MINOR) add reason to AbortSignal (James M Snell) #40807
* (SEMVER-MINOR) add unsubscribe method to non-active DC channels (simon-id) #40433
* (SEMVER-MINOR) add return value for DC channel.unsubscribe (simon-id) #40433
* loader:
* (SEMVER-MINOR) return package format from defaultResolve if known (Gabriel Bota) #40980
* perf_hooks:
* (SEMVER-MINOR) multiple fixes for Histogram (James M Snell) #41153
* process:
* (SEMVER-MINOR) add `getActiveResourcesInfo()` (Darshan Sen) #40813
* src:
* (SEMVER-MINOR) add x509.fingerprint512 to crypto module (3nprob) #39809
* (SEMVER-MINOR) add flags for controlling process behavior (Cheng Zhao) #40339
* stream:
* (SEMVER-MINOR) add filter method to readable (Benjamin Gruenbaum) #41354
* (SEMVER-MINOR) add isReadable helper (Robert Nagy) #41199
* (SEMVER-MINOR) add map method to Readable (Benjamin Gruenbaum) #40815
* deprecate thenable support (Antoine du Hamel) #40860
* util:
* (SEMVER-MINOR) pass through the inspect function to custom inspect functions (Ruben Bridgewater) #41019
* (SEMVER-MINOR) add numericSeparator to util.inspect (Ruben Bridgewater) #41003
* (SEMVER-MINOR) always visualize cause property in errors during inspection (Ruben Bridgewater) #41002
* timers:
* (SEMVER-MINOR) add experimental scheduler api (James M Snell) #40909
* v8:
* (SEMVER-MINOR) multi-tenant promise hook api (Stephen Belanger) #39283
PR-URL: #41804Notable changes:
Importing JSON modules now requires experimental import assertions
syntax
This release adds experimental support for the import assertions stage 3
proposal.
To keep Node.js ESM implementation as compatible as possible with the
HTML spec, import assertions are now required to import JSON modules
(still behind the `--experimental-json-modules` CLI flag):
```mjs
import info from './package.json' assert { type: 'json' };
```
Or use dynamic import:
```mjs
const info = await import('./package.json', {
assert: { type: 'json' }
});
```
Contributed by Antoine du Hamel and Geoffrey Booth #40250
Other notable changes:
* async_hooks:
* (SEMVER-MINOR) expose async_wrap providers (Rafael Gonzaga) #40760
* child_process:
* (SEMVER-MINOR) add support for URL to `cp.fork` (Antoine du Hamel) #41225
* doc:
* add @Mesteery to collaborators (Mestery) #41543
* add @bnb as a collaborator (Tierney Cyren) #41100
* esm:
* (SEMVER-MINOR) graduate capturerejections to supported (James M Snell) #41267
* (SEMVER-MINOR) add EventEmitterAsyncResource to core (James M Snell) #41246
* events:
* (SEMVER-MINOR) propagate weak option for kNewListener (James M Snell) #40899
* fs:
* (SEMVER-MINOR) accept URL as argument for `fs.rm` and `fs.rmSync` (Antoine du Hamel) #41132
* lib:
* (SEMVER-MINOR) make AbortSignal cloneable/transferable (James M Snell) #41050
* (SEMVER-MINOR) add AbortSignal.timeout (James M Snell) #40899
* (SEMVER-MINOR) add reason to AbortSignal (James M Snell) #40807
* (SEMVER-MINOR) add unsubscribe method to non-active DC channels (simon-id) #40433
* (SEMVER-MINOR) add return value for DC channel.unsubscribe (simon-id) #40433
* loader:
* (SEMVER-MINOR) return package format from defaultResolve if known (Gabriel Bota) #40980
* perf_hooks:
* (SEMVER-MINOR) multiple fixes for Histogram (James M Snell) #41153
* process:
* (SEMVER-MINOR) add `getActiveResourcesInfo()` (Darshan Sen) #40813
* src:
* (SEMVER-MINOR) add x509.fingerprint512 to crypto module (3nprob) #39809
* (SEMVER-MINOR) add flags for controlling process behavior (Cheng Zhao) #40339
* stream:
* (SEMVER-MINOR) add filter method to readable (Benjamin Gruenbaum) #41354
* (SEMVER-MINOR) add isReadable helper (Robert Nagy) #41199
* (SEMVER-MINOR) add map method to Readable (Benjamin Gruenbaum) #40815
* deprecate thenable support (Antoine du Hamel) #40860
* util:
* (SEMVER-MINOR) pass through the inspect function to custom inspect functions (Ruben Bridgewater) #41019
* (SEMVER-MINOR) add numericSeparator to util.inspect (Ruben Bridgewater) #41003
* (SEMVER-MINOR) always visualize cause property in errors during inspection (Ruben Bridgewater) #41002
* timers:
* (SEMVER-MINOR) add experimental scheduler api (James M Snell) #40909
* v8:
* (SEMVER-MINOR) multi-tenant promise hook api (Stephen Belanger) #39283
PR-URL: #41804
Deprecate support for returning thenables in stream implementation methods. This is causing more confusion and issues than it's worth, and never was documented.
The plan is to remove it completely in a future semver-major (probably v19.0.0).
Refs: #39535
Refs: #40773 (comment)