---
title: "sharp Breaking Changes on npm | Since.dev"
description: "What each sharp release removed, renamed or changed: 317 breaking changes in 14 versions on npm, each with its source."
canonical_url: https://since.dev/packages/npm/sharp
last_updated: 2026-09-27
---

# sharp breaking changes

Every breaking API change we have recorded in sharp on npm: 317 breaking changes in 14 versions. Below are its newest 6 versions, removals and renames first, each with its source.

Newest change September 27, 2026

## 0.35.5

3 breaking changes, first published September 27, 2026.

- **Removed** `sharp`  

sharp was removed in sharp 0.35.5 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.5)
- **Behavior changed** `linear`  

Arrays passed to linear and GIF delay that exceed the new upper bound are now rejected. Callers using very long arrays must shorten them. [github.com](https://github.com/lovell/sharp/releases/tag/v0.35.5)
- **Signature changed** `JxlOptions`  

Was interface JxlOptions extends OutputOptions; now interface JxlOptions extends OutputOptions, AnimationOptions. [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.5)

## 0.35.4

3 breaking changes, first published August 26, 2026.

- **Behavior changed**  

Palette bit depth for png and gif colours is rounded up, which can change the output bit depth of existing conversions. [github.com](https://github.com/lovell/sharp/releases/tag/v0.35.4)
- **Behavior changed** `composite`  

Composite left and top values beyond the coordinate limit are now bounded, which can change where overlays are placed. [github.com](https://github.com/lovell/sharp/releases/tag/v0.35.4)
- **Behavior changed** `resize`  

Resize dimensions above the coordinate limit are now clamped, so code relying on larger values will see different output. [github.com](https://github.com/lovell/sharp/releases/tag/v0.35.4)

## 0.35.3

14 breaking changes, first published July 1, 2026.

- **Behavior changed**  

Infinite values passed where numbers are validated are now rejected. [github.com](https://github.com/lovell/sharp/releases/tag/v0.35.3)
- **Behavior changed** `affine`  

Matrices passed to affine are now verified more strictly. [github.com](https://github.com/lovell/sharp/releases/tag/v0.35.3)
- **Behavior changed** `background`  

Non-numeric background colour values are now rejected. [github.com](https://github.com/lovell/sharp/releases/tag/v0.35.3)
- **Behavior changed** `cache`  

Cache memory limit values are now verified to avoid overflow, so invalid values may be rejected. [github.com](https://github.com/lovell/sharp/releases/tag/v0.35.3)
- **Behavior changed** `clahe`  

Large clahe width and height values are now rejected to avoid overflow. [github.com](https://github.com/lovell/sharp/releases/tag/v0.35.3)
- **Behavior changed** `create`  

Create input dimensions beyond the coordinate limit are now rejected. [github.com](https://github.com/lovell/sharp/releases/tag/v0.35.3)
- **Behavior changed** `extend`  

Values passed to extend are now validated more strictly, so values that were accepted before may now be rejected. [github.com](https://github.com/lovell/sharp/releases/tag/v0.35.3)
- **Behavior changed** `extract`  

Extract regions beyond the libvips coordinate limit are now rejected. [github.com](https://github.com/lovell/sharp/releases/tag/v0.35.3)
- **Behavior changed** `raw`  

Raw input dimensions beyond the coordinate limit are now rejected. [github.com](https://github.com/lovell/sharp/releases/tag/v0.35.3)
- **Behavior changed** `recomb`  

Matrices passed to recomb are now verified more strictly. [github.com](https://github.com/lovell/sharp/releases/tag/v0.35.3)

And 4 more in this version.

## 0.35.2

113 breaking changes, first published June 19, 2026.

- **Removed** `default.AffineOptions`  

AffineOptions was removed in sharp 0.35.2 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.2)
- **Removed** `default.AnimationOptions`  

AnimationOptions was removed in sharp 0.35.2 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.2)
- **Removed** `default.AvailableFormatInfo`  

AvailableFormatInfo was removed in sharp 0.35.2 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.2)
- **Removed** `default.AvifOptions`  

AvifOptions was removed in sharp 0.35.2 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.2)
- **Removed** `default.Blend`  

Blend was removed in sharp 0.35.2 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.2)
- **Removed** `default.block`  

block was removed in sharp 0.35.2 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.2)
- **Removed** `default.BlurOptions`  

BlurOptions was removed in sharp 0.35.2 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.2)
- **Removed** `default.bool`  

bool was removed in sharp 0.35.2 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.2)
- **Removed** `default.BoolEnum`  

BoolEnum was removed in sharp 0.35.2 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.2)
- **Removed** `default.cache`  

cache was removed in sharp 0.35.2 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.2)

And 103 more in this version.

## 0.35.1

107 breaking changes, first published June 11, 2026.

- **Removed** `AffineOptions`  

AffineOptions was removed in sharp 0.35.1 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.1)
- **Removed** `AnimationOptions`  

AnimationOptions was removed in sharp 0.35.1 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.1)
- **Removed** `AvailableFormatInfo`  

AvailableFormatInfo was removed in sharp 0.35.1 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.1)
- **Removed** `AvifOptions`  

AvifOptions was removed in sharp 0.35.1 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.1)
- **Removed** `Blend`  

Blend was removed in sharp 0.35.1 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.1)
- **Removed** `block`  

block was removed in sharp 0.35.1 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.1)
- **Removed** `BlurOptions`  

BlurOptions was removed in sharp 0.35.1 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.1)
- **Removed** `bool`  

bool was removed in sharp 0.35.1 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.1)
- **Removed** `BoolEnum`  

BoolEnum was removed in sharp 0.35.1 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.1)
- **Removed** `cache`  

cache was removed in sharp 0.35.1 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.1)

And 97 more in this version.

## 0.35.0

33 breaking changes, first published June 10, 2026.

- **Removed**  

Compiling from source no longer runs on install. Run the build script explicitly if you need to compile from source. [github.com](https://github.com/lovell/sharp/releases/tag/v0.35.0)
- **Removed**  

The package now requires Node.js 20.9.0 or later. Users on Node.js 18 must upgrade their runtime. [github.com](https://github.com/lovell/sharp/releases/tag/v0.35.0)
- **Removed** `FormatEnum.avif`  

FormatEnum.avif was removed in sharp 0.35.0 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.0)
- **Removed** `FormatEnum.input`  

FormatEnum.input was removed in sharp 0.35.0 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.0)
- **Removed** `FormatEnum.jpg`  

FormatEnum.jpg was removed in sharp 0.35.0 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.0)
- **Removed** `FormatEnum.tif`  

FormatEnum.tif was removed in sharp 0.35.0 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.0)
- **Removed** `FormatEnum.v`  

FormatEnum.v was removed in sharp 0.35.0 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.0)
- **Removed** `paletteBitDepth`  

The deprecated paletteBitDepth property is no longer returned in the metadata response. [github.com](https://github.com/lovell/sharp/releases/tag/v0.35.0)
- **Removed** `RGBA`  

RGBA was removed in sharp 0.35.0 [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.0)
- **Removed** `SharpOptions.failOnError`  

The deprecated failOnError constructor property has been removed and should no longer be passed. [npmjs.com](https://www.npmjs.com/package/sharp/v/0.35.0)

And 23 more in this version.

## Check your code

These are the changes. To see which of them reach your code, [scan a public repository](https://since.dev/scan.md), or have your coding agent call `check_code` with your manifest or lockfile over [MCP](https://since.dev/docs.md#mcp). [The API](https://since.dev/docs.md#api) reads every change in every version, not only the newest. On Team and up, a fix pull request opens for the changes that reach a connected repository. Nothing merges or deploys.

## Put your code on continuous management.

Scan a public repository now, or give your agent one line.

### See how out of date your code is.

[Scan a repository](https://since.dev/scan.md). Any public GitHub repository. No sign-in.

### Tell your agent what changed since it was trained.

`claude mcp add --transport http since https://api.since.dev/mcp`

---

Every page on this site as Markdown: https://since.dev/sitemap.md. For agents: https://since.dev/llms.txt.
