0.454 (18 May 2026)

18 May, 2026

This release improves the Flows signature UI element with a new toPngDataURL() method and makes the new keel run engine the default for local development.

Signature PNG Export

The signature Flow UI element now returns a Signature object with an async toPngDataURL() method. This makes it easy to convert a captured signature into a PNG image, for example to store it as a file.

const page = await ctx.ui.page("sign", {
  title: "Please sign",
  content: [
    ctx.ui.inputs.signature("signature", { label: "Your signature" }),
  ],
});
 
// Convert the signature SVG to a PNG data URL
const pngDataUrl = await page.signature.toPngDataURL();
 
// The signature object also exposes the raw SVG and timestamp
console.log(page.signature.svg);       // SVG string
console.log(page.signature.signedAt);  // ISO timestamp

The ipAddress field has also been removed from the signature element's data — only svg and signedAt are now captured.

Improved keel run Engine

The new local development engine is now the default when running keel run. Key improvements include:

  • Clickable file paths — Schema and migration errors now show absolute file paths that are clickable in your terminal
  • "Did you mean..." suggestions — Typos in your schema now surface helpful hints
  • Better migration errors — Database migration failures now include the underlying error context (table, column, and SQL state)
  • TypeScript errors on boot — Type errors in your functions are now caught on the initial build, not only after a file save

The previous --experimental flag has been removed. If you need the old TUI, you can use --legacy to opt back in.

Fixes and Improvements

For a full list of fixes and improvements, check out our GitHub releases page (opens in a new tab).

For any issues or feedback, please contact us at help@keel.so.

Thank you for using Keel!