Notable changes

Add support for externally shared js builtins

By default Node.js is built so that all dependencies are bundled into the Node.js binary itself. Some Node.js distributions prefer to manage dependencies externally. There are existing build options that allow dependencies with native code to be externalized. This commit adds additional options so that dependencies with JavaScript code (including WASM) can also be externalized. This addition does not affect binaries shipped by the Node.js project but will allow other distributions to externalize additional dependencies when needed.

Contributed by Michael Dawson in #44376

Introduce

1
File


The File class is part of the FileAPI. It can be used anywhere a Blob can, for example in

1
URL.createObjectURL

and

1
FormData

. It contains two properties that Blobs do not have:

1
lastModified

, the last time the file was modified in ms, and

1
name

, the name of the file.

Contributed by Khafra in #45139

Support function mocking on Node.js test runner

The

1
node:test

module supports mocking during testing via a top-level

1
mock

object.


1
2
3
4
5
6
7
8
9
10
11
12
test('spies on an object method', (t) => {
  const number = {
    value: 5,
    add(a) {
      return this.value + a;
    },
  };
  t.mock.method(number, 'add');

  assert.strictEqual(number.add(3), 8);
  assert.strictEqual(number.add.mock.calls.length, 1);
});

Contributed by Colin Ihrig in #45326

Other notable changes

  • build:

    • disable v8 snapshot compression by default (Joyee Cheung) #45716
  • crypto:

    • update root certificates (Luigi Pinca) #45490
  • deps:

    • update ICU to 72.1 (Michaël Zasso) #45068
  • doc:

    • add doc-only deprecation for headers/trailers setters (Rich Trott) #45697
    • add Rafael to the tsc (Michael Dawson) #45691
    • deprecate use of invalid ports in
      1
      url.parse

      (Antoine du Hamel) #45576

    • add lukekarrys to collaborators (Luke Karrys) #45180
    • add anonrig to collaborators (Yagiz Nizipli) #45002
    • deprecate url.parse() (Rich Trott) #44919
  • lib:

    • drop fetch experimental warning (Matteo Collina) #45287
  • net:

    • (SEMVER-MINOR) add autoSelectFamily and autoSelectFamilyAttemptTimeout options (Paolo Insogna) #44731
  • src:

    • (SEMVER-MINOR) add uvwasi version (Jithil P Ponnan) #45639
    • (SEMVER-MINOR) add initial shadow realm support (Chengzhong Wu) #42869
  • test_runner:

    • (SEMVER-MINOR) add t.after() hook (Colin Ihrig) #45792
    • (SEMVER-MINOR) don’t use a symbol for runHook() (Colin Ihrig) #45792
  • tls:

    • (SEMVER-MINOR) add “ca” property to certificate object (Ben Noordhuis) #44935
    • remove trustcor root ca certificates (Ben Noordhuis) #45776
  • tools:

    • update certdata.txt (Luigi Pinca) #45490
  • util:

    • add fast path for utf8 encoding (Yagiz Nizipli) #45412
    • improve textdecoder decode performance (Yagiz Nizipli) #45294
    • (SEMVER-MINOR) add MIME utilities (#21128) (Bradley Farias) #21128

Commits

Windows 32-bit Installer: https://nodejs.org/dist/v18.13.0/node-v18.13.0-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v18.13.0/node-v18.13.0-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v18.13.0/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v18.13.0/win-x64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v18.13.0/node-v18.13.0.pkg
macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v18.13.0/node-v18.13.0-darwin-arm64.tar.gz
macOS Intel 64-bit Binary: https://nodejs.org/dist/v18.13.0/node-v18.13.0-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v18.13.0/node-v18.13.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v18.13.0/node-v18.13.0-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v18.13.0/node-v18.13.0-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v18.13.0/node-v18.13.0-aix-ppc64.tar.gz
ARMv7 32-bit Binary: https://nodejs.org/dist/v18.13.0/node-v18.13.0-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v18.13.0/node-v18.13.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v18.13.0/node-v18.13.0.tar.gz
Other release files: https://nodejs.org/dist/v18.13.0/
Documentation: https://nodejs.org/docs/v18.13.0/api/

SHASUMS


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

9a479a5b7128ed8bb32c263f4519ca84ec7fa49efb90ebaf0cb25d34dd6d2667  node-v18.13.0-aix-ppc64.tar.gz
418d535e64dbcbd628715180c2de4ffcecb8a84b81f233c60e6ab9f0d795c249  node-v18.13.0-darwin-arm64.tar.gz
15210e2672040f375f7804ed1e665d67e2026e5160125358e4187d32f71bac62  node-v18.13.0-darwin-arm64.tar.xz
8b57c4da4ff6cca19d5ef7953f8816e3406d1508a2e4ee7f997984b3b1d11b77  node-v18.13.0-darwin-x64.tar.gz
37876b315d2b59506d10fccdb8d72cab9fe458c7911f263322b84265395db507  node-v18.13.0-darwin-x64.tar.xz
50b6f8df7e817f13b1c5efc4223fca2ba40663bb95323ff86b36246be96bc9cd  node-v18.13.0-headers.tar.gz
79deeac99df8f0063010554c87bee61e7dec8a0de4c3c5f32734c6f8aa8daa7c  node-v18.13.0-headers.tar.xz
dc68e229425b941eeae0b1d59c66c680b56fd536d0ad2311e3fb009bd83661e4  node-v18.13.0-linux-arm64.tar.gz
5b338667822341d1ea3b18d5b37d442a655829b9eafdc5f9008f00b8451ac148  node-v18.13.0-linux-arm64.tar.xz
224a1ea21a354dfd567d0ac3c6f8f626f8ac534fc02ed9c11ed294e634767d35  node-v18.13.0-linux-armv7l.tar.gz
52bfe3112bef2cd033ee25b416326411ccbfe0a41a55a9ef6a94012b363b51c7  node-v18.13.0-linux-armv7l.tar.xz
4b306acfd7c36e5081d427c490e145824fe22b7fee32a12b481e9bc756e34172  node-v18.13.0-linux-ppc64le.tar.gz
8671b892820c5375d5c0fa095c592b2a72891bc495f51c860a45f198a9967813  node-v18.13.0-linux-ppc64le.tar.xz
242f94cd3655afefe225bbeaddcd7dec8c84f7976269afedcc88781e55a5f187  node-v18.13.0-linux-s390x.tar.gz
4bd664712f08dbb9fa327ae4d9404a06f2a56c1c37553445549675f5c3c92a47  node-v18.13.0-linux-s390x.tar.xz
2d2881cf860624b9fa9866670a65708c747d458213bdccaa8e7266b105d404ad  node-v18.13.0-linux-x64.tar.gz
7f5d6922a91986ef059ba8a4396aa435440adacfe6fc6fab60a857c8f2cf5e7a  node-v18.13.0-linux-x64.tar.xz
53b88cd86039dc23b1c14663e2ff0c0918166f17e878aded6a94a6597c1ef8fa  node-v18.13.0.pkg
61ae68446438c2479e466d551b6e8c898097d56722957b1a8466ec8476a590d2  node-v18.13.0.tar.gz
fd4ac562e01d172896e3a959bd59552dbf647331c90d726f8d3471683dd3da68  node-v18.13.0.tar.xz
ceac916b111c8a0f04dd0621d7c48cd2a91848ff4fc8e35ff339138350dec801  node-v18.13.0-win-x64.7z
29c99ad1167ddbd72f2b15e91b560e36ac785b1873ba6791ab50d9d62f1957e2  node-v18.13.0-win-x64.zip
e3cdf849a38644eb721f671eb1bde1a0e0d5439e04df106efe80c8c8ee175a49  node-v18.13.0-win-x86.7z
caf703a2e118ec064d3542cb56d4404bf19e64fd357978bc504c0e27736c5420  node-v18.13.0-win-x86.zip
248f975c8e93f1eed659c4b8603eb2ea9ab09c6174f02444b85fa33c7ea4cf0f  node-v18.13.0-x64.msi
5cfb5e5c17c36a85f6883c76754209f36af193846b60ef75998f979cb5e3bbdb  node-v18.13.0-x86.msi
0dd4b623041704918ab97c85e096aa37d14f64db82f54364a7064c7184691545  win-x64/node.exe
9d36b6e078ffc0bf940bc0497d8e7d8485c50be6f306f46625bf86fcfa57e934  win-x64/node.lib
199f9b5f1829b4c1f02bf13fc1c176f8bedb30280e81bbca2cf8478aaca5efa4  win-x64/node_pdb.7z
43a8fce64f242d8e261fbb1cfb0bec1fba62df4bfd242f53c0a01057fa2cdcd4  win-x64/node_pdb.zip
80eafa18b85001b1773471414150c96ad52e0dd6985a4c25d7d5083fb04ae4fd  win-x86/node.exe
e560d516592cf9238220905fc86314ce367a416e576c11f733431f8dd1573241  win-x86/node.lib
b1f8b8bda173e108bd051f6c54ead1ed81880936703f9effede09aca2c7ae764  win-x86/node_pdb.7z
7868ea31549c604a34a14474c95a8f8920e45963a5740b03449f46715bc4f778  win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEdPEmArbxxOkT+qN606iWE2Q7YgEFAmO3crQACgkQ06iWE2Q7
YgGGcBAAwTO9ry4fdw/ttQKYEgFAynT8OiYMpfvMGhJKU6E3ukwAZHJ9Wncm6ZIt
s06Y0AKj1Of5/rU96sRrnbL7UA4PPaouOq6wLI1x7tJnbI7HIEnUVDnFncYLAbGV
tZJMiICFoiEwUddX7Z56NbU/HG0EOc54Vz1WpSL2KhLItQxWCzDBsFjRc7l5Z+U5
TNxiL81K8d4c6xikhkN3Gavzn+yVgEGDOHjXFu47tZRX4yGVnzLtneS0aJekXPSC
Src46bEUmPW/jVUmG5z60sSBE4Dror26MJoG8BIrJIAlxOXvjSz7P1iD/nldtylM
bQIQiDB00MQPgo+IARSnflFmz8iZQ0dd1sWKC4SxXG3C9mXI7TyJhMUyMgZIHEGO
LwYp9ilP+b2/XvI+zZKgHWxU6LABwGfy7SWjXm02XIfBgr9SNFUy/sF+Mrlf8dDY
AU56VIfqiOD3gRG61SsbUbHQyXIZzlKdEsehNwGLmhn0junte54JUGnAExBBOx7f
VY9U92Xm9xmnh1G3OynD6wkZsJpnB1WSkcpAw18JCDHN/fHWWKZ/6M7z6cbsnzch
StAR4ak+bAErhb5sD4vMrCWAA892K+P9q3EqpSdXQXLI750ixmqqVRXogXIerULB
sdGJBVgtylPvi7z+jGyLyXJ55AHRLEJQFBZOf1x004cyTsdlCTU=
=4bSv
-----END PGP SIGNATURE-----
Categories: NewsReleases

0 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *