# What changed in @dnd-kit/dom

> 44 changes in @dnd-kit/dom 0.4 to 0.5 from its official release notes, upgrade guides and advisories: 7 breaking, 13 new APIs and options. Each one cited. Sources checked 2026-10-28. HTML: https://unstale.sh/npm/@dnd-kit/dom/

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

## @dnd-kit/dom 0.5

### New APIs and options

- Adds a getter to the drag operation status indicating whether initialization is pending. (0.5.1) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.5.1)
- A helper exported from @dnd-kit/dom/sortable preserves explicit null transitions while merging partial transitions with defaults. (0.5.1) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.5.1)
- StyleInjector.register() accepts retain for rules that are inert outside a drag, allowing styles to remain injected between drag operations. (0.5.1) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.5.1)
- Accepts an object to disable dragging and dropping independently in useSortable, createSortable and Sortable, while preserving boolean behavior. (0.5.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.5.0)

### Performance

- Auto-scrolling reuses each scroll container's position measurement to avoid duplicate layout reads. (0.5.1) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.5.1)

### Behavior and default changes

- Keyboard shortcuts are matched against KeyboardEvent.key, so controls respect keyboard layouts and operating system key remaps; legacy Key_ and Digit_ configs still normalize. (0.5.1) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.5.1)
- Supports non-contiguous sortable indexes. (0.5.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.5.0)

### Fixes and other changes

- The Accessibility plugin no longer sets aria-pressed on draggable activators whose role is not button. (0.5.1) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.5.1)
- Importing the modifiers subpath no longer requires ResizeObserver at import time in DOM-like test environments. (0.5.1) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.5.1)
- Pointer moves received while a drag operation initializes are recorded so the drag position catches up when the operation starts. (0.5.1) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.5.1)
- Narrowing with isSortable preserves custom data types instead of widening them to any. (0.5.1) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.5.1)
- Narrowing with isSortableOperation preserves custom data types, with source and target data types inferred independently. (0.5.1) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.5.1)
- Body-targeted clicks following pointer drops no longer unexpectedly dismiss popups, while iframe dragging is preserved. (0.5.1) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.5.1)
- Fixes stale initialIndex and initialGroup in onBeforeDragStart after an item moves. (0.5.1) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.5.1)
- React, Vue, Solid, and Svelte sortable bindings now respect transition: null instead of replacing it with the default transition. (0.5.1) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.5.1)
- Fixes flickering after drop. (0.5.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.5.0)
- Avoids a TypeError when getComputedStyle returns undefined for the individual scale CSS transform property on unsupported browsers. (0.5.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.5.0)
- Avoids a TypeError when getComputedStyle returns undefined for the individual translate CSS transform property on unsupported browsers. (0.5.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.5.0)
- Allows pointer dragging from descendants of interactive draggable elements, such as text inside sortable anchor elements. (0.5.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.5.0)

## @dnd-kit/dom 0.4

### Breaking changes

- Animation resolution uses last-wins semantics matching CSS composite order, selecting the latest matching keyframe and latest value per CSS property. (0.4.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.4.0)
- Introduces event handler signatures, replacing DragDropEvents when typing event handlers. (0.4.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.4.0)
- The ambiguous type is split into DragDropEventMap and DragDropEventHandlers; its re-export from @dnd-kit/react and @dnd-kit/solid is removed. (0.4.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.4.0)
- The feedback property is moved from Draggable and Sortable hook input to per-entity Feedback plugin configuration. (0.4.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.4.0)
- StyleInjector accepts a nonce applied to all injected style elements; nonce options are removed from Cursor, PreventSelection, and Feedback. (0.4.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.4.0)
- Uses manual offset calculations for nested scroll containers; the centerIfNeeded boolean parameter is replaced by an options object with block and inline values. (0.4.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.4.0)
- Renames StyleSheetManager and centralizes injected-style nonce configuration in the StyleInjector plugin. (0.4.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.4.0)

### New APIs and options

- Adds an option controlling the base scroll speed multiplier; its default is 25. (0.4.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.4.0)
- Adds a configurable scroll activation zone, accepting one number or per-axis values; setting an axis to 0 disables auto-scrolling on that axis. (0.4.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.4.0)
- Introduces the event-name-to-event-object type map, replacing DragDropEvents when typing event objects. (0.4.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.4.0)
- Draggable entities accept per-entity plugin configuration; listed plugins are registered on the manager if needed, and plugins can read entity options through source.pluginConfig. (0.4.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.4.0)
- Drop animation can now be configured per draggable through Feedback plugin configuration. (0.4.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.4.0)
- The context now includes the draggable entity as `source`, enabling conditional animation logic. (0.4.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.4.0)
- The Feedback plugin option now accepts a callback that chooses the feedback type using the source and manager context. (0.4.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.4.0)
- Adds control over the CSS transition for keyboard-driven moves, including duration and easing customization or disabling it with null. (0.4.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.4.0)
- Sortable plugins now accept a function receiving the default plugins, allowing additions without replacing defaults. (0.4.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.4.0)

### Behavior and default changes

- The Feedback plugin supports the full CSS transform property; transform-related transitions are filtered, and shape calculation avoids re-measuring during transitions. (0.4.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.4.0)

### Fixes and other changes

- Options are recalculated in the effect to avoid stale data. (0.4.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.4.0)
- Namespace-aware deep cloning preserves inline SVG children during mutation sync, preventing incorrect placeholder dimensions and misaligned drop animations. (0.4.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.4.0)
- Entity id changes are deferred and flushed atomically, preventing stale or duplicate registry entries from causing collision oscillation during virtualized sorting. (0.4.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.4.0)
- The placeholder stays adjacent to the source when a VDOM framework reorders sibling elements during a drag. (0.4.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.4.0)
- Type narrowing now identifies sortable draggables and exposes initialIndex. (0.4.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.4.0)
- The bind cleanup function now removes entries from the internal set, preventing detached DOM nodes from being retained in memory. (0.4.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.4.0)
- Cleanup aborts pending activation delay timers and handles setPointerCapture failures, fixing stale pointer activation errors on touch devices. (0.4.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.4.0)
- Cancels CSS transitions on transform-related properties before measuring to ensure correct FLIP deltas. (0.4.0) — [release notes](https://github.com/clauderic/dnd-kit/releases/tag/%40dnd-kit/dom%400.4.0)
