GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||
GeezerVison is showing github.com — timers: add experimental scheduler api by jasnell · Pull Request #40909 · nodejs/node Conversation
|
|
Yep, I happen to agree that |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
cc @nodejs/timers |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Are there WPTs for this API? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Not yet. There are |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
this is very cool. shouldn't it be flagged if it's experimental? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Since it requires explicit opt in by requiring, a flag shouldn't be necessary and really wouldn't be helpful |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
Shouldn't the new performance.constructor; // illegal new timers.promises.scheduler.constructor; // allowed, in Chrome: illegal |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
OpenSSL-3.0.1: OpenSSL-3.0.1 contains a fix for CVE-2021-4044: Invalid handling of X509_verify_cert() internal errors in libssl (Moderate). This is a vulnerability in OpenSSL that may be exploited through Node.js. More information can be read here: https://www.openssl.org/news/secadv/20211214.txt. Contributed by Richard Lau #41177 Other Notable Changes: * lib: * make AbortSignal cloneable/transferable (James M Snell) #41050 * deps: * upgrade npm to 8.3.0 (npm team) #41127 * doc: * add @bnb as a collaborator (Tierney Cyren) #41100 * process: * add `getActiveResourcesInfo()` (Darshan Sen) #40813 * timers: * add experimental scheduler api (James M Snell) #40909 PR-URL: #41167
OpenSSL-3.0.1: OpenSSL-3.0.1 contains a fix for CVE-2021-4044: Invalid handling of X509_verify_cert() internal errors in libssl (Moderate). This is a vulnerability in OpenSSL that may be exploited through Node.js. More information can be read here: https://www.openssl.org/news/secadv/20211214.txt. Contributed by Richard Lau #41177 Other Notable Changes: * lib: * make AbortSignal cloneable/transferable (James M Snell) #41050 * deps: * upgrade npm to 8.3.0 (npm team) #41127 * doc: * add @bnb as a collaborator (Tierney Cyren) #41100 * process: * add `getActiveResourcesInfo()` (Darshan Sen) #40813 * timers: * add experimental scheduler api (James M Snell) #40909 PR-URL: #41167
OpenSSL-3.0.1: OpenSSL-3.0.1 contains a fix for CVE-2021-4044: Invalid handling of X509_verify_cert() internal errors in libssl (Moderate). This is a vulnerability in OpenSSL that may be exploited through Node.js. More information can be read here: https://www.openssl.org/news/secadv/20211214.txt. Contributed by Richard Lau #41177 Other Notable Changes: * lib: * make AbortSignal cloneable/transferable (James M Snell) #41050 * deps: * upgrade npm to 8.3.0 (npm team) #41127 * doc: * add @bnb as a collaborator (Tierney Cyren) #41100 * process: * add `getActiveResourcesInfo()` (Darshan Sen) #40813 * timers: * add experimental scheduler api (James M Snell) #40909 PR-URL: #41167
Adds experimental implementations of the yield and wait APIs being explored at https://github.com/WICG/scheduling-apis. When I asked the WHATWG folks about the possibility of standardizing the [awaitable versions of setTimeout/setImmediate](whatwg/html#7340) that we have implemented in `timers/promises`, they pointed at the work in progress scheduling APIs draft as they direction they'll be going. While there is definitely a few thing in that draft that have questionable utility to Node.js, the yield and wait APIs map cleanly to the setImmediate and setTimeout we already have. Signed-off-by: James M Snell <[email protected]> PR-URL: #40909 Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: Darshan Sen <[email protected]>
Adds experimental implementations of the yield and wait APIs being explored at https://github.com/WICG/scheduling-apis. When I asked the WHATWG folks about the possibility of standardizing the [awaitable versions of setTimeout/setImmediate](whatwg/html#7340) that we have implemented in `timers/promises`, they pointed at the work in progress scheduling APIs draft as they direction they'll be going. While there is definitely a few thing in that draft that have questionable utility to Node.js, the yield and wait APIs map cleanly to the setImmediate and setTimeout we already have. Signed-off-by: James M Snell <[email protected]> PR-URL: #40909 Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: Darshan Sen <[email protected]>
Adds experimental implementations of the yield and wait APIs being explored at https://github.com/WICG/scheduling-apis. When I asked the WHATWG folks about the possibility of standardizing the [awaitable versions of setTimeout/setImmediate](whatwg/html#7340) that we have implemented in `timers/promises`, they pointed at the work in progress scheduling APIs draft as they direction they'll be going. While there is definitely a few thing in that draft that have questionable utility to Node.js, the yield and wait APIs map cleanly to the setImmediate and setTimeout we already have. Signed-off-by: James M Snell <[email protected]> PR-URL: #40909 Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: Darshan Sen <[email protected]>
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: #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: #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: #41804
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.