Skip to content

v0.3.0

Latest

Choose a tag to compare

@github-actions github-actions released this 03 Jun 21:37
· 1 commit to main since this release

v0.3.0

This release is a full rewrite of pi-generative-ui: widgets now render as display-only native windows with faster streaming, cross-platform support, a typed host/runtime protocol, and a much cleaner extension structure.

Highlights

  • Display-only widgets: no more long agent-side waits for callbacks; in-widget controls, animations, charts, and hover states still work normally.
  • Cross-platform window support through glimpseui@0.8.1 and platform shims for macOS, Linux, and Windows.
  • SVG export menu: hover SVGs to copy or save styled SVG output.
  • More reliable external scripts: Chart.js, D3, Mermaid, and similar CDN scripts are loaded in order before inline widget code runs.
  • Runtime split: page-side code is now TypeScript bundled by esbuild instead of string-built IIFEs inside index.ts.
  • Typed RPC/protocol layer between the Pi host and widget runtime.
  • 34-test suite plus cross-platform CI matrix.
  • npm release CI for future tagged releases.

Breaking changes

  • window.glimpse.send(data) from widgets is now a no-op. Widgets are intentionally display-only.
  • Pi peer dependencies moved from @mariozechner/* to @earendil-works/*, and @sinclair/typebox moved to typebox.
  • The package now whitelists npm files with "files": [".pi/"].

Thanks

Huge thanks to @philipbrembeck for PR #4, which added the original SVG export menu and kicked off this rewrite. The implementation landed in rewritten form as part of PR #5, but the idea and push came from Philip's contribution.

Changes

  • #5 — refactor: rewrite generative-ui extension — display-only widgets, cross-platform, typed protocol
  • #4 — Add SVG export menu to widgets, credited above; closed because the full rewrite superseded it

Full changelog: v0.2.1...v0.3.0