Skip to content

v0.6.2

Choose a tag to compare

@github-actions github-actions released this 13 May 11:24
· 170 commits to main since this release
8b9beb5

[v0.6.2] - 2026-05-12

Fixed

  • Standalone bundle: foldMode was not forwarded to GraphViewer. The foldMode field on GraphConfig and the initialFoldMode prop on GraphViewer shipped in v0.6.0, but src/standalone/adapter.ts picked config keys out of the embedded pipelex-config JSON explicitly and silently dropped foldMode. Hosts of the IIFE bundle (graph-viewer.{js,css}, including pipelex's reactflow HTML output) couldn't seed the initial fold state — controllers always started fully expanded regardless of what the embedded config said. The adapter now validates foldMode against the FOLD_MODE constants ("folded" / "expanded" / "auto"), falls back to "expanded" on missing or invalid values, and forwards it to GraphViewer as both initialFoldMode and inside config. Config parsing was extracted into a new pure module src/standalone/viewerProps.ts (with buildViewerProps()) so the wire-through is now unit-tested. Third standalone-bundle wire-through gap in the v0.4–v0.6 window after the v0.4.1 / v0.6.1 missing-CSS fixes — consumers of the npm package were unaffected because they pass foldMode to GraphViewer directly.

Internal

  • Automated regression guards against standalone-bundle drift. Two CI-enforced parity tests close the gap that produced the v0.4.1 / v0.6.1 / v0.6.2 fixes. First: buildViewerProps was refactored to spread the embedded config blob (...cfg) and then override only validated fields (foldMode, direction, showControllers) — any future GraphConfig key now flows through automatically, eliminating the v0.6.2-shape bug class. A new viewerProps.test.ts parity test asserts every key in DEFAULT_GRAPH_CONFIG reaches the output, catching the case where someone reverts to cherry-picking. Second: the hand-maintained cssFiles allow-list in scripts/build-standalone.mjs was extracted into scripts/standaloneCssFiles.mjs (shared by the build and the test), and a new cssManifest.test.ts walks src/**/*.{ts,tsx} for relative .css imports and asserts every resolved path is present in the manifest. Together these prevent the next "wire-through silently dropped" regression from reaching a release.