Skip to content

Commit

Permalink
2023-04-12, Version 18.16.0 'Hydrogen' (LTS)
Browse files Browse the repository at this point in the history
Notable changes:

Add initial support for single executable applications

Compile a JavaScript file into a single executable application:

```console
$ echo 'console.log(`Hello, ${process.argv[2]}!`);' > hello.js

$ cp $(command -v node) hello

$ npx postject hello NODE_JS_CODE hello.js \
    --sentinel-fuse NODE_JS_FUSE_fce680ab2cc467b6e072b8b5df1996b2

$ npx postject hello NODE_JS_CODE hello.js \
    --sentinel-fuse NODE_JS_FUSE_fce680ab2cc467b6e072b8b5df1996b2 \
    --macho-segment-name NODE_JS

$ ./hello world
Hello, world!
```

Contributed by Darshan Sen in #45038

Replace url parser with Ada

Node.js gets a new URL parser called Ada that is compliant with the WHATWG
URL Specification and provides more than 100% performance improvement to
the existing implementation.

Contributed by Yagiz Nizipli in #46410

Other notable changes:

* buffer:
  * (SEMVER-MINOR) add Buffer.copyBytesFrom(...) (James M Snell) #46500
* doc:
  * add marco-ippolito to collaborators (Marco Ippolito) #46816
  * add debadree25 to collaborators (Debadree Chatterjee) #46716
  * add deokjinkim to collaborators (Deokjin Kim) #46444
* events:
  * (SEMVER-MINOR) add listener argument to listenerCount (Paolo Insogna) #46523
* lib:
  * (SEMVER-MINOR) add AsyncLocalStorage.bind() and .snapshot() (flakey5) #46387
  * (SEMVER-MINOR) add aborted() utility function (Debadree Chatterjee) #46494
* src:
  * (SEMVER-MINOR) allow optional Isolate termination in node::Stop() (Shelley Vohr) #46583
  * (SEMVER-MINOR) allow embedder control of code generation policy (Shelley Vohr) #46368
* stream:
  * (SEMVER-MINOR) add abort signal for ReadableStream and WritableStream (Debadree Chatterjee) #46273
* tls:
  * (SEMVER-MINOR) support automatic DHE (Tobias Nießen) #46978
* url:
  * (SEMVER-MINOR) implement URLSearchParams size getter (James M Snell) #46308
* worker:
  * (SEMVER-MINOR) add support for worker name in inspector and trace_events (Debadree Chatterjee) #46832

PR-URL: #47502
  • Loading branch information
danielleadams committed Apr 12, 2023
1 parent a39dd37 commit 43d167a
Show file tree
Hide file tree
Showing 13 changed files with 338 additions and 19 deletions.
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@ release.
</tr>
<tr>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V18.md#18.15.0">18.15.0</a></b><br/>
<b><a href="doc/changelogs/CHANGELOG_V18.md#18.16.0">18.16.0</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V18.md#18.15.0">18.15.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V18.md#18.14.2">18.14.2</a><br/>
<a href="doc/changelogs/CHANGELOG_V18.md#18.14.1">18.14.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V18.md#18.14.0">18.14.0</a><br/>
Expand Down
6 changes: 3 additions & 3 deletions doc/api/async_context.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ added:
- v13.10.0
- v12.17.0
changes:
- version: REPLACEME
- version: v18.16.0
pr-url: https://github.com/nodejs/node/pull/46386
description: Removed experimental onPropagate option.
- version: v18.13.0
Expand All @@ -137,7 +137,7 @@ Creates a new instance of `AsyncLocalStorage`. Store is only provided within a
### Static method: `AsyncLocalStorage.bind(fn)`

<!-- YAML
added: REPLACEME
added: v18.16.0
-->

> Stability: 1 - Experimental
Expand All @@ -151,7 +151,7 @@ Binds the given function to the current execution context.
### Static method: `AsyncLocalStorage.snapshot()`

<!-- YAML
added: REPLACEME
added: v18.16.0
-->

> Stability: 1 - Experimental
Expand Down
2 changes: 1 addition & 1 deletion doc/api/buffer.md
Original file line number Diff line number Diff line change
Expand Up @@ -1059,7 +1059,7 @@ console.log(bufA.length);
### Static method: `Buffer.copyBytesFrom(view[, offset[, length]])`

<!-- YAML
added: REPLACEME
added: v18.16.0
-->

* `view` {TypedArray} The {TypedArray} to copy.
Expand Down
2 changes: 1 addition & 1 deletion doc/api/events.md
Original file line number Diff line number Diff line change
Expand Up @@ -651,7 +651,7 @@ set by [`emitter.setMaxListeners(n)`][] or defaults to
<!-- YAML
added: v3.2.0
changes:
- version: REPLACEME
- version: v18.16.0
pr-url: https://github.com/nodejs/node/pull/46523
description: Added the `listener` argument.
-->
Expand Down
2 changes: 1 addition & 1 deletion doc/api/single-executable-applications.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Single executable applications

<!--introduced_in=REPLACEME-->
<!--introduced_in=v18.16.0-->

> Stability: 1 - Experimental: This feature is being designed and will change.
Expand Down
6 changes: 3 additions & 3 deletions doc/api/stream.md
Original file line number Diff line number Diff line change
Expand Up @@ -2669,7 +2669,7 @@ const cleanup = finished(rs, (err) => {
<!-- YAML
added: v10.0.0
changes:
- version: REPLACEME
- version: v18.16.0
pr-url: https://github.com/nodejs/node/pull/46307
description: Added support for webstreams.
- version: v18.0.0
Expand Down Expand Up @@ -2770,7 +2770,7 @@ const server = http.createServer((req, res) => {
<!-- YAML
added: v16.9.0
changes:
- version: REPLACEME
- version: v18.16.0
pr-url: https://github.com/nodejs/node/pull/46675
description: Added support for webstreams.
-->
Expand Down Expand Up @@ -3203,7 +3203,7 @@ readable.getReader().read().then((result) => {
<!-- YAML
added: v15.4.0
changes:
- version: REPLACEME
- version: v18.16.0
pr-url: https://github.com/nodejs/node/pull/46273
description: Added support for `ReadableStream` and
`WritableStream`.
Expand Down
2 changes: 1 addition & 1 deletion doc/api/test.md
Original file line number Diff line number Diff line change
Expand Up @@ -847,7 +847,7 @@ added:
- v18.6.0
- v16.17.0
changes:
- version: REPLACEME
- version: v18.16.0
pr-url: https://github.com/nodejs/node/pull/46889
description: Calling `it()` is now equivalent to calling `test()`.
-->
Expand Down
4 changes: 2 additions & 2 deletions doc/api/tls.md
Original file line number Diff line number Diff line change
Expand Up @@ -1790,7 +1790,7 @@ argument.
<!-- YAML
added: v0.11.13
changes:
- version: REPLACEME
- version: v18.16.0
pr-url: https://github.com/nodejs/node/pull/46978
description: The `dhparam` option can now be set to `'auto'` to
enable DHE with appropriate well-known parameters.
Expand Down Expand Up @@ -2249,7 +2249,7 @@ added: v11.4.0
## `tls.DEFAULT_CIPHERS`

<!-- YAML
added: REPLACEME
added: v18.16.0
-->

* {string} The default value of the `ciphers` option of
Expand Down
2 changes: 1 addition & 1 deletion doc/api/url.md
Original file line number Diff line number Diff line change
Expand Up @@ -943,7 +943,7 @@ console.log(params.toString());
#### `urlSearchParams.size`

<!-- YAML
added: REPLACEME
added: v18.16.0
-->

The total number of parameter entries.
Expand Down
2 changes: 1 addition & 1 deletion doc/api/util.md
Original file line number Diff line number Diff line change
Expand Up @@ -1980,7 +1980,7 @@ channel.port2.postMessage(signal, [signal]);
## `util.aborted(signal, resource)`
<!-- YAML
added: REPLACEME
added: v18.16.0
-->
> Stability: 1 - Experimental
Expand Down
2 changes: 1 addition & 1 deletion doc/api/worker_threads.md
Original file line number Diff line number Diff line change
Expand Up @@ -900,7 +900,7 @@ if (isMainThread) {
<!-- YAML
added: v10.5.0
changes:
- version: REPLACEME
- version: v18.16.0
pr-url: https://github.com/nodejs/node/pull/46832
description: Added support for a `name` option, which allows
adding a name to worker title for debugging.
Expand Down
318 changes: 318 additions & 0 deletions doc/changelogs/CHANGELOG_V18.md

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions src/node_version.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,13 @@
#define SRC_NODE_VERSION_H_

#define NODE_MAJOR_VERSION 18
#define NODE_MINOR_VERSION 15
#define NODE_PATCH_VERSION 1
#define NODE_MINOR_VERSION 16
#define NODE_PATCH_VERSION 0

#define NODE_VERSION_IS_LTS 1
#define NODE_VERSION_LTS_CODENAME "Hydrogen"

#define NODE_VERSION_IS_RELEASE 0
#define NODE_VERSION_IS_RELEASE 1

#ifndef NODE_STRINGIFY
#define NODE_STRINGIFY(n) NODE_STRINGIFY_HELPER(n)
Expand Down

0 comments on commit 43d167a

Please sign in to comment.