NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #1327 most downloaded on npm
<img src="https://react-resizable-panels.vercel.app/og.png" alt="react-resizable-panels logo" width="400" height="210" />
Last release 2 days ago
02 Oct 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
5 versions withdrawn
withdrawn after publishing
4 years old
213 releases · first in 2022
Collapsible Panels will always call onCollapse on-mount regardless of their collapsed state.
Panels will always call onCollapse on-mount regardless of their collapsed state.* #75: Ensure Panel and PanelGroup callbacks are always called after mounting.
Panel and PanelGroup callbacks are always called after mounting.One column per quarter.
Fix edge case when expanding a panel via imperative API that was collapsed by user drag
Added onLayout prop to PanelGroup to be called when group layout changes. Note that some form of debouncing is recommended before processing these val
PanelGroups configured to auto-save.onLayout prop to PanelGroup to be called when group layout changes. Note that some form of debouncing is recommended before processing these values (e.g. saving to a database).* #58: Add imperative collapse, expand, and resize methods to Panel. * #64: Disable pointer-events inside of Panels during resize. This avoid edge cas
collapse, expand, and resize methods to Panel.pointer-events inside of Panels during resize. This avoid edge cases like nested iframes.window.document. This more closely matches React's own check and avoids false positives for environments that alias window to some global object.* #53: Avoid useLayoutEffect warning when server rendering. Render panels with default style of flex: 1 1 auto during initial render.
useLayoutEffect warning when server rendering. Render panels with default style of flex: 1 1 auto during initial render.* #4: Add collapsible and onCollapse props to Panel to support auto-collapsing panels that resize beyond their minSize value (similar to VS Code's pan
collapsible and onCollapse props to Panel to support auto-collapsing panels that resize beyond their minSize value (similar to VS Code's panel UX).Reduce style re-calc from resize-in-progress cursor style.
While a resize is active, the global cursor style now reliably overrides per-element styles (to avoid flickering if you drag over e.g. an anchor eleme
https://github.com/bvaughn/react-resizable-panels/issues/49: Change cursor based on min/max boundaries.
* #40: Add optional maxSize prop to Panel. * #41: Add optional onResize prop to Panel. This prop can be used (along with defaultSize) to persistence l
Replaced the "ew-resize" and "ns-resize" cursor style with "col-resize" and "row-resize".
Add displayName to Panel, PanelGroup, PanelGroupContext, and PanelResizeHandle to work around ParcelJS scope hoisting renaming.
displayName to Panel, PanelGroup, PanelGroupContext, and PanelResizeHandle to work around ParcelJS scope hoisting renaming.0.0.20Corrupt TypeScript type definitions. Don't use this version.
Corrupt TypeScript type definitions. Don't use this version.
displayName to Panel, PanelGroup, PanelGroupContext, and PanelResizeHandle to work around ParcelJS scope hoisting renaming.Add optional style and tagName props to Panel, PanelGroup, and PanelResizeHandle to simplify custom styling.
style and tagName props to Panel, PanelGroup, and PanelResizeHandle to simplify custom styling.data-panel-group-direction attribute to PanelGroup and PanelResizeHandle to simplify custom drag handle styling.Panel and PanelGroup now use overflow: hidden style by default to avoid potential scrollbar flickers while resizing.
Panel and PanelGroup now use overflow: hidden style by default to avoid potential scrollbar flickers while resizing.Bug fix: Panel styles include flex-basis, flex-shrink, and overflow so that their sizes are not unintentionally impacted by their content.
Panel styles include flex-basis, flex-shrink, and overflow so that their sizes are not unintentionally impacted by their content.Bug fix: Resize handle ARIA attributes now rendering proper min/max/now values for Window Splitter.
PanelContext in favor of adding data-resize-handle-active attribute to active resize handles. This attribute can be used to update the style for active handles.* #30: PanelGroup uses display: flex rather than absolute positioning. This provides several benefits: (a) more responsive resizing for nested groups,
PanelGroup uses display: flex rather than absolute positioning. This provides several benefits: (a) more responsive resizing for nested groups, (b) no explicit width/height props, and (c) PanelResizeHandle components can now be rendered directly within PanelGroup (rather than as children of Panels).* #23: Fix small regression with autoSaveId that was introduced with non-deterministic useId ids.
autoSaveId that was introduced with non-deterministic useId ids.PanelGroup component now sets position: relative style by default, as well as an explicit height and width style.
useId (when available). Panel components no longer require a user-provided id prop and will also fall back to using useId when none is provided.PanelGroup component now sets position: relative style by default, as well as an explicit height and width style.Bug fix: https://github.com/bvaughn/react-resizable-panels/issues/19: Fix initial "jump" that could occur when dragging started.
Drag UX change: Reversing drag after dragging past the min/max size of a panel will no longer have an effect until the pointer overlaps with the resiz
Corrupt build artifact. Don't use this version.
* #13: PanelResizeHandle should declare "separator" role and implement the recommended "Window Splitter" pattern
* #7: Support "touch" events for mobile compatibility.
Add PanelContext with activeHandleId property identifying the resize handle currently being dragged (or null). This enables more customized UI/UX when
Removed panelBefore and panelAfter props from PanelResizeHandle. PanelGroup now infers this based on position within the group.
TypeScript props type fix for PanelGroup's children prop.
PanelGroup's children prop.* #8: Added optional order prop to Panel to improve conditional rendering.
order prop to Panel to improve conditional rendering.* #3: Panels can be conditionally rendered within a group. PanelGroup will persist separate layouts for each combination of visible panels.
Panels can be conditionally rendered within a group. PanelGroup will persist separate layouts for each combination of visible panels.- Documentation-only update.
- Initial release.
Your coding agent can read these notes before it upgrades. Set up the MCP server →