Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update node.js to v20 #3084

Merged
merged 1 commit into from
Jul 25, 2024
Merged

chore(deps): update node.js to v20 #3084

merged 1 commit into from
Jul 25, 2024

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Oct 24, 2023

Mend Renovate

This PR contains the following updates:

Package Type Update Change Age Adoption Passing Confidence
node final major 18-bullseye -> 20-bullseye age adoption passing confidence
@types/node (source) devDependencies major 18.16.16 -> 20.14.12 age adoption passing confidence
@types/node (source) dependencies major ^18.11.19 -> ^20.0.0 age adoption passing confidence
@types/node (source) dependencies major 18.16.16 -> 20.14.12 age adoption passing confidence

Release Notes

nodejs/node (node)

v20.15.1: 2024-07-08, Version 20.15.1 'Iron' (LTS), @​RafaelGSS

Compare Source

This is a security release.

Notable Changes
Commits

v20.15.0: 2024-06-20, Version 20.15.0 'Iron' (LTS), @​marco-ippolito

Compare Source

test_runner: support test plans

It is now possible to count the number of assertions and subtests that are expected to run within a test. If the number of assertions and subtests that run does not match the expected count, the test will fail.

test('top level test', (t) => {
  t.plan(2);
  t.assert.ok('some relevant assertion here');
  t.subtest('subtest', () => {});
});

Contributed by Colin Ihrig in #​52860

inspector: introduce the --inspect-wait flag

This release introduces the --inspect-wait flag, which allows debugger to wait for attachement. This flag is useful when you want to debug the code from the beginning. Unlike --inspect-brk, which breaks on the first line, this flag waits for debugger to be connected and then runs the code as soon as a session is established.

Contributed by Kohei Ueno in #​52734

zlib: expose zlib.crc32()

This release exposes the crc32() function from zlib to user-land.

It computes a 32-bit Cyclic Redundancy Check checksum of data. If
value is specified, it is used as the starting value of the checksum,
otherwise, 0 is used as the starting value.

The CRC algorithm is designed to compute checksums and to detect error
in data transmission. It's not suitable for cryptographic authentication.

const zlib = require('node:zlib');
const { Buffer } = require('node:buffer');

let crc = zlib.crc32('hello');  // 907060870
crc = zlib.crc32('world', crc);  // 4192936109

crc = zlib.crc32(Buffer.from('hello', 'utf16le'));  // 1427272415
crc = zlib.crc32(Buffer.from('world', 'utf16le'), crc);  // 4150509955

Contributed by Joyee Cheung in #​52692

cli: allow running wasm in limited vmem with --disable-wasm-trap-handler

By default, Node.js enables trap-handler-based WebAssembly bound
checks. As a result, V8 does not need to insert inline bound checks
int the code compiled from WebAssembly which may speedup WebAssembly
execution significantly, but this optimization requires allocating
a big virtual memory cage (currently 10GB). If the Node.js process
does not have access to a large enough virtual memory address space
due to system configurations or hardware limitations, users won't
be able to run any WebAssembly that involves allocation in this
virtual memory cage and will see an out-of-memory error.

$ ulimit -v 5000000
$ node -p "new WebAssembly.Memory({ initial: 10, maximum: 100 });"
[eval]:1
new WebAssembly.Memory({ initial: 10, maximum: 100 });
^

RangeError: WebAssembly.Memory(): could not allocate memory
    at [eval]:1:1
    at runScriptInThisContext (node:internal/vm:209:10)
    at node:internal/process/execution:118:14
    at [eval]-wrapper:6:24
    at runScript (node:internal/process/execution:101:62)
    at evalScript (node:internal/process/execution:136:3)
    at node:internal/main/eval_string:49:3

--disable-wasm-trap-handler disables this optimization so that
users can at least run WebAssembly (with a less optimial performance)
when the virtual memory address space available to their Node.js
process is lower than what the V8 WebAssembly memory cage needs.

Contributed by Joyee Cheung in #​52766

Other Notable Changes
Commits

v20.14.0: 2024-05-28, Version 20.14.0 'Iron' (LTS), @​marco-ippolito

Compare Source

Notable Changes
Commits

v20.13.1: 2024-05-09, Version 20.13.1 'Iron' (LTS), @​marco-ippolito

Compare Source

2024-05-09, Version 20.13.1 'Iron' (LTS), @​marco-ippolito

Revert "tools: install npm PowerShell scripts on Windows"

Due to a regression in the npm installation on Windows, this commit reverts the change that installed npm PowerShell scripts on Windows.

Commits
  • [b7d80802cc] - Revert "tools: install npm PowerShell scripts on Windows" (marco-ippolito) #​52897

v20.13.0: 2024-05-07, Version 20.13.0 'Iron' (LTS), @​marco-ippolito

Compare Source

2024-05-07, Version 20.13.0 'Iron' (LTS), @​marco-ippolito

buffer: improve base64 and base64url performance

The performance of the base64 and base64url encoding and decoding functions has been improved significantly.

Contributed by Yagiz Nizipli in #​52428

crypto: deprecate implicitly shortened GCM tags

This release, introduces a doc-only deprecation of using GCM authentication tags that are shorter than the cipher's block size, unless the user specified the authTagLength option.

Contributed by Tobias Nießen in #​52345

events,doc: mark CustomEvent as stable

From this release CustomEvent has been marked stable.

Contributed by Daeyeon Jeong in #​52618

fs: add stacktrace to fs/promises

Sync functions in fs throwed an error with a stacktrace which is helpful for debugging. But functions in fs/promises throwed an error without a stacktrace. This commit adds stacktraces by calling Error.captureStacktrace and re-throwing the error.

Contributed by 翠 / green in #​49849

report: add --report-exclude-network option

New option --report-exclude-network, also available as report.excludeNetwork, enables the user to exclude networking interfaces in their diagnostic report. On some systems, this can cause the report to take minutes to generate so this option can be used to optimize that.

Contributed by Ethan Arrowood in #​51645

src: add uv_get_available_memory to report and process

From this release it is possible to get the available memory in the system by calling process.getAvailableMemory().

Contributed by theanarkh #​52023

stream: support typed arrays

This commit adds support for typed arrays in streams.

Contributed by IlyasShabi #​51866

util: support array of formats in util.styleText

It is now possible to pass an array of format strings to util.styleText to apply multiple formats to the same text.

console.log(util.styleText(['underline', 'italic'], 'My italic underlined message'));

Contributed by Marco Ippolito in #​52040

v8: implement v8.queryObjects() for memory leak regression testing

This is similar to the queryObjects() console API provided by the Chromium DevTools console. It can be used to search for objects that have the matching constructor on its prototype chain in the heap after a full garbage collection, which can be useful for memory leak regression tests.
To avoid surprising results, users should avoid using this API on constructors whose implementation they don't control, or on constructors that can be invoked by other parties in the application.

To avoid accidental leaks, this API does not return raw references to the objects found. By default, it returns the count of the objects found. If options.format is 'summary', it returns an array containing brief string representations for each object. The visibility provided in this API is similar to what the heap snapshot provides, while users can save the cost of serialization and parsing and directly filer the target objects during the search.

We have been using this API internally for the test suite, which has been more stable than any other leak regression testing strategies in the CI. With a public implementation we can now use the public API instead.

const { queryObjects } = require('node:v8');
class A { foo = 'bar'; }
console.log(queryObjects(A)); // 0
let a = new A();
console.log(queryObjects(A)); // 1
// [ "A { foo: 'bar' }" ]
console.log(queryObjects(A, { format: 'summary' }));

// Release the object.
a = null;
// Search again. queryObjects() includes a full garbage collection
// so a should disappear.
console.log(queryObjects(A)); // 0

class B extends A { bar = 'qux'; }
// The child class B's prototype has A's prototype on its prototype chain
// so the prototype object shows up too.
console.log(queryObjects(A, { format: 'summary' })); // [ A {}' ]

Contributed by Joyee Cheung in #​51927

watch: mark as stable

From this release Watch Mode is considered stable.
When in watch mode, changes in the watched files cause the Node.js process to restart.

Contributed by Moshe Atlow in #​52074

Other Notable Changes
Commits

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Oct 24, 2023
@changeset-bot
Copy link

changeset-bot bot commented Oct 24, 2023

⚠️ No Changeset found

Latest commit: e181981

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@renovate renovate bot force-pushed the renovate/node-20.x branch 3 times, most recently from 8e638ea to e20f976 Compare October 31, 2023 08:54
@renovate renovate bot force-pushed the renovate/node-20.x branch from e20f976 to c46465e Compare November 7, 2023 22:08
@renovate renovate bot force-pushed the renovate/node-20.x branch 4 times, most recently from 06e53d1 to c3f755e Compare November 22, 2023 04:40
@renovate renovate bot force-pushed the renovate/node-20.x branch 4 times, most recently from 2b67e0a to c727b93 Compare November 29, 2023 20:01
@renovate renovate bot force-pushed the renovate/node-20.x branch 2 times, most recently from 1dcaad6 to 2df72df Compare December 3, 2023 10:01
@renovate renovate bot changed the title chore(deps): update dependency @types/node to v20 chore(deps): update node.js to v20 Dec 3, 2023
@renovate renovate bot force-pushed the renovate/node-20.x branch 3 times, most recently from 536cc7e to 51b52ff Compare December 7, 2023 16:23
@renovate renovate bot force-pushed the renovate/node-20.x branch from 51b52ff to 980aee8 Compare December 17, 2023 22:33
@renovate renovate bot force-pushed the renovate/node-20.x branch from 980aee8 to 8f60bd4 Compare December 30, 2023 04:24
@renovate renovate bot force-pushed the renovate/node-20.x branch 3 times, most recently from 77d1981 to e4e0d76 Compare January 11, 2024 06:57
@renovate renovate bot force-pushed the renovate/node-20.x branch 5 times, most recently from 93f0c4d to 4f433ea Compare January 17, 2024 09:22
@renovate renovate bot force-pushed the renovate/node-20.x branch 2 times, most recently from 9db8a62 to 8c807c5 Compare March 29, 2024 20:19
Copy link
Contributor

github-actions bot commented Mar 29, 2024

🚀 Snapshot Release (alpha)

The latest changes of this PR are available as alpha on npm (based on the declared changesets):

Package Version Info
graphql-yoga-cloud-run-guide 3.4.0-alpha-20240517200947-f91e2d0b npm ↗︎ unpkg ↗︎
@graphql-yoga/apollo-link 3.4.0-alpha-20240517200947-f91e2d0b npm ↗︎ unpkg ↗︎
@graphql-yoga/urql-exchange 3.4.0-alpha-20240517200947-f91e2d0b npm ↗︎ unpkg ↗︎
@graphql-yoga/graphiql 4.3.0-alpha-20240517200947-f91e2d0b npm ↗︎ unpkg ↗︎
graphql-yoga 5.4.0-alpha-20240517200947-f91e2d0b npm ↗︎ unpkg ↗︎
@graphql-yoga/nestjs 3.4.0-alpha-20240517200947-f91e2d0b npm ↗︎ unpkg ↗︎
@graphql-yoga/nestjs-federation 3.4.0-alpha-20240517200947-f91e2d0b npm ↗︎ unpkg ↗︎
@graphql-yoga/plugin-apollo-inline-trace 3.4.0-alpha-20240517200947-f91e2d0b npm ↗︎ unpkg ↗︎
@graphql-yoga/plugin-apq 3.4.0-alpha-20240517200947-f91e2d0b npm ↗︎ unpkg ↗︎
@graphql-yoga/plugin-csrf-prevention 3.4.0-alpha-20240517200947-f91e2d0b npm ↗︎ unpkg ↗︎
@graphql-yoga/plugin-defer-stream 3.4.0-alpha-20240517200947-f91e2d0b npm ↗︎ unpkg ↗︎
@graphql-yoga/plugin-disable-introspection 2.4.0-alpha-20240517200947-f91e2d0b npm ↗︎ unpkg ↗︎
@graphql-yoga/plugin-graphql-sse 3.4.0-alpha-20240517200947-f91e2d0b npm ↗︎ unpkg ↗︎
@graphql-yoga/plugin-jwt 2.4.0-alpha-20240517200947-f91e2d0b npm ↗︎ unpkg ↗︎
@graphql-yoga/plugin-persisted-operations 3.4.0-alpha-20240517200947-f91e2d0b npm ↗︎ unpkg ↗︎
@graphql-yoga/plugin-prometheus 5.1.0-alpha-20240517200947-f91e2d0b npm ↗︎ unpkg ↗︎
@graphql-yoga/plugin-response-cache 3.6.0-alpha-20240517200947-f91e2d0b npm ↗︎ unpkg ↗︎
@graphql-yoga/plugin-sofa 3.4.0-alpha-20240517200947-f91e2d0b npm ↗︎ unpkg ↗︎
@graphql-yoga/render-graphiql 5.4.0-alpha-20240517200947-f91e2d0b npm ↗︎ unpkg ↗︎

Copy link
Contributor

github-actions bot commented Mar 29, 2024

Apollo Federation Subgraph Compatibility Results

Federation 1 Support Federation 2 Support
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🟢
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🟢
@interfaceObject🟢

Learn more:

Copy link
Contributor

github-actions bot commented Mar 29, 2024

💻 Website Preview

The latest changes are available as preview in: https://ea1f5e33.graphql-yoga.pages.dev

@renovate renovate bot force-pushed the renovate/node-20.x branch 4 times, most recently from 4619c23 to ea6874a Compare April 5, 2024 22:47
@renovate renovate bot force-pushed the renovate/node-20.x branch from ea6874a to f3dd00f Compare April 9, 2024 08:24
Copy link
Contributor

github-actions bot commented Apr 9, 2024

✅ Benchmark Results

     ✓ no_errors{mode:graphql}
     ✓ expected_result{mode:graphql}
     ✓ no_errors{mode:graphql-jit}
     ✓ expected_result{mode:graphql-jit}
     ✓ no_errors{mode:graphql-response-cache}
     ✓ expected_result{mode:graphql-response-cache}
     ✓ no_errors{mode:graphql-no-parse-validate-cache}
     ✓ expected_result{mode:graphql-no-parse-validate-cache}

     checks.......................................: 100.00% ✓ 413438      ✗ 0     
     data_received................................: 1.7 GB  14 MB/s
     data_sent....................................: 84 MB   696 kB/s
     http_req_blocked.............................: avg=1.48µs   min=972ns    med=1.31µs   max=264.26µs p(90)=1.96µs   p(95)=2.19µs  
     http_req_connecting..........................: avg=2ns      min=0s       med=0s       max=144.33µs p(90)=0s       p(95)=0s      
     http_req_duration............................: avg=368.06µs min=220.6µs  med=326.42µs max=18.5ms   p(90)=476.65µs p(95)=499.05µs
       { expected_response:true }.................: avg=368.06µs min=220.6µs  med=326.42µs max=18.5ms   p(90)=476.65µs p(95)=499.05µs
     ✓ { mode:graphql-jit }.......................: avg=290.7µs  min=220.6µs  med=267.76µs max=18.5ms   p(90)=302.59µs p(95)=318.75µs
     ✓ { mode:graphql-no-parse-validate-cache }...: avg=505.35µs min=412.77µs med=472.7µs  max=10.13ms  p(90)=523.59µs p(95)=579.66µs
     ✓ { mode:graphql-response-cache }............: avg=346.62µs min=270.35µs med=325.52µs max=7.23ms   p(90)=361.64µs p(95)=376.86µs
     ✓ { mode:graphql }...........................: avg=369.72µs min=287.77µs med=334.98µs max=15.06ms  p(90)=389.32µs p(95)=428.82µs
     http_req_failed..............................: 0.00%   ✓ 0           ✗ 206719
     http_req_receiving...........................: avg=34.32µs  min=17.31µs  med=33.84µs  max=3.74ms   p(90)=39.96µs  p(95)=42.6µs  
     http_req_sending.............................: avg=8.23µs   min=6µs      med=7.26µs   max=344.57µs p(90)=10.88µs  p(95)=11.94µs 
     http_req_tls_handshaking.....................: avg=0s       min=0s       med=0s       max=0s       p(90)=0s       p(95)=0s      
     http_req_waiting.............................: avg=325.49µs min=188.94µs med=284.93µs max=18.4ms   p(90)=432.98µs p(95)=452.9µs 
     http_reqs....................................: 206719  1722.637211/s
     iteration_duration...........................: avg=575.74µs min=389.06µs med=530.04µs max=18.98ms  p(90)=690.04µs p(95)=719.05µs
     iterations...................................: 206719  1722.637211/s
     vus..........................................: 1       min=1         max=1   
     vus_max......................................: 2       min=2         max=2   

@renovate renovate bot force-pushed the renovate/node-20.x branch 3 times, most recently from 1b0e163 to e6c199e Compare April 11, 2024 15:28
@renovate renovate bot force-pushed the renovate/node-20.x branch 3 times, most recently from 1b81166 to 6d69c8e Compare May 6, 2024 18:34
@renovate renovate bot force-pushed the renovate/node-20.x branch 3 times, most recently from 2f9125c to b5990d5 Compare May 14, 2024 09:15
@renovate renovate bot force-pushed the renovate/node-20.x branch from b5990d5 to f841471 Compare May 17, 2024 19:51
@renovate renovate bot force-pushed the renovate/node-20.x branch 5 times, most recently from eb07541 to c3d3289 Compare July 25, 2024 15:53
@renovate renovate bot force-pushed the renovate/node-20.x branch from c3d3289 to e181981 Compare July 25, 2024 17:02
@ardatan ardatan merged commit aa8237d into main Jul 25, 2024
34 of 35 checks passed
@ardatan ardatan deleted the renovate/node-20.x branch July 25, 2024 17:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant