Skip to main content

What's new in v7

Dockview 7.0 realigns the package names so the ecosystem is consistent (dockview for JavaScript, dockview-<framework> for each framework) and ships a new accessibility pack covering keyboard navigation and screen-reader announcements.

This page covers the headline additions. For the upgrade steps and the breaking changes, see Migrating to v7.

Highlights

Package realignment

dockview is now the framework-agnostic JavaScript package (a re-export of dockview-core), and the React bindings moved to dockview-react. Every framework package (dockview-react / -vue / -angular) consumes dockview. React users must switch their imports — see Migrating to v7.

Keyboard navigation & announcements

A new keyboardNavigation option enables a rebindable keymap for moving around the dock — tab switching, F6 group cycling, and jumping to the tab strip — alongside focus management (focus restore on close, floating-group focus containment). Layout changes can also be narrated to screen readers via a built-in live region, with hooks (announcements, getAnnouncement, announcer) and an i18n messages catalog.

Per-target drop overlays

The new dropOverlayModel callback shapes the drag-and-drop overlay per target (size, activation threshold, small-element boundaries), replacing the removed static rootOverlayModel.

Popout lifecycle events

onDidAddPopoutGroup and onDidRemovePopoutGroup fire as popout windows open and close (or dock back), and getPopouts() enumerates the open popout windows. See Events and Popout Groups.

Floating groups & popout windows as nested layouts

Floating groups and popout windows now host their own nested grid, so a single floating window or popout can hold a full splitview layout of groups rather than a single group. See Floating Groups and Popout Groups.

Layout-mutation transaction events

onWillMutateLayout / onDidMutateLayout bracket structural changes (add / remove / move / float / popout / maximize / load / clear) as a single transaction, each tagged with a 'user' or 'api' origin. See Events.

Active-panel origin

onDidActivePanelChange now reports whether the active panel changed from a user gesture or an API call via event.origin. This is a breaking payload change.

Breaking changes

v7's breaking changes are covered in full, with codemods, in Migrating to v7:

  • Package realignment — React bindings moved from dockview to dockview-react; dockview is now JavaScript core.
  • rootOverlayModel removed — use dropOverlayModel / dndEdges instead.
  • onDidActivePanelChange payload — now emits { panel, origin } instead of the panel directly.
  • dockview-core no longer bundles every feature — use dockview (or a framework package).
  • API naming cleanups — a few public types/events were renamed for consistency (e.g. onUnhandledDragOverEventonUnhandledDragOver, PaneviewDropEventPaneviewDidDropEvent) and some dead/deprecated members were removed. See Migrating to v7 for the full table.
Newsletter