What 1.0 promises
From 1.0.0, Flowinger follows semantic versioning: a change that breaks anything on this
page waits for 2.0. Until then the version is 0.x, and a minor release may change the API — each change is
listed under Changed in the changelog. This page says now what the contract will be, so you
can see what you are building on before it is in force. Upgrading to 1.0 says what changes on the
way there.
Covered
Section titled “Covered”- Everything exported from
flowingerand its subpaths —flowinger/history,/clipboard,/snaplines,/export,/smart-edges,/editable-edge,/shapes,/treeand/pro: the components and their props, the instance (useReactFlow()), the hooks, the helpers (applyNodeChanges, the path functions,getNodesBounds…), the built-in features (dragFeature,allFeatures…),reactFlowDefaultsand the types. Except what is under Not covered below. useStoreanduseStoreApi, and the ten fields of the state they read (FlowingerState):panZoom,isReady,nodes,edges,transform,width,height,minZoom,maxZoom,nodesInitialized.- The defaults.
<FlowingerCanvas>and<FlowingerCore>have flowinger’s (interaction off until asked for — see the API reference); from 1.0,<ReactFlow>has React Flow’s (reactFlowDefaults). Changing a default is a breaking change. - What stylesheets and tests select on: the
react-flow__*class names on the engine’s elements; the test idsrf__wrapper,rf__node-<id>,rf__edge-<id>,rf__background,rf__controlsandrf__minimap; the viewport’stranslate(Xpx, Ypx) scale(Z)transform; and the--flowinger-*CSS variables of the theme. - Where it runs: React 18 and 19;
importandrequire, each with its own types; server rendering and hydration (server rendering).
Not covered
Section titled “Not covered”- Writing your own feature.
Feature,EngineContext,CanvasArgs,CanvasBits,NodeArgs,NodeBits,EdgeArgs,EdgeBits,LabelBoxPropsandEdgeAdornmentPropsare tagged@experimental: they reach into the store, which is still changing as it gets faster, so they may change in a minor release. The changelog will say when they do. Features says how to write one. experimental_useOnNodesChangeMiddlewareandexperimental_useOnEdgesChangeMiddleware, as in React Flow.- Anything not exported — the files under
src/, and the store object a feature is handed. - The text of development warnings, the elements inside a node or an edge beyond the class names and test ids above, and exact pixels: a fix to where an edge meets a handle may move it by one.
- Size. The budgets (20 kB gzipped for the core, 36 for the whole canvas) are checks in CI, not a promise; a release that grows either says so in the changelog.
- Bugs. Fixing one is a patch, even when something relied on it; a fix that is likely to be noticed says so in the changelog.
React Flow’s API
Section titled “React Flow’s API”Flowinger follows React Flow 12.11.6’s API (coverage). When a later React Flow adds a
name, Flowinger may add it in a minor release; when it changes a default or a behaviour, <ReactFlow> follows only
in a major one.
How something covered changes
Section titled “How something covered changes”Before a major release changes or removes something on this page, the minor release before it says so in
development — a warning, once a page, naming what to do — and in the changelog, the way 0.9 does for 1.0. Releases
go to npm from CI, with a provenance attestation: latest is the current release, next a release candidate.