Skip to content

v0.30.0

Latest

Choose a tag to compare

@shiroyasha shiroyasha released this 27 Jul 19:33
896f1f9

What's new since v0.29.0

v0.30.0 is anchored by Software Factory's new app onboarding flow and a run-context expression for linking back into workflows, plus a wide GitLab expansion, a new Linear integration, and a round of reliability work for cross-app runs, runner tasks, and canvas versioning.

Run context

  • Expressions gain a run() function — run().id, run().url (a direct link to the run in the SuperPlane UI), and run().started_at — available anywhere $, root(), and previous() already work, so a Slack message or any other component can link straight back to the run that produced it.

Software Factory

  • New apps get a factory-first landing page with inline setup, and installs can now ship straight to production from that new-app landing.
  • Kanban cards now correlate to the right GitHub issue by number, and starting-task prompts and labels are clearer.

1 new integration

  • Linear joins the integrations list with createIssue and an onIssue trigger, quickly followed by getIssue and updateIssue components.

Improvements to existing integrations

  • GitLab keeps expanding: onPush/onBranchCreated triggers, getIssue/updateIssue/createIssueComment/updateIssueComment components, createMergeRequest plus a merge-request-reviewer component, updateMergeRequest, addIssueLabel and markMergeRequestReadyForReview, new onIssueComment/onMRDiffNote triggers, expanded onIssue/onMergeRequest action fields, and a refreshed setup guide.
  • GitHub adds an updatePullRequest component.
  • Claude/Cursor: a new Run Claude Code runner component, structured output support for both Run Claude Agent and Run Code Agent, a refactor of agent/environment selection on the Run Claude Agent component, and a fix so runAgent sessions are reclaimed correctly when a run ends badly.

Workflow and execution

  • Runs can now be cancelled asynchronously, backed by a new ExecutionTerminator worker, and cross-app runs can be triggered synchronously with a configurable timeout.
  • Node cleanup workers were refactored to be run-centric, with a dedicated completed-node-request cleanup worker (an earlier soft-delete cleanup worker was shipped and then reverted pending further work).
  • The task-broker protocol picked up named command_list entries, task files on create-task, and object-form commands, while runners gained environmentFrom and integration/secret field types, clearer waiting-for-logs and Task ID labeling, finalized terminal log sections, and propagated task errors in the finished payload.
  • A stalled-loop-execution fix (and its revert) landed, along with a scheduler fix so the first run no longer skips the current hour when the minute hasn't passed yet.

Canvas versioning and editing

  • Returning to the live version from history preview, or using "See Current Version" mid-edit, now resyncs the staged draft correctly instead of leaving it stale.
  • ListCanvasVersions returns metadata only (with the spec loaded on selection), and canvas versions load through the new DescribeCanvasVersion call.
  • Notes can be cloned on the canvas, the diff view normalizes YAML field ordering before comparing, and the commit form submits on enter.

Security

  • API keys gain scopes and expiration, CanvasService handlers now enforce organization scoping, and outgoing SMTP headers are sanitized to prevent CRLF injection.

Bug Fixes

  • UI diff view does not normalize YAML field ordering before comparison (#6158) by @superplane-gh-integration-9000[bot]
  • Components filter should take into account subheader text (#6167) by @superplane-gh-integration-9000[bot]
  • Select/multi-select dropdown gets cut off when it is the last field in component config (#6163) by @superplane-gh-integration-9000[bot]
  • Relatively long commit message overflows in the commit message input (#6179) by @superplane-gh-integration-9000[bot]
  • Reclaim claude runAgent sessions when a run ends badly (#6097) by @WashingtonKK
  • Apply dark theme on owner setup pages (#6193) by @lucaspin
  • Restore dark mode surfaces (#6195) by @forestileao
  • Simplify owner setup (#6198) by @forestileao
  • Fail stalled loop executions (#6201) by @forestileao
  • Scheduler: first run skips current hour when minute has not passed yet (#6231) by @superplane-gh-integration-9000[bot]
  • Resync staged draft when returning to live version from history preview (#6249) by @lucaspin
  • Clone notes on the canvas (#6250) by @superplane-gh-integration-9000[bot]
  • Only resync staged draft on See Current Version during edit session (#6251) by @lucaspin
  • Include runner task error in finished payload (#6273) by @forestileao
  • Finalize terminal runner log sections (#6277) by @forestileao
  • Submit commit form on enter (#6278) by @superplane-gh-integration-9000[bot]
  • Ship Claude Code bash steps as raw user commands (#6282) by @shiroyasha
  • Runners summary: task_id should be Task ID (#6279) by @superplane-gh-integration-9000[bot]
  • Improve AGENTS.md with clearer structure, setup steps, and contribution guidelines (#6286) by @superplane-gh-integration-9000[bot]
  • Improve global command palette dark theme for search results (#6294) by @lucaspin
  • Restore missing runs icon on Console tab of app page (#6298) by @superplane-gh-integration-9000[bot]
  • Add widget-level option to allow concurrent run submissions on node widget trigger buttons (#6307) by @superplane-gh-integration-9000[bot]
  • Add unit test for crypto.HashPassword and VerifyPassword (#6337) by @superplane-gh-integration-9000[bot]
  • Small UX adjustments on runApp and onRun components (#6299) by @lucaspin
  • Use shared SecretsContext test double in http component tests (#6347) by @superplane-gh-integration-9000[bot]
  • Return metadata-only from ListCanvasVersions and load spec on selection (#6351) by @lucaspin
  • Correlate factory kanban cards by issue number (#6352) by @forestileao
  • Enforce organization scoping on CanvasService handlers (#6354) by @lucaspin
  • Sanitize SMTP headers to prevent CRLF injection (#6355) by @forestileao
  • Use registryimports in integrations count script (#6367) by @shiroyasha
  • Selected text in agent chat isn't readable in dark mode (#6373) by @superplane-gh-integration-9000[bot]

Improvements

New features


Full Changelog: v0.29.0...v0.30.0