From 93b814f849b8e2789628ccf70fd9d2bd19bb4ba5 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 14 Sep 2025 12:22:27 +0100 Subject: [PATCH] Upgrade to libvips v8.17.2 --- .github/workflows/ci.yml | 2 +- docs/src/content/docs/changelog/v0.34.4.md | 2 ++ npm/darwin-arm64/package.json | 2 +- npm/darwin-x64/package.json | 2 +- npm/linux-arm/package.json | 2 +- npm/linux-arm64/package.json | 2 +- npm/linux-ppc64/package.json | 2 +- npm/linux-s390x/package.json | 2 +- npm/linux-x64/package.json | 2 +- npm/linuxmusl-arm64/package.json | 2 +- npm/linuxmusl-x64/package.json | 2 +- package.json | 30 +++++++++++----------- src/common.h | 4 +-- test/unit/libvips.js | 2 +- test/unit/median.js | 2 +- 15 files changed, 31 insertions(+), 29 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 36786a20..931139b3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -269,7 +269,7 @@ jobs: contents: read name: "build-wasm32 [package]" runs-on: ubuntu-24.04 - container: "emscripten/emsdk:4.0.11" + container: "emscripten/emsdk:4.0.14" steps: - uses: actions/checkout@v4 - name: Dependencies diff --git a/docs/src/content/docs/changelog/v0.34.4.md b/docs/src/content/docs/changelog/v0.34.4.md index 8adf526b..d1f80d66 100644 --- a/docs/src/content/docs/changelog/v0.34.4.md +++ b/docs/src/content/docs/changelog/v0.34.4.md @@ -3,6 +3,8 @@ title: v0.34.4 - TBD slug: changelog/v0.34.4 --- +* Upgrade to libvips v8.17.2 for upstream bug fixes. + * Ensure `autoOrient` occurs before non-90 angle rotation. [#4425](https://github.com/lovell/sharp/issues/4425) diff --git a/npm/darwin-arm64/package.json b/npm/darwin-arm64/package.json index c75c237c..95692c8c 100644 --- a/npm/darwin-arm64/package.json +++ b/npm/darwin-arm64/package.json @@ -15,7 +15,7 @@ }, "preferUnplugged": true, "optionalDependencies": { - "@img/sharp-libvips-darwin-arm64": "1.2.1" + "@img/sharp-libvips-darwin-arm64": "1.2.2-rc.2" }, "files": [ "lib" diff --git a/npm/darwin-x64/package.json b/npm/darwin-x64/package.json index 3750f6a1..fef9569d 100644 --- a/npm/darwin-x64/package.json +++ b/npm/darwin-x64/package.json @@ -15,7 +15,7 @@ }, "preferUnplugged": true, "optionalDependencies": { - "@img/sharp-libvips-darwin-x64": "1.2.1" + "@img/sharp-libvips-darwin-x64": "1.2.2-rc.2" }, "files": [ "lib" diff --git a/npm/linux-arm/package.json b/npm/linux-arm/package.json index 395ee7f2..1eb8992d 100644 --- a/npm/linux-arm/package.json +++ b/npm/linux-arm/package.json @@ -15,7 +15,7 @@ }, "preferUnplugged": true, "optionalDependencies": { - "@img/sharp-libvips-linux-arm": "1.2.1" + "@img/sharp-libvips-linux-arm": "1.2.2-rc.2" }, "files": [ "lib" diff --git a/npm/linux-arm64/package.json b/npm/linux-arm64/package.json index 06bf7a0e..771c0a3e 100644 --- a/npm/linux-arm64/package.json +++ b/npm/linux-arm64/package.json @@ -15,7 +15,7 @@ }, "preferUnplugged": true, "optionalDependencies": { - "@img/sharp-libvips-linux-arm64": "1.2.1" + "@img/sharp-libvips-linux-arm64": "1.2.2-rc.2" }, "files": [ "lib" diff --git a/npm/linux-ppc64/package.json b/npm/linux-ppc64/package.json index 74fc33aa..63b663c6 100644 --- a/npm/linux-ppc64/package.json +++ b/npm/linux-ppc64/package.json @@ -15,7 +15,7 @@ }, "preferUnplugged": true, "optionalDependencies": { - "@img/sharp-libvips-linux-ppc64": "1.2.1" + "@img/sharp-libvips-linux-ppc64": "1.2.2-rc.2" }, "files": [ "lib" diff --git a/npm/linux-s390x/package.json b/npm/linux-s390x/package.json index 8e0661b3..f723f7ec 100644 --- a/npm/linux-s390x/package.json +++ b/npm/linux-s390x/package.json @@ -15,7 +15,7 @@ }, "preferUnplugged": true, "optionalDependencies": { - "@img/sharp-libvips-linux-s390x": "1.2.1" + "@img/sharp-libvips-linux-s390x": "1.2.2-rc.2" }, "files": [ "lib" diff --git a/npm/linux-x64/package.json b/npm/linux-x64/package.json index 4a8e1319..af6a6524 100644 --- a/npm/linux-x64/package.json +++ b/npm/linux-x64/package.json @@ -15,7 +15,7 @@ }, "preferUnplugged": true, "optionalDependencies": { - "@img/sharp-libvips-linux-x64": "1.2.1" + "@img/sharp-libvips-linux-x64": "1.2.2-rc.2" }, "files": [ "lib" diff --git a/npm/linuxmusl-arm64/package.json b/npm/linuxmusl-arm64/package.json index 9897991b..ca89e602 100644 --- a/npm/linuxmusl-arm64/package.json +++ b/npm/linuxmusl-arm64/package.json @@ -15,7 +15,7 @@ }, "preferUnplugged": true, "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-arm64": "1.2.1" + "@img/sharp-libvips-linuxmusl-arm64": "1.2.2-rc.2" }, "files": [ "lib" diff --git a/npm/linuxmusl-x64/package.json b/npm/linuxmusl-x64/package.json index 63a85beb..4543736d 100644 --- a/npm/linuxmusl-x64/package.json +++ b/npm/linuxmusl-x64/package.json @@ -15,7 +15,7 @@ }, "preferUnplugged": true, "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-x64": "1.2.1" + "@img/sharp-libvips-linuxmusl-x64": "1.2.2-rc.2" }, "files": [ "lib" diff --git a/package.json b/package.json index 1ce6b5aa..6a9bb838 100644 --- a/package.json +++ b/package.json @@ -144,15 +144,15 @@ "optionalDependencies": { "@img/sharp-darwin-arm64": "0.34.4-rc.1", "@img/sharp-darwin-x64": "0.34.4-rc.1", - "@img/sharp-libvips-darwin-arm64": "1.2.1", - "@img/sharp-libvips-darwin-x64": "1.2.1", - "@img/sharp-libvips-linux-arm": "1.2.1", - "@img/sharp-libvips-linux-arm64": "1.2.1", - "@img/sharp-libvips-linux-ppc64": "1.2.1", - "@img/sharp-libvips-linux-s390x": "1.2.1", - "@img/sharp-libvips-linux-x64": "1.2.1", - "@img/sharp-libvips-linuxmusl-arm64": "1.2.1", - "@img/sharp-libvips-linuxmusl-x64": "1.2.1", + "@img/sharp-libvips-darwin-arm64": "1.2.2-rc.2", + "@img/sharp-libvips-darwin-x64": "1.2.2-rc.2", + "@img/sharp-libvips-linux-arm": "1.2.2-rc.2", + "@img/sharp-libvips-linux-arm64": "1.2.2-rc.2", + "@img/sharp-libvips-linux-ppc64": "1.2.2-rc.2", + "@img/sharp-libvips-linux-s390x": "1.2.2-rc.2", + "@img/sharp-libvips-linux-x64": "1.2.2-rc.2", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.2-rc.2", + "@img/sharp-libvips-linuxmusl-x64": "1.2.2-rc.2", "@img/sharp-linux-arm": "0.34.4-rc.1", "@img/sharp-linux-arm64": "0.34.4-rc.1", "@img/sharp-linux-ppc64": "0.34.4-rc.1", @@ -167,11 +167,11 @@ }, "devDependencies": { "@emnapi/runtime": "^1.5.0", - "@img/sharp-libvips-dev": "1.2.1", - "@img/sharp-libvips-dev-wasm32": "1.2.1", - "@img/sharp-libvips-win32-arm64": "1.2.1", - "@img/sharp-libvips-win32-ia32": "1.2.1", - "@img/sharp-libvips-win32-x64": "1.2.1", + "@img/sharp-libvips-dev": "1.2.2-rc.2", + "@img/sharp-libvips-dev-wasm32": "1.2.2-rc.2", + "@img/sharp-libvips-win32-arm64": "1.2.2-rc.2", + "@img/sharp-libvips-win32-ia32": "1.2.2-rc.2", + "@img/sharp-libvips-win32-x64": "1.2.2-rc.2", "@types/node": "*", "cc": "^3.0.1", "emnapi": "^1.5.0", @@ -193,7 +193,7 @@ "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "config": { - "libvips": ">=8.17.1" + "libvips": ">=8.17.2" }, "funding": { "url": "https://opencollective.com/libvips" diff --git a/src/common.h b/src/common.h index 4d871d33..2bba5e1c 100644 --- a/src/common.h +++ b/src/common.h @@ -16,8 +16,8 @@ #if (VIPS_MAJOR_VERSION < 8) || \ (VIPS_MAJOR_VERSION == 8 && VIPS_MINOR_VERSION < 17) || \ - (VIPS_MAJOR_VERSION == 8 && VIPS_MINOR_VERSION == 17 && VIPS_MICRO_VERSION < 1) -#error "libvips version 8.17.1+ is required - please see https://sharp.pixelplumbing.com/install" + (VIPS_MAJOR_VERSION == 8 && VIPS_MINOR_VERSION == 17 && VIPS_MICRO_VERSION < 2) +#error "libvips version 8.17.2+ is required - please see https://sharp.pixelplumbing.com/install" #endif #if defined(__has_include) diff --git a/test/unit/libvips.js b/test/unit/libvips.js index 15042da9..5dc4c789 100644 --- a/test/unit/libvips.js +++ b/test/unit/libvips.js @@ -179,7 +179,7 @@ describe('libvips binaries', function () { process.env.npm_config_arch = 's390x'; process.env.npm_config_libc = ''; const locatorHash = libvips.yarnLocator(); - assert.strictEqual(locatorHash, '7e40558001'); + assert.strictEqual(locatorHash, 'b5865b53e1'); delete process.env.npm_config_platform; delete process.env.npm_config_arch; delete process.env.npm_config_libc; diff --git a/test/unit/median.js b/test/unit/median.js index d674bb19..b11ab5d4 100644 --- a/test/unit/median.js +++ b/test/unit/median.js @@ -43,7 +43,7 @@ describe('Median filter', function () { .raw() .toBuffer(); - assert.deepStrictEqual(data.subarray(0, 6), Buffer.from([0, 3, 15, 15, 63, 127])); + assert.deepStrictEqual(data.subarray(0, 6), Buffer.from(row)); }); it('invalid radius', () => {