From d7fdf7c3f1cb504e497553a76eb56e9104dd229f Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 19 Feb 2026 16:36:24 +0000 Subject: [PATCH 1/2] fix(build): upgrade Docker API version to v1.44 for prebuildify-cross Modern Docker daemons require minimum API version 1.44. The @thegecko/docker-run and @vweevers/docker-pull packages hardcode v1.21, causing prebuildify-cross ARM cross-compilation to fail with "client version is too old" errors on newer CI runners. Add patch-package patches to upgrade both to v1.44 and run patch-package before prebuildify-cross in the build script. https://claude.ai/code/session_011JuCiuPFDsPRv7eCrFoBdi --- package.json | 5 +++-- patches/@thegecko+docker-run+3.1.0.patch | 13 +++++++++++++ patches/@vweevers+docker-pull+1.1.1.patch | 13 +++++++++++++ 3 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 patches/@thegecko+docker-run+3.1.0.patch create mode 100644 patches/@vweevers+docker-pull+1.1.1.patch diff --git a/package.json b/package.json index 7d0dcbd6..78217b22 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,8 @@ "dependencies": { "debug": "^4.3.7", "node-addon-api": "^8.1.0", - "node-gyp-build": "^4.8.1" + "node-gyp-build": "^4.8.1", + "patch-package": "^8.0.0" }, "optionalDependencies": { "@stoprocent/bluetooth-hci-socket": "^2.2.3" @@ -67,7 +68,7 @@ "lint": "eslint \"**/*.js\"", "lint-fix": "eslint \"**/*.js\" --fix", "prebuildify": "prebuildify --napi --target 17.0.0 --force --strip --verbose", - "prebuildify-cross": "prebuildify-cross --napi --target 17.0.0 --force --strip --verbose", + "prebuildify-cross": "patch-package && prebuildify-cross --napi --target 17.0.0 --force --strip --verbose", "semantic-release": "semantic-release", "pretest": "npm run rebuild", "rebuild": "node-gyp rebuild", diff --git a/patches/@thegecko+docker-run+3.1.0.patch b/patches/@thegecko+docker-run+3.1.0.patch new file mode 100644 index 00000000..f482c9db --- /dev/null +++ b/patches/@thegecko+docker-run+3.1.0.patch @@ -0,0 +1,13 @@ +diff --git a/node_modules/@thegecko/docker-run/index.js b/node_modules/@thegecko/docker-run/index.js +index 5299bee..4de15b3 100644 +--- a/node_modules/@thegecko/docker-run/index.js ++++ b/node_modules/@thegecko/docker-run/index.js +@@ -14,7 +14,7 @@ var endsWith = function(str, suffix) { + var run = function(image, opts) { + if (!opts) opts = {} + +- var request = docker({host: opts.host, version: opts.version || 'v1.21'}) ++ var request = docker({host: opts.host, version: opts.version || 'v1.44'}) + var that = new events.EventEmitter() + var tty = !!opts.tty + diff --git a/patches/@vweevers+docker-pull+1.1.1.patch b/patches/@vweevers+docker-pull+1.1.1.patch new file mode 100644 index 00000000..94ff793d --- /dev/null +++ b/patches/@vweevers+docker-pull+1.1.1.patch @@ -0,0 +1,13 @@ +diff --git a/node_modules/@vweevers/docker-pull/index.js b/node_modules/@vweevers/docker-pull/index.js +index 67b3e73..5fcb567 100644 +--- a/node_modules/@vweevers/docker-pull/index.js ++++ b/node_modules/@vweevers/docker-pull/index.js +@@ -12,7 +12,7 @@ var pull = function (image, opts, cb) { + image = parse(image) + if (!image) throw new Error('Invalid image') + +- var request = docker({host: opts.host, version: opts.version || 'v1.21'}) ++ var request = docker({host: opts.host, version: opts.version || 'v1.44'}) + var that = new events.EventEmitter() + var layers = {} + var progress = {} From bebe2c0fcdece57faeaa88720da1d32cc49c120e Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 19 Feb 2026 16:39:26 +0000 Subject: [PATCH 2/2] fix(build): patch prebuildify-cross Docker API version to v1.44 The previous patches for @thegecko/docker-run and @vweevers/docker-pull were being overridden because prebuildify-cross itself hardcodes DOCKER_VERSION = 'v1.24' and passes it explicitly to both packages. Add a patch for prebuildify-cross to upgrade its DOCKER_VERSION constant from v1.24 to v1.44. https://claude.ai/code/session_011JuCiuPFDsPRv7eCrFoBdi --- patches/prebuildify-cross+5.1.1.patch | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 patches/prebuildify-cross+5.1.1.patch diff --git a/patches/prebuildify-cross+5.1.1.patch b/patches/prebuildify-cross+5.1.1.patch new file mode 100644 index 00000000..6d0733f3 --- /dev/null +++ b/patches/prebuildify-cross+5.1.1.patch @@ -0,0 +1,13 @@ +diff --git a/node_modules/prebuildify-cross/index.js b/node_modules/prebuildify-cross/index.js +index 3048337..0031ced 100644 +--- a/node_modules/prebuildify-cross/index.js ++++ b/node_modules/prebuildify-cross/index.js +@@ -11,7 +11,7 @@ const unixify = require('unixify') + const once = require('once') + const path = require('path') + +-const DOCKER_VERSION = 'v1.24' ++const DOCKER_VERSION = 'v1.44' + + module.exports = function (opts, callback) { + if (typeof opts === 'function') {