---
title: v0.21.0 - 4th October 2018
slug: changelog/v0.21.0
---

* Deprecate the following resize-related functions:
    `crop`, `embed`, `ignoreAspectRatio`, `max`, `min` and `withoutEnlargement`.
  Access to these is now via options passed to the `resize` function.
  For example:
    `embed('north')` is now `resize(width, height, { fit: 'contain', position: 'north' })`,
    `crop('attention')` is now `resize(width, height, { fit: 'cover', position: 'attention' })`,
    `max().withoutEnlargement()` is now `resize(width, height, { fit: 'inside', withoutEnlargement: true })`.
  [#1135](https://github.com/lovell/sharp/issues/1135)

* Deprecate the `background` function.
    Per-operation `background` options added to `resize`, `extend` and `flatten` operations.
  [#1392](https://github.com/lovell/sharp/issues/1392)

* Add `size` to `metadata` response (Stream and Buffer input only).
  [#695](https://github.com/lovell/sharp/issues/695)

* Switch from custom trim operation to `vips_find_trim`.
  [#914](https://github.com/lovell/sharp/issues/914)

* Add `chromaSubsampling` and `isProgressive` properties to `metadata` response.
  [#1186](https://github.com/lovell/sharp/issues/1186)

* Drop Node 4 support.
  [#1212](https://github.com/lovell/sharp/issues/1212)

* Enable SIMD convolution by default.
  [#1213](https://github.com/lovell/sharp/issues/1213)

* Add experimental prebuilt binaries for musl-based Linux.
  [#1379](https://github.com/lovell/sharp/issues/1379)

* Add support for arbitrary rotation angle via vips_rotate.
  [#1385](https://github.com/lovell/sharp/pull/1385)
  [@freezy](https://github.com/freezy)
