# What changed in @tiptap/extension-image

> 16 changes in @tiptap/extension-image 1 to 3 from its official release notes, upgrade guides and advisories: 8 breaking, 3 new APIs and options. Each one cited. Sources checked 2026-10-27. HTML: https://unstale.sh/npm/@tiptap/extension-image/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @tiptap/extension-image 3

### Breaking changes

- Predefined inline styles were removed from the wrapper element to better support dynamic alignment and eliminate the need for `!important` overrides in user styles. (3.13.0) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-image/CHANGELOG.md#3130)

### New APIs and options

- ResizableNodeView accepts an optional callback to fully customize resize handles, replacing default handle creation and bypassing built-in positionHandle logic. (3.13.0) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-image/CHANGELOG.md#3130)
- Adds an option that adds resize handlers to images, allowing users to resize them via drag and drop or touch. (3.10.0) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-image/CHANGELOG.md#3100)

### Behavior and default changes

- Resize handles are dynamically attached or removed based on the editor’s editable state. (3.13.0) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-image/CHANGELOG.md#3130)

### Fixes and other changes

- Fixes resizable images staying hidden when the image is cached or fails to load. (3.30.2) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-image/CHANGELOG.md#3302)
- Fixes resizable images not synchronizing rendered attributes after updates. (3.29.0) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-image/CHANGELOG.md#3290)
- The editor DOM now applies configured HTMLAttributes when resize is enabled, consistent with renderHTML. (3.25.0) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-image/CHANGELOG.md#3250)
- Dragging an inline or resizable image within the editor moves it instead of inserting a duplicate. (3.25.0) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-image/CHANGELOG.md#3250)

## @tiptap/extension-image 2

### Breaking changes

- UMD builds have been removed; update code that depends on them. (2.0.0) — [upgrade guide](https://tiptap.dev/docs/guides/upgrade-tiptap-v2)

## @tiptap/extension-image 1

### Breaking changes

- The setting was renamed from `autoFocus` to `autofocus`. (1.0.0) — [upgrade guide](https://tiptap.dev/docs/guides/upgrade-tiptap-v1)
- Event callbacks receive fewer parameters; the same information should be available through `this.`. (1.0.0) — [upgrade guide](https://tiptap.dev/docs/guides/upgrade-tiptap-v1)
- Commands no longer focus the editor automatically; call `focus()` explicitly when needed. (1.0.0) — [upgrade guide](https://tiptap.dev/docs/guides/upgrade-tiptap-v1)
- Custom extensions must be rewritten for the new extension API and registered differently. (1.0.0) — [upgrade guide](https://tiptap.dev/docs/guides/upgrade-tiptap-v1)
- The `.state()` method was removed; state is available through `editor.state`. (1.0.0) — [upgrade guide](https://tiptap.dev/docs/guides/upgrade-tiptap-v1)
- The setting was removed; required extensions must be imported and registered explicitly. (1.0.0) — [upgrade guide](https://tiptap.dev/docs/guides/upgrade-tiptap-v1)

### New APIs and options

- Commands can now be combined in a chain; call `.run()` to execute the commands. (1.0.0) — [upgrade guide](https://tiptap.dev/docs/guides/upgrade-tiptap-v1)
