GeezerVison is showing github.com — v22.8.0 proposal by RafaelGSS · Pull Request #54560 · nodejs/node
Conversation
RafaelGSS
commented
Aug 25, 2024
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
2024-09-03, Version 22.8.0 (Current), @RafaelGSS
New JS API for compile cache
This release adds a new API module.enableCompileCache() that can be used to enable on-disk code caching of all modules loaded after this API is called.
Previously this could only be enabled by the NODE_COMPILE_CACHE environment variable, so it could only set by end-users.
This API allows tooling and library authors to enable caching of their own code.
This is a built-in alternative to the v8-compile-cache/v8-compile-cache-lib packages,
but have better performance and supports ESM.
Thanks to Joyee Cheung for working on this.
New option for vm.createContext() to create a context with a freezable globalThis
Node.js implements a flavor of vm.createContext() and friends that creates a context without contextifying its global
object when vm.constants.DONT_CONTEXTIFY is used. This is suitable when users want to freeze the context
(impossible when the global is contextified i.e. has interceptors installed) or speed up the global access if they
don't need the interceptor behavior.
Thanks to Joyee Cheung for working on this.
Support for coverage thresholds
Node.js now supports requiring code coverage to meet a specific threshold before the process exits successfully.
To use this feature, you need to enable the --experimental-test-coverage flag.
You can set thresholds for the following types of coverage:
- Branch coverage: Use
--test-coverage-branches=<threshold>
- Function coverage: Use
--test-coverage-functions=<threshold>
- Line coverage: Use
--test-coverage-lines=<threshold>
<threshold> should be an integer between 0 and 100. If an invalid value is provided, a TypeError will be thrown.
If the code coverage fails to meet the specified thresholds for any category, the process will exit with code 1.
For instance, to enforce a minimum of 80% line coverage and 60% branch coverage, you can run:
$ node --experimental-test-coverage --test-coverage-lines=80 --test-coverage-branches=60 example.js
Thanks Aviv Keller for working on this.
Other Notable Changes
- [
1f2cc2fa47] - (SEMVER-MINOR) src,lib: add performance.uvMetricsInfo (Rafael Gonzaga) #54413
- [
1e01bdc0d0] - (SEMVER-MINOR) net: exclude ipv6 loopback addresses from server.listen (Giovanni Bucci) #54264
- [
97fa075c2e] - (SEMVER-MINOR) test_runner: support running tests in process (Colin Ihrig) #53927
- [
858b583c88] - (SEMVER-MINOR) test_runner: defer inheriting hooks until run() (Colin Ihrig) #53927
Commits
- [
94985df9d6] - benchmark: fix benchmark for file path and URL conversion (Early Riser) #54190
- [
ac178b094b] - buffer: truncate instead of throw when writing beyond buffer (Robert Nagy) #54524
- [
afd8c1eb4f] - buffer: allow invalid encoding in from (Robert Nagy) #54533
- [
6f0cf35cd3] - build: reclaim disk space on macOS GHA runner (jakecastelli) #54658
- [
467ac3aec4] - build: don't clean obj.target directory if it doesn't exist (Joyee Cheung) #54337
- [
71fdf961df] - build: update required python version to 3.8 (Aviv Keller) #54358
- [
73604cf1c5] - deps: update nghttp2 to 1.63.0 (Node.js GitHub Bot) #54589
- [
b00c087285] - deps: V8: cherry-pick e74d0f437fcd (Joyee Cheung) #54279
- [
33a6b3c7a9] - deps: backport ICU-22787 to fix ClangCL on Windows (Stefan Stojanovic) #54502
- [
fe56949cbb] - deps: update c-ares to v1.33.1 (Node.js GitHub Bot) #54549
- [
290f6ce619] - deps: update amaro to 0.1.8 (Node.js GitHub Bot) #54520
- [
b5843568b4] - deps: update amaro to 0.1.7 (Node.js GitHub Bot) #54473
- [
9c709209b4] - deps: update undici to 6.19.8 (Node.js GitHub Bot) #54456
- [
a5ce24181b] - deps: sqlite: fix Windows compilation (Colin Ihrig) #54433
- [
3caf29ea88] - deps: update sqlite to 3.46.1 (Node.js GitHub Bot) #54433
- [
68758d4b08] - doc: add support me link for anonrig (Yagiz Nizipli) #54611
- [
f5c5529266] - doc: add alert on REPL from TCP socket (Rafael Gonzaga) #54594
- [
bf824483cd] - doc: fix typo in styleText description (Rafael Gonzaga) #54616
- [
825d933fd4] - doc: add getHeapStatistics() property descriptions (Benji Marinacci) #54584
- [
80e5150160] - doc: fix module compile cache description (沈鸿飞) #54625
- [
7fd033fe56] - doc: run license-builder (github-actions[bot]) #54562
- [
c499913732] - doc: fix information about including coverage files (Aviv Keller) #54527
- [
c3dc83befc] - doc: support collaborators - talk amplification (Michael Dawson) #54508
- [
fc57beaad3] - doc: add note about shasum generation failure (Marco Ippolito) #54487
- [
1800a58f49] - doc: update websocket flag description to reflect stable API status (Yelim Koo) #54482
- [
61affd77a7] - doc: fix capitalization in module.md (shallow-beach) #54488
- [
25419915c7] - doc: add esm examples to node:https (Alfredo González) #54399
- [
83b5efeb54] - doc: reserve ABI 130 for Electron 33 (Calvin) #54383
- [
6ccbd32ae8] - doc, meta: add missing , to BUILDING.md (Aviv Keller) #54409
- [
fc08a9b0cd] - fs: refactor handleTimestampsAndMode to remove redundant call (HEESEUNG) #54369
- [
4a664b5fcb] - lib: respect terminal capabilities on styleText (Rafael Gonzaga) #54389
- [
a9ce2b6a28] - lib: fix emit warning for debuglog.time when disabled (Vinicius Lourenço) #54275
- [
b5a23c9783] - meta: remind users to use a supported version in bug reports (Aviv Keller) #54481
- [
0d7171d8e9] - meta: add more labels to dep-updaters (Aviv Keller) #54454
- [
c4996c189f] - meta: run coverage-windows when vcbuild.bat updated (Aviv Keller) #54412
- [
3cf645768e] - module: use amaro default transform values (Marco Ippolito) #54517
- [
336496b90e] - module: add sourceURL magic comment hinting generated source (Chengzhong Wu) #54402
- [
04f83b50ad] - Revert "net: validate host name for server listen" (jakecastelli) #54554
- [
1e01bdc0d0] - (SEMVER-MINOR) net: exclude ipv6 loopback addresses from server.listen (Giovanni Bucci) #54264
- [
3cd10a3f40] - node-api: remove RefBase and CallbackWrapper (Vladimir Morozov) #53590
- [
72c554abab] - sqlite: return results with null prototype (Michaël Zasso) #54350
- [
e071651bb2] - src: disable fast methods for buffer.write (Michaël Zasso) #54565
- [
f8cbbc685a] - src: use v8::Isolate::GetDefaultLocale() to compute navigator.language (Joyee Cheung) #54279
- [
4baf4637eb] - (SEMVER-MINOR) src: add JS APIs for compile cache and NODE_DISABLE_COMPILE_CACHE (Joyee Cheung) #54501
- [
101e299656] - src: move more crypto_dh.cc code to ncrypto (James M Snell) #54459
- [
e6e1f4e8bd] - src: remove redundant AESCipherMode (Tobias Nießen) #54438
- [
1ff3f63f5e] - src: handle errors correctly in permission.cc (Michaël Zasso) #54541
- [
4938188682] - src: return v8::Object from error constructors (Michaël Zasso) #54541
- [
4578e9485b] - src: use better return types in KVStore (Michaël Zasso) #54539
- [
7d9e994791] - src: change SetEncodedValue to return Maybe<void> (Tobias Nießen) #54443
- [
eef303028f] - src: remove cached data tag from snapshot metadata (Joyee Cheung) #54122
- [
3a74c400d5] - src: improve buffer.transcode performance (Yagiz Nizipli) #54153
- [
909c5320fd] - src: move more crypto code to ncrypto (James M Snell) #54320
- [
9ba75faf5f] - (SEMVER-MINOR) src,lib: add performance.uvMetricsInfo (Rafael Gonzaga) #54413
- [
fffc300c6d] - stream: change stream to use index instead of for...of (Wiyeong Seo) #54474
- [
a4a6ef8d29] - test: fix test-tls-client-auth test for OpenSSL32 (Michael Dawson) #54610
- [
76345a5d7c] - test: update TLS test for OpenSSL 3.2 (Richard Lau) #54612
- [
522d5a359d] - test: run V8 Fast API tests in release mode too (Michaël Zasso) #54570
- [
edbecf5209] - test: increase key size for ca2-cert.pem (Michael Dawson) #54599
- [
bc976cfc93] - test: update test-abortsignal-cloneable to use node:test (James M Snell) #54581
- [
9f1ce732a8] - test: update test-assert-typedarray-deepequal to use node:test (James M Snell) #54585
- [
c74f2aeb92] - test: update test-assert to use node:test (James M Snell) #54585
- [
a0be95e4cc] - test: merge ongc and gcutil into gc.js (tannal) #54355
- [
c10aff665e] - test: move a couple of tests over to using node:test (James M Snell) #54582
- [
dbbc790949] - test: update test-aborted-util to use node:test (James M Snell) #54578
- [
64442fce6b] - test: refactor test-abortcontroller to use node:test (James M Snell) #54574
- [
72345dee1c] - test: fix embedding test for Windows (Vladimir Morozov) #53659
- [
846e2b2896] - test: refactor test_runner tests to change default reporter (Colin Ihrig) #54547
- [
b5eb24c86a] - test: force spec reporter in test-runner-watch-mode.mjs (Colin Ihrig) #54538
- [
66ae9f4c0a] - test: use valid hostnames (Luigi Pinca) #54556
- [
02d664b75f] - test: fix improper path to URL conversion (Antoine du Hamel) #54509
- [
8a4f8a9eff] - test: add tests for runner coverage with different stdout column widths (Pietro Marchini) #54494
- [
b0ed8dbb2f] - test: prevent V8 from writing into the system's tmpdir (Michaël Zasso) #54395
- [
5ee234a5a6] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #54593
- [
a4bebf8559] - test_runner: ensure test watcher picks up new test files (Pietro Marchini) #54225
- [
d4310fe9c1] - (SEMVER-MINOR) test_runner: add support for coverage thresholds (Aviv Keller) #54429
- [
0cf78aa24b] - test_runner: refactor mock_loader (Antoine du Hamel) #54223
- [
97fa075c2e] - (SEMVER-MINOR) test_runner: support running tests in process (Colin Ihrig) #53927
- [
858b583c88] - (SEMVER-MINOR) test_runner: defer inheriting hooks until run() (Colin Ihrig) #53927
- [
45b0250692] - test_runner: account for newline in source maps (Colin Ihrig) #54444
- [
1c29e74d30] - test_runner: make mock.module's specifier consistent with import() (Antoine du Hamel) #54416
- [
cbe30a02a3] - test_runner: finish build phase before running tests (Colin Ihrig) #54423
- [
8a4b26f00c] - timers: fix validation (Paolo Insogna) #54404
- [
38798140c4] - tools: remove unused python files (Aviv Keller) #53928
- [
da6c61def8] - tools: add swc license (Marco Ippolito) #54462
- [
16d4c437e1] - typings: provide internal types for wasi bindings (Andrew Moon) #54119
- [
fe5666f006] - vm: return all own names and symbols in property enumerator interceptor (Chengzhong Wu) #54522
- [
db80eac496] - (SEMVER-MINOR) vm: introduce vanilla contexts via vm.constants.DONT_CONTEXTIFY (Joyee Cheung) #54394
- [
8ffdd1e2b2] - zlib: simplify validators (Yagiz Nizipli) #54442
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
tlhunter, TimJohns, LenoM, and bricss reacted with thumbs up emoji
bricss and electrovir reacted with hooray emoji
bricss reacted with heart emoji
bricss, electrovir, digiz3d, and LenoM reacted with rocket emoji
All reactions
-
👍
4 reactions
-
🎉
2 reactions
-
❤️
1 reaction
-
🚀
4 reactions
This commit updates the test runner to wait for suites to finish
building before starting any tests. This is necessary when test
filtering is enabled, as suites may transition from filtered to
not filtered depending on what is inside of them.
Fixes: #54084
Fixes: #54154
PR-URL: #54423
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Moshe Atlow <[email protected]>
Reviewed-By: Jake Yuesong Li <[email protected]>
The previous implementation was trying to follow both `require` and
`import` conventions. It is not practical to try to follow both,
and aligning with `import()` seems to be what makes the most sense.
PR-URL: #54416
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Moshe Atlow <[email protected]>
Source map is not necessary in strip-only mode. However, to map the
source file in debuggers to the original TypeScript source, add a
sourceURL magic comment to hint that it is a generated source.
PR-URL: #54402
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Kohei Ueno <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
This commit updates the way the test runner computes inherited
hooks. Instead of computing them when the Test/Suite is
constructed, they are now computed just prior to running the
Test/Suite. The reason is because when multiple test files are
run in the same process, it is possible for the inherited hooks
to change as more files are loaded.
PR-URL: #53927
Fixes: #51548
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
|
Review requested:
- @nodejs/actions
- @nodejs/security-wg
- @nodejs/tsc
- @nodejs/typescript
- @nodejs/v8-update
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
nodejs-github-bot
added
build
Issues and PRs related to Node.js builds or CI infrastructure.
dependencies
PRs that add, update, or configure Node.js dependencies.
doc
Issues and PRs related to Node.js documentation.
meta
Issues and PRs related to the general management of the project.
needs-ci
PRs that need a full CI run.
sqlite
Issues and PRs related to the SQLite subsystem.
strip-types
Issues and PRs related to TypeScript type stripping.
v22.x
Issues that can be reproduced on v22.x or PRs targeting the v22.x-staging branch.
labels
Aug 25, 2024
RafaelGSS
added a commit
that referenced
this pull request
Aug 25, 2024
Notable changes:
net:
* (SEMVER-MINOR) exclude ipv6 loopback addresses from server.listen (Giovanni Bucci) #54264
test_runner:
* (SEMVER-MINOR) add support for coverage thresholds (Aviv Keller) #54429
* (SEMVER-MINOR) support running tests in process (Colin Ihrig) #53927
* (SEMVER-MINOR) defer inheriting hooks until run() (Colin Ihrig) #53927
PR-URL: #54560
RafaelGSS
removed
doc
Issues and PRs related to Node.js documentation.
build
Issues and PRs related to Node.js builds or CI infrastructure.
meta
Issues and PRs related to the general management of the project.
dependencies
PRs that add, update, or configure Node.js dependencies.
v22.x
Issues that can be reproduced on v22.x or PRs targeting the v22.x-staging branch.
sqlite
Issues and PRs related to the SQLite subsystem.
strip-types
Issues and PRs related to TypeScript type stripping.
labels
Aug 25, 2024
|
Nit: "Support to coverage thresholds" -> "Support for coverage thresholds"
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
Is 22.8.0 still expected to go out today? We are awaiting it as (hopefully) a fix for #54518 (comment)
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Is 22.8.0 still expected to go out today? We are awaiting it as (hopefully) a fix for #54518 (comment)
Yes. We're doing our best. Currently, waiting for CI to finish.
|
tryb3l reacted with thumbs up emoji
Roemerb, avivkeller, and 7rulnik reacted with heart emoji
asomethings, eugene1g, and styfle reacted with rocket emoji
All reactions
-
👍
1 reaction
-
❤️
3 reactions
-
🚀
3 reactions
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
RafaelGSS
added a commit
that referenced
this pull request
Sep 2, 2024
Notable changes:
net:
* (SEMVER-MINOR) exclude ipv6 loopback addresses from server.listen (Giovanni Bucci) #54264
src:
* (SEMVER-MINOR) add JS APIs for compile cache and NODE_DISABLE_COMPILE_CACHE (Joyee Cheung) #54501
src,lib:
* (SEMVER-MINOR) add performance.uvMetricsInfo (Rafael Gonzaga) #54413
test_runner:
* (SEMVER-MINOR) add support for coverage thresholds (Aviv Keller) #54429
* (SEMVER-MINOR) support running tests in process (Colin Ihrig) #53927
* (SEMVER-MINOR) defer inheriting hooks until run() (Colin Ihrig) #53927
vm:
* (SEMVER-MINOR) introduce vanilla contexts via vm.constants.DONT_CONTEXTIFY (Joyee Cheung) #54394
PR-URL: #54560
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
Unlikely to be released today (02/09). CI still running.
|
nodegin reacted with thumbs down emoji
eugene1g and Wazbat reacted with heart emoji
avivkeller, 7rulnik, and Wazbat reacted with eyes emoji
All reactions
-
👎
1 reaction
-
❤️
2 reactions
-
👀
3 reactions
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Notable changes:
net:
* (SEMVER-MINOR) exclude ipv6 loopback addresses from server.listen (Giovanni Bucci) #54264
src:
* (SEMVER-MINOR) add JS APIs for compile cache and NODE_DISABLE_COMPILE_CACHE (Joyee Cheung) #54501
src,lib:
* (SEMVER-MINOR) add performance.uvMetricsInfo (Rafael Gonzaga) #54413
test_runner:
* (SEMVER-MINOR) add support for coverage thresholds (Aviv Keller) #54429
* (SEMVER-MINOR) support running tests in process (Colin Ihrig) #53927
* (SEMVER-MINOR) defer inheriting hooks until run() (Colin Ihrig) #53927
vm:
* (SEMVER-MINOR) introduce vanilla contexts via vm.constants.DONT_CONTEXTIFY (Joyee Cheung) #54394
PR-URL: #54560
|
Hopefully this can be landed today (3/9)
The buffer error have been preventing us from deploying for a week.
|
Wazbat, unilynx, aryamohanan, lerouxb, and alecKent reacted with thumbs up emoji
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
RafaelGSS
added a commit
that referenced
this pull request
Sep 3, 2024
Notable changes:
net:
* (SEMVER-MINOR) exclude ipv6 loopback addresses from server.listen (Giovanni Bucci) #54264
src:
* (SEMVER-MINOR) add JS APIs for compile cache and NODE_DISABLE_COMPILE_CACHE (Joyee Cheung) #54501
src,lib:
* (SEMVER-MINOR) add performance.uvMetricsInfo (Rafael Gonzaga) #54413
test_runner:
* (SEMVER-MINOR) add support for coverage thresholds (Aviv Keller) #54429
* (SEMVER-MINOR) support running tests in process (Colin Ihrig) #53927
* (SEMVER-MINOR) defer inheriting hooks until run() (Colin Ihrig) #53927
vm:
* (SEMVER-MINOR) introduce vanilla contexts via vm.constants.DONT_CONTEXTIFY (Joyee Cheung) #54394
PR-URL: #54560
reillylm
added a commit
to reillylm/DefinitelyTyped
that referenced
this pull request
Feb 6, 2026
reillylm
added a commit
to reillylm/DefinitelyTyped
that referenced
this pull request
Feb 6, 2026
Reviewers
mcollina
mcollina approved these changes
ronag
ronag approved these changes
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Labels
needs-ci
PRs that need a full CI run.
release
Issues and PRs related to Node.js releases.
v22.x
Issues that can be reproduced on v22.x or PRs targeting the v22.x-staging branch.
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
Uh oh!
There was an error while loading. Please reload this page.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
|