diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index 0ebcf407bf..11e1b0906b 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -101,7 +101,8 @@ jobs:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3.6.0
with:
- node-version: 14 # An old version is intentionally used in order to check compatibility
+ # Set the oldest version still maintained, in order to ensure compatibility. See
+ node-version: 16
- run: apt-get update && apt install -y binaryen # For `wasm-opt`
- uses: actions-rs/toolchain@v1
with:
@@ -134,7 +135,7 @@ jobs:
fetch-depth: 0 # Necessary below for checking if the tag exists.
- uses: actions/setup-node@v3.6.0
with:
- node-version: 14
+ node-version: 16
- uses: denoland/setup-deno@v1
with:
deno-version: v1.x
diff --git a/README.md b/README.md
index 3ed22589cf..a597cc1a21 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@
This repository contains the following components:
- `smoldot-light-js` (`/wasm-node`): A JavaScript package that can connect to a Substrate-based chains as a light client, using the `smoldot-light` Rust library in its internals. Works both in the browser and on NodeJS/Deno. **This is the main component of this repository. The development mostly focuses around it, and the name `smoldot` generally refers to this component in particular.**
- - 📦 NPM:
+ - 📦 NPM: . Only versions of NodeJS that [are still maintained](https://nodejs.dev/en/about/releases/) are guaranteed to be supported.
- 📦 Deno.land/x: (URL to import: `https://deno.land/x/smoldot2/index-deno.js`)
- 📄 CHANGELOG:
- 📚 (latest commit)
diff --git a/wasm-node/CHANGELOG.md b/wasm-node/CHANGELOG.md
index 5704587349..0861686df2 100644
--- a/wasm-node/CHANGELOG.md
+++ b/wasm-node/CHANGELOG.md
@@ -4,6 +4,7 @@
### Changed
+- As NodeJS v14 reaches its end of life on April 30th 2023, the minimum NodeJS version required to run smoldot is now v16. The smoldot Wasm binary now has SIMD enabled, meaning that the minimum Deno version required to run smoldot is now v1.9.
- When receiving an identify request through the libp2p protocol, smoldot now sends back `smoldot-light-wasm vX.X.X` (with proper version numbers) as its agent name and version, instead of previously just `smoldot`. ([#417](https://github.com/smol-dot/smoldot/pull/417))
## 1.0.2 - 2023-04-12
diff --git a/wasm-node/javascript/prepare.mjs b/wasm-node/javascript/prepare.mjs
index f68b765ce3..e606b19bcd 100755
--- a/wasm-node/javascript/prepare.mjs
+++ b/wasm-node/javascript/prepare.mjs
@@ -76,7 +76,7 @@ child_process.execSync(
child_process.execSync(
"cargo +" + rustVersion + " build --package smoldot-light-wasm --target wasm32-wasi --no-default-features " +
(buildProfile == 'debug' ? '' : ("--profile " + buildProfile)),
- { 'stdio': 'inherit', 'env': { 'RUSTFLAGS': '-C target-feature=+bulk-memory,+sign-ext', ...process.env } }
+ { 'stdio': 'inherit', 'env': { 'RUSTFLAGS': '-C target-feature=+bulk-memory,+sign-ext,+simd128', ...process.env } }
);
// The code below will write a variable number of files to the `src/instance/autogen` directory.