| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
There was a problem hiding this comment.
This is really cool. Note when I proposed implementing the "overlaying" API (scheduler.postTask) in the past people were opposed in core.
Sorry, something went wrong.
|
Yep, I happen to agree that postTask() likely doesn't make sense here, but I'm certainly willing to entertain it, but not in this PR :-) |
Sorry, something went wrong.
|
cc @nodejs/timers |
Sorry, something went wrong.
|
Are there WPTs for this API? |
Sorry, something went wrong.
|
Not yet. There are scheduler API tests in WPT but they currently focus entirely on the postTask and TaskManager APIs. |
Sorry, something went wrong.
|
this is very cool. shouldn't it be flagged if it's experimental? |
Sorry, something went wrong.
|
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 a problem hiding this comment.
lgtm
Sorry, something went wrong.
|
Shouldn't the Scheduler constructor be private like for Performance? new performance.constructor; // illegal
new timers.promises.scheduler.constructor; // allowed, in Chrome: illegal |
Sorry, something went wrong.
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 <jasnell@gmail.com> PR-URL: #40909 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Darshan Sen <raisinten@gmail.com>
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 <jasnell@gmail.com> PR-URL: #40909 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Darshan Sen <raisinten@gmail.com>
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 <jasnell@gmail.com> PR-URL: #40909 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Darshan Sen <raisinten@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: #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
| Back | FazBrowse Home | New Git URL |
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
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 jasnell@gmail.com
/cc @mcollina