PackageTrack

npm · #4031

@xyflow/react

12.11.5xyflow/xyflow

React Flow - A highly customizable React library for building node-based editors and interactive flow charts.

Release timeline

84 releases since 2024
202420252026

Releases

  1. 12.11.525 Aug 2026
    Release notes

    Patch Changes

    Open source →
  2. 12.11.425 Aug 2026
    Release notes

    Patch Changes

    • #5974 8c42922 - Minimap still works after ReactFlow remounts

    • #5962 cbf40b9 - Show log if user hides attribution in development

    • #5976 3319ef4 - Fix the MiniMap zooming out to include the origin when every node is hidden.

    • #5955 965ca70 - Fix MiniMap calling useCallback conditionally for onNodeClick.

    Open source →
  3. 12.11.312 Aug 2026
    Release notes

    Patch Changes

    • #5902 393d951 - Allow middle-mouse viewport panning to start from a selection rectangle.

    • #5889 ff126a0 - Fix extent: 'parent' not immediately resolving when parent has width or initialWidth.

    • #5943 d1def59 - Invoke an error if handle can not be found

    • #5947 2ba040f - Use correct nodeExtent for internal setNodes.

    • #5918 c5d7442 - Fix selection box appearing when dragging the pane via touch. Prefer touch panning over drag selection when selectionOnDrag is combined with mouse-button-specific panOnDrag settings.

    • #5922 392da00 - Allow Control to activate pane panning with a primary-button drag.

    • #5929 4c5d7d2 - Allow key combinations of three or more keys (e.g. 'Meta+Shift+s') for useKeyPress.

    • #5938 91a052f - Fix <Background /> pattern offset miscalculation.

    • Updated dependencies [393d951, ff126a0, e5d86bd, 392da00]:

    Open source →
  4. 12.11.26 Jul 2026
    Release notes

    Patch Changes

    Open source →
  5. 12.11.122 Jun 2026
    Release notes

    Patch Changes

    • #5815 87da45c - Fix FinalConnectionState type so it preserves the discriminated union.

    • #5823 a6afc91 - Update attribution link

    • #5824 6b1dac5 - Do not fire on pane click when connection ends on pane

    • #5818 4ddc2d8 - Provide the shared handle config (connectOnClick, noPanClassName, rfId) through context instead of subscribing to the store in every Handle, so a store update no longer runs a selector once per handle

    • #5817 8df250b - Reduce per-handle work on store updates by returning a shared connection state while no connection is in progress.

    • #5822 a6249de - Return stable reference for edge position when connected node gets deleted

    • Updated dependencies [ceb8604, 87da45c]:

    Open source →
  6. 12.11.01 Jun 2026
    Release notes

    12.11.0

    Minor Changes

    • #5677 e6661de - Add autoPanOnSelection to auto-pan when user drags a selection close to the edge of the viewport.

    Patch Changes

    Open source →
  7. 12.10.227 Mar 2026
    Release notes

    Patch Changes

    Open source →
  8. 12.10.119 Feb 2026
    Release notes

    Patch Changes

    Open source →
  9. 12.10.04 Dec 2025
    Release notes

    Minor Changes

    Patch Changes

    Open source →
  10. 12.9.313 Nov 2025
    Release notes

    Patch Changes

    Open source →
  11. 12.9.230 Oct 2025
    Release notes

    Patch Changes

    Open source →
  12. 12.9.128 Oct 2025
    Release notes

    Patch Changes

    Open source →
  13. 12.9.020 Oct 2025
    Release notes

    Minor Changes

    Patch Changes

    Open source →
  14. 12.8.626 Sept 2025

    Nothing published for this version

  15. 12.8.517 Sept 2025
    Release notes

    Patch Changes

    Open source →
  16. 12.8.420 Aug 2025
    Release notes

    Patch Changes

    Open source →
  17. 12.8.313 Aug 2025
    Release notes

    Patch Changes

    Open source →
  18. 12.8.211 Jul 2025
    Release notes

    Patch Changes

    Open source →
  19. 12.8.127 Jun 2025
    Release notes

    Patch Changes

    Open source →
  20. 12.8.027 Jun 2025
    Release notes

    Minor Changes

    Patch Changes

    Open source →
  21. 12.7.123 Jun 2025
    Release notes

    Patch Changes

    Open source →
  22. 12.7.011 Jun 2025
    Release notes

    Minor Changes

    Patch Changes

    Open source →
  23. 12.6.415 May 2025
    Release notes

    Patch Changes

    Open source →
  24. 12.6.314 May 2025
    Release notes

    Patch Changes

    Open source →
  25. 12.6.214 May 2025
    Release notes

    Patch Changes

    Open source →
  26. 12.6.112 May 2025
    Release notes

    Patch Changes

    Open source →
  27. 12.6.017 Apr 2025
    Release notes

    Minor Changes

    • #5219 4236adbc Thanks @moklick! - Add initialMinZoom, initialMaxZoom and initialFitViewOptions to ReactFlowProvider

    • #5227 a7d10ffc Thanks @moklick! - Add resizeDirection prop for the NodeResizeControl component

    Patch Changes

    Open source →
  28. 12.5.614 Apr 2025
    Release notes

    Patch Changes

    Open source →
  29. 12.5.57 Apr 2025
    Release notes

    Patch Changes

    Open source →
  30. 12.5.42 Apr 2025
    Release notes

    Patch Changes

    Open source →
  31. 12.5.31 Apr 2025
    Release notes

    Patch Changes

    Open source →
  32. 12.5.231 Mar 2025
    Release notes

    Patch Changes

    Open source →
  33. 12.5.127 Mar 2025
    Release notes

    Patch Changes

    Open source →
  34. 12.5.027 Mar 2025
    Release notes

    Minor Changes

    • #5067 acba901d Thanks @peterkogo! - You can now express paddings in fitViewOptions as pixels ('30px'), as viewport percentages ('20%') and define different paddings for each side.

    Patch Changes

    Open source →
  35. 12.4.425 Feb 2025
    Release notes

    Patch Changes

    Open source →
  36. 12.4.312 Feb 2025
    Release notes

    Patch Changes

    Open source →
  37. 12.4.221 Jan 2025
    Release notes

    Patch Changes

    Open source →
  38. 12.4.116 Jan 2025
    Release notes

    Patch Changes

    Open source →
  39. 12.4.015 Jan 2025
    Release notes

    Minor Changes

    • #4725 e10f53cf Thanks @peterkogo! - Add useNodeConnections hook to track all connections to a node. Can be filtered by handleType and handleId.

    Patch Changes

    Open source →
  40. 12.3.69 Dec 2024
    Release notes

    Patch Changes

    Open source →
  41. 12.3.511 Nov 2024
    Release notes

    Patch Changes

    Open source →
  42. 12.3.431 Oct 2024
    Release notes

    Patch Changes

    • #4772 7f670ab0 Thanks @mistic! - Splits exports field in package.json to support an explicit resolution for browser, node and default to resolve issues with webpack esm module resolution.

    • Updated dependencies [7f670ab0]:

    Open source →
  43. 12.3.330 Oct 2024
    Release notes

    Patch Changes

    Open source →
  44. 12.3.210 Oct 2024
    Release notes

    Patch Changes

    • #4722 e816bb69 Thanks @moklick! - Fix internal behaviour that mutated user nodes which led to an issue with Redux and immer
    Open source →
  45. 12.3.126 Sept 2024
    Release notes

    Patch Changes

    Open source →
  46. 12.3.012 Sept 2024
    Release notes

    Minor Changes

    • #4477 d5592e75 Thanks @peterkogo! - Add getNodesBounds to useReactFlow/useSvelteFlow hook as the new recommended way of determining node bounds.

    Patch Changes

    Open source →
  47. 12.2.14 Sept 2024
    Release notes

    Patch Changes

    Open source →
  48. 12.2.028 Aug 2024
    Release notes

    Minor Changes

    Patch Changes

    Open source →
  49. 12.1.119 Aug 2024
    Release notes

    Patch Changes

    Open source →
  50. 12.1.015 Aug 2024
    Release notes

    Minor Changes

    Patch Changes

    Open source →
  51. 12.0.430 Jul 2024
    Release notes

    Patch Changes

    Open source →
  52. 12.0.318 Jul 2024
    Release notes

    Patch Changes

    Open source →
  53. 12.0.215 Jul 2024
    Release notes

    Patch Changes

    Open source →
  54. 12.0.110 Jul 2024
    Release notes

    Patch Changes

    Open source →
  55. 12.0.09 Jul 2024
    Release notes

    React Flow 12 is finally out! With a new package name @xyflow/react!

    Main features

    • SSR / SSG: you can define width, height and handles for the nodes. This makes it possible to render a flow on the server and hydrate on the client: SSR guide
      • Details: In v11, width and height were set by the library as soon as the nodes got measured. This still happens, but we are now using measured.width and measured.height to store this information. In the previous versions there was always a lot of confusion about width and height. It’s hard to understand, that you can’t use it for passing an actual width or height. It’s also not obvious that those attributes get added by the library. We think that the new implementation solves both of the problems: width and height are optional attributes that can be used to define dimensions and the measured dimensions are stored in measured.
    • Reactive Flows: The new hooks useHandleConnections and useNodesData and the new updateNode and updateNodeData functions can be used for managing the data flow between your nodes: computing flows guide
      • Details: Working with reactive flows is super common. You update node A and want to react on those changes in the connected node B. Until now everyone had to come up with a custom solution. With this version we want to change this and give you performant helpers to handle this. If you are excited about this, you can check out this example:
    • Dark mode and css variables: React Flow now comes with a built-in dark mode, that can be toggled by using the new colorMode prop (”light”, “dark” or “system”): dark mode example
      • Details: With this version we want to make it easier to switch between dark and light modes and give you a better starting point for dark flows. If you pass colorMode=”dark”, we add the class name “dark” to the wrapper and use it to adjust the styling. To make the implementation for this new feature easier on our ends, we switched to CSS variables for most of the styles. These variables can also be used in user land to customize a flow.

    More features and updates

    There is more! Besides the new main features, we added some minor things that were on our list for a long time. We also started to use TS docs for better docs. We already started to add some docs for some types and hooks which should improve the developer experience.

    • useConnection hook: With this hook you can access the ongoing connection. For example, you can use it for colorizing handles styling a custom connection line based on the current start / end handles.
    • Controlled viewport: This is an advanced feature. Possible use cases are to animate the viewport or round the transform for lower res screens for example. This features brings two new props: viewport and onViewportChange.
    • ViewportPortal component: This makes it possible to render elements in the viewport without the need to implement a custom node.
    • onDelete handler: We added a combined handler for onDeleteNodes and onDeleteEdges to make it easier to react to deletions.
    • onBeforeDelete handler: With this handler you can prevent/ manage deletions.
    • isValidConnection prop: This makes it possible to implement one validation function for all connections. It also gets called for programmatically added edges.
    • autoPanSpeed prop: For controlling the speed while auto panning.
    • Background component: add patternClassName prop to be able to style the background pattern by using a class name. This is useful if you want to style the background pattern with Tailwind for example.
    • onMove callback gets triggered for library-invoked viewport updates (like fitView or zoom-in)
    • deleteElements now returns deleted nodes and deleted edges
    • add origin attribute for nodes
    • add selectable attribute for edges
    • Node Resizer: child nodes don't move when the group is resized, extent and expand is recognized correctly
    • Correct types for BezierEdge, StepEdge, SmoothStepEdge and StraightEdge components
    • New edges created by the library only have sourceHandle and targetHandle attributes when those attributes are set. (We used to pass sourceHandle: null and targetHandle: null)
    • Edges do not mount/unmount when their z-index change
    • connection line knows about the target handle position so that the path is drawn correctly
    • nodeDragThreshold is 1 by default instead of 0
    • a better selection box usability (capture while dragging out of the flow)
    • add selectable, deletable, draggable and parentId to NodeProps
    • add a warning when styles not loaded
    Open source →
  56. 12.0.0-next.289 Jul 2024pre-release

    Nothing published for this version

  57. 12.0.0-next.278 Jul 2024pre-release

    Nothing published for this version

  58. 12.0.0-next.264 Jul 2024pre-release

    Nothing published for this version

  59. 12.0.0-next.251 Jul 2024pre-release

    Nothing published for this version

  60. 12.0.0-next.2420 Jun 2024pre-release

    Nothing published for this version