---
title: v0.35.0 - TBC
slug: changelog/v0.35.0
---

* Breaking: Drop support for Node.js 18, now requires Node.js >= 20.9.0.

* Breaking: Remove `install` script from `package.json` file.
  Compiling from source is now opt-in via the `build` script.

* Breaking: AVIF output is now tuned using SSIMULACRA2-based `iq` quality metrics rather than `ssim`.

* Breaking: Remove deprecated `failOnError` constructor property.

* Breaking: Remove deprecated `paletteBitDepth` from `metadata` response.

* Breaking: Remove deprecated properties from `sharpen` operation.

* Breaking: Rename `format.jp2k` as `format.jp2` for API consistency.

* Upgrade to libvips v8.18.0 for upstream bug fixes.

* Deprecate Windows 32-bit (win32-ia32) prebuilt binaries.

* Add AVIF/HEIF `tune` option for control over quality metrics.
  [#4227](https://github.com/lovell/sharp/issues/4227)

* Add `withGainMap` to process HDR JPEG images with embedded gain maps.
  [#4314](https://github.com/lovell/sharp/issues/4314)

* Add `toUint8Array` for output image as a `TypedArray` backed by a transferable `ArrayBuffer`.
  [#4355](https://github.com/lovell/sharp/issues/4355)

* TypeScript: Ensure `FormatEnum` keys match reality.
  [#4475](https://github.com/lovell/sharp/issues/4475)

* Add `margin` option to `trim` operation.
  [#4480](https://github.com/lovell/sharp/issues/4480)
  [@eddienubes](https://github.com/eddienubes)

* Add WebP `exact` option for control over transparent pixel colour values.
