From b73530ea78a15933b129facdb585e4ef5f43a2cb Mon Sep 17 00:00:00 2001 From: Erik Arvidsson Date: Mon, 19 Oct 2026 15:23:34 +0200 Subject: [PATCH 1/3] fix: build nextBatch() on Node 20 and 23, which lack v8::LocalVector --- src/objects/statement-iterator.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/objects/statement-iterator.cpp b/src/objects/statement-iterator.cpp index 133c418..aa9945e 100644 --- a/src/objects/statement-iterator.cpp +++ b/src/objects/statement-iterator.cpp @@ -64,7 +64,11 @@ void StatementIterator::NextBatch(NODE_ARGUMENTS info, int max_rows) { } UseIsolate; UseContext; +#if defined(NODE_MODULE_VERSION) && NODE_MODULE_VERSION >= 127 v8::LocalVector values(isolate); +#else + std::vector> values; +#endif const int columns = mode == Data::RAW ? sqlite3_column_count(handle) : 0; int rows = 0; int status = SQLITE_ROW; From 0ad453bd39c8397c74f731c482f79cfb851699b0 Mon Sep 17 00:00:00 2001 From: Erik Arvidsson Date: Mon, 19 Oct 2026 15:26:06 +0200 Subject: [PATCH 2/3] ci: stop building Node.js 20 binaries --- .github/workflows/build.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a0b30f6..12db924 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,8 +24,9 @@ env: # --name node: emit canonical node-gyp-build names (node.abi[.].node) # instead of prebuildify's package-name default, which would drop the # runtime/abi tags that node-gyp-build matches on. - # Node.js 20-24 can build with GCC 10 (bullseye) - NODE_BUILD_CMD_LEGACY: npx --no-install prebuildify --strip --no-napi --name node -t 20.0.0 -t 22.0.0 -t 23.0.0 -t 24.0.0 + # Node.js 22-24 can build with GCC 10 (bullseye). No Node.js 20 binaries: + # the addon uses V8 APIs that Node.js 20 lacks, and `engines` is 22.x || 24.x. + NODE_BUILD_CMD_LEGACY: npx --no-install prebuildify --strip --no-napi --name node -t 22.0.0 -t 23.0.0 -t 24.0.0 # Node.js 25+ requires GCC 11+ for header (bookworm) NODE_BUILD_CMD_MODERN: npx --no-install prebuildify --strip --no-napi --name node -t 25.0.0 -t 26.0.0 From db05cccc5d07a3d0c2d7e7e0a888651999033a2d Mon Sep 17 00:00:00 2001 From: Erik Arvidsson Date: Mon, 19 Oct 2026 15:26:14 +0200 Subject: [PATCH 3/3] Revert "fix: build nextBatch() on Node 20 and 23, which lack v8::LocalVector" This reverts commit b73530ea78a15933b129facdb585e4ef5f43a2cb. --- src/objects/statement-iterator.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/objects/statement-iterator.cpp b/src/objects/statement-iterator.cpp index aa9945e..133c418 100644 --- a/src/objects/statement-iterator.cpp +++ b/src/objects/statement-iterator.cpp @@ -64,11 +64,7 @@ void StatementIterator::NextBatch(NODE_ARGUMENTS info, int max_rows) { } UseIsolate; UseContext; -#if defined(NODE_MODULE_VERSION) && NODE_MODULE_VERSION >= 127 v8::LocalVector values(isolate); -#else - std::vector> values; -#endif const int columns = mode == Data::RAW ? sqlite3_column_count(handle) : 0; int rows = 0; int status = SQLITE_ROW;