unstale

npm / sharp

sharp

What changed in sharp 0.34 to 0.35, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-17.

15 breaking6 security3 deprecations15 new APIs and options5 behavior and defaults3 tooling30 fixes and other

sharp 0.3572 changes

Breaking changes 15

  • Tightens validation of extend values.

    0.35.3release notes

  • Rejects infinite values during number validation.

    0.35.3release notes

  • The GIF effort option now requires an integer.

    0.35.2release notes

  • TypeScript ESM declarations use named exports instead of a namespace.

    0.35.2release notes

  • The deprecated failOnError constructor property was removed.

    0.35.0release notes

  • The format.jp2k API name was renamed to format.jp2 for API consistency.

    0.35.0release notes

  • The HEIF primary item is now used as the default page or frame.

    0.35.0release notes

  • Adds limitInputChannels with a default value of 5.

    0.35.0release notes

  • Lossy AVIF output is now tuned using SSIMULACRA2-based iq quality metrics.

    0.35.0release notes

  • The deprecated paletteBitDepth property was removed from metadata responses.

    0.35.0release notes

  • Support for Node.js 18 was dropped; Node.js >= 20.9.0 is now required.

    0.35.0release notes

  • The install script was removed; compiling from source is now opt-in via the build script.

    0.35.0release notes

  • Prebuilt binaries now use static paths to aid code bundling.

    0.35.0release notes

  • Deprecated properties were removed from the sharpen operation.

    0.35.0release notes

  • TIFF output bitdepth is now limited to 1, 2, or 4.

    0.35.0release notes

Security 6

  • sharp : Vulnerability in librsvg dependency CVE-2026-96889

    0.35.5security advisory

  • sharp: Vulnerabilities in libheif: GHSA-g89c-p67h-r497 and GHSA-2jg2-4ch7-h545

    0.35.4security advisory

  • Bounds clahe height to avoid signed overflow.

    0.35.3release notes

  • Bounds clahe width to avoid signed overflow.

    0.35.3release notes

  • Bounds trim margin to avoid signed overflow.

    0.35.3release notes

  • sharp inherited vulnerabilities in libvips: CVE-2026-33327, CVE-2026-33328, CVE-2026-35590, CVE-2026-35591

    0.35.0security advisory

Deprecations 2

  • Emits a warning when using binaries provided by Electron on Linux.

    0.35.3release notes

  • Windows 32-bit prebuilt binaries are deprecated.

    0.35.0release notes

New APIs and options 13

  • TypeScript now allows multi-frame options for JXL output.

    0.35.5release notes

  • Adds hasAlpha to output info so callers can inspect whether the output has an alpha channel.

    0.35.3release notes

  • TypeScript metadata responses now include mediaType.

    0.35.2release notes

  • Adds the tune option for controlling AVIF quality metrics.

    0.35.0release notes

  • The package now supports ECMAScript Modules (ESM).

    0.35.0release notes

  • Prebuilt WebAssembly binaries are now available for FreeBSD.

    0.35.0release notes

  • Adds the tune option for controlling HEIF quality metrics.

    0.35.0release notes

  • Adds keepGainMap for processing HDR JPEG images with embedded gain maps.

    0.35.0release notes

  • Adds output as a TypedArray backed by a transferable ArrayBuffer.

    0.35.0release notes

  • Adds a margin option to the trim operation.

    0.35.0release notes

  • Adds exact to control transparent pixel colour values.

    0.35.0release notes

  • Adds withDensity to set output density in EXIF metadata.

    0.35.0release notes

  • Adds withGainMap for processing HDR JPEG images with embedded gain maps.

    0.35.0release notes

Behavior and default changes 5

  • Allows larger accepted dimensions when extending an image.

    0.35.5release notes

  • The tiff.subifd input option is now used.

    0.35.4release notes

  • Default concurrency increases when MALLOC_ARENA_MAX is detected.

    0.35.3release notes

  • Metadata responses now include the image Media Type (MIME Type).

    0.35.0release notes

  • WebAssembly binaries are no longer considered experimental.

    0.35.0release notes

Tooling 2

  • Code bundler support improves through stub binaries.

    0.35.2release notes

  • Type definitions are now published for both ESM and CJS, improving TypeScript support across module formats.

    0.35.1release notes

Fixes and other changes 29

  • Adds an upper-bounds check on the length of GIF delay arrays.

    0.35.5release notes

  • Improves gain map support for extract operations.

    0.35.5release notes

  • Adds an upper-bounds check on the length of linear arrays.

    0.35.5release notes

  • Removes a non-existent named export from the TypeScript surface.

    0.35.5release notes

  • Improves gain map support for rotate operations.

    0.35.5release notes

  • Improves error handling when the WebAssembly fallback also fails.

    0.35.5release notes

  • Composite left and top positions are now bounded to the coordinate limit.

    0.35.4release notes

  • info.pages is now correct when limiting the input page range.

    0.35.4release notes

  • Input streams are better supported when they finish before output is requested.

    0.35.4release notes

  • Palette bit depth is rounded up for PNG and GIF colours.

    0.35.4release notes

  • Resize dimensions are now bounded to the coordinate limit.

    0.35.4release notes

  • Tightens affine matrix verification.

    0.35.3release notes

  • Verifies that background colour values are numbers.

    0.35.3release notes

  • Verifies the cache memory limit to avoid overflow.

    0.35.3release notes

  • Bounds create input dimensions to the coordinate limit.

    0.35.3release notes

  • Bounds extract regions to the libvips coordinate limit.

    0.35.3release notes

  • Improves code bundler support by resolving the path to the libvips binary.

    0.35.3release notes

  • Bounds raw input dimensions to the coordinate limit.

    0.35.3release notes

  • Tightens recomb matrix verification.

    0.35.3release notes

  • Tightens verification of text dimensions.

    0.35.3release notes

  • Tightens verification of TIFF tile dimensions.

    0.35.3release notes

  • Returns the more precise Buffer<ArrayBuffer> TypeScript type from toBuffer.

    0.35.3release notes

  • Convolution kernel values are now validated as numbers.

    0.35.2release notes

  • Dilation and erosion width is bounded to prevent mask-size overflow.

    0.35.2release notes

  • Recombination matrix entries are now validated as numbers.

    0.35.2release notes

  • WebAssembly fallback detection is improved.

    0.35.2release notes

  • The WebAssembly wrapper file is now published, enabling the packaged WebAssembly interface to be used.

    0.35.1release notes

  • TypeScript FormatEnum keys now match the formats supported by the API.

    0.35.0release notes

  • pkg-config path discovery was improved.

    0.35.0release notes

sharp 0.345 changes

Deprecations 1

New APIs and options 2

  • Output can now be produced in BigTIFF format.

    0.34.5release notes

  • Experimental support adds prebuilt binaries for Linux RISC-V 64-bit systems.

    0.34.5release notes

Tooling 1

  • Building from source is supported with npm 12 and later.

    0.34.5release notes

Fixes and other changes 1

  • Error messages are improved when operations issue only warnings.

    0.34.5release notes