# What changed in @tiptap/extension-drag-handle

> 19 changes in @tiptap/extension-drag-handle 3 from its official release notes, upgrade guides and advisories: 2 new APIs and options. Each one cited. Sources checked 2026-11-12. HTML: https://unstale.sh/npm/@tiptap/extension-drag-handle/

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

## @tiptap/extension-drag-handle 3

### New APIs and options

- Added an option to limit which CSS properties are cloned for the drag image, reducing the cost of dragging selections with complex nodes. (3.23.6) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-drag-handle/CHANGELOG.md#3236)
- Drag handle elements now have a data-dragging attribute to track drag state. (3.13.0) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-drag-handle/CHANGELOG.md#3130)

### Behavior and default changes

- Drag handles can appear for nested content such as list items and blockquotes, with configurable edge detection and custom rules. (3.17.0) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-drag-handle/CHANGELOG.md#3170)

### Fixes and other changes

- The handle resolves to the correct block around zero-size widget decorations and stays above positioned page chrome so it remains clickable. (3.27.2) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-drag-handle/CHANGELOG.md#3272)
- NodeRangeSelection is now restored after drag-and-drop when Collaboration (Yjs) is enabled. (3.27.2) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-drag-handle/CHANGELOG.md#3272)
- Margins explicitly listed in dragImageProperties are preserved on the drag preview instead of being reset to 0. (3.27.1) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-drag-handle/CHANGELOG.md#3271)
- Fixes multi-block drags in nested mode so they remove all dragged blocks instead of only the first. (3.27.0) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-drag-handle/CHANGELOG.md#3270)
- After dragging multiple blocks, the dragged blocks remain selected instead of leaving a text selection inside the moved content. (3.26.1) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-drag-handle/CHANGELOG.md#3261)
- Fixed ghost image alignment when dragging blocks inside offset layouts and preserved correct behavior for RTL content. (3.22.4) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-drag-handle/CHANGELOG.md#3224)
- Fixed drag selections so crossing a node boundary does not incorrectly include the next node. (3.22.3) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-drag-handle/CHANGELOG.md#3223)
- The ghost wrapper uses the dragged block’s computed direction, and the drag image hotspot uses the cursor position relative to the wrapper, aligning the preview in LTR and RTL. (3.22.1) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-drag-handle/CHANGELOG.md#3221)
- Falls back to view.posAtCoords when elementsFromPoint returns no matching block, resolving the position to the top-level block node. (3.21.0) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-drag-handle/CHANGELOG.md#3210)
- Cloned drag images are now removed when dragging ends without a valid drop. (3.20.6) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-drag-handle/CHANGELOG.md#3206)
- Fixes the drag event listener being removed when a plugin is registered after the DragHandle plugin. (3.20.1) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-drag-handle/CHANGELOG.md#3201)
- Fixes drag handles not appearing for atom/leaf nodes like images in nested and non-nested modes. (3.20.0) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-drag-handle/CHANGELOG.md#3200)
- Fixes drag position resolving outside the document when dragging an empty text node at the end of the document. (3.20.0) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-drag-handle/CHANGELOG.md#3200)
- Prevents drag handles on table rows, cells, and headers, and fixes ghost table rows when dragging tables. (3.20.0) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-drag-handle/CHANGELOG.md#3200)
- Fixed a Firefox bug that made the text caret invisible after drag and drop. (3.17.0) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-drag-handle/CHANGELOG.md#3170)
- Resolves the parent when nodeAt(pos) is null, including inside an atom node that allows inline content. (3.14.0) — [release notes](https://github.com/ueberdosis/tiptap/blob/db790a7c5a6009b0a94382e12e1a5e9c642e1660/packages/extension-drag-handle/CHANGELOG.md#3140)
