Skip to content

Changelog

[0.0.10] - 2026-04-15

Added

  • Workflows: bulk export selected workflows as a ZIP of JSON exports.
  • Flow editor: single export now includes title, description and a stable fingerprint; import previews metadata and can optionally update workflow meta.
  • Imports: fingerprint-based duplicate detection with clear, translatable warnings and optional overwrite.

Fixed

  • Metadata: preserve workflow fingerprint when saving viewport and other editor metadata.

[0.0.9] - 2026-04-14

Added

  • Node access control: nodes can now show a dedicated non-executable notice, with localized hints, when a node is disabled during execution for the current role.
  • Flow editor: a persistent Save disabled badge is shown on the canvas when the workflow is read-only.
  • CORE node: Workflow Author exposes workflow author details as author.* with safe-by-default sanitization for admin-owned (“system”) workflows.

Changed

  • Node access control UX: read-only behavior is now consistent across nodes via shared UI flags (useNodeAccessUi) and shared notices.
  • Collapsed nodes: the Voodflow logo / “Connect data” placeholder is no longer shown when the node input is already connected.
  • Settings: redesigned the Node access control matrix with grouping, sorting and a lighter “Shield-style” layout.
  • Node generator CLI: newly generated nodes scaffold consistent access-control UX (read-only, delete gating, non-executable notice).

Fixed

  • Read-only workflows: backend write actions are silently ignored when the workflow is read-only to avoid modal/notification spam.

[0.0.8] - 2026-04-13

Added

  • Flow editor / model introspection: FlowWorkflow enriches field metadata with enum options when the attribute is cast to a PHP BackedEnum; if there is no enum cast but the column is treated as enum, distinct values are sampled from the database (up to 50) so the UI stays usable.

Fixed

  • Credentials admin: Last used (last_used_at) is now updated when Send Mail or HTTP Request nodes use a stored credential (they previously bypassed CredentialProxy). Failures call recordError() on the credential for visibility.
  • Model Update node: empty string values are normalized to null for attributes cast to backed enums, avoiding ValueError from Enum::from('').

Changed

  • Node registry: resources/js/nodeRegistry.js generation timestamp refreshed.

[0.0.7] - 2026-04-10

Added

  • Model metadata: EloquentRelationInspector and registry enrichment add a stable kind per relation (e.g. belongs_to_many vs belongs_to) so nodes rely on metadata instead of naming conventions.
  • Model Update / events: ModelRelationLoader eagerly loads relations from HasVoodflow or ModelRegistry after persistence; tag context merges WorkflowPayload::primaryRecordForTags for templates.
  • Flow editor: WorkflowUpstreamFieldHints walks upstream nodes through Merge so Update Model field suggestions match runtime payloads.
  • Filament: policies for credentials, executions, triggers, and message layouts; FilamentShieldPageAccess integrates Shield with dashboard and settings pages.

Fixed

  • Merge: optional waitForAllInputs defers execution until every incoming branch has output when parallel fan-in would otherwise fire downstream multiple times.

Changed

  • Update Model (UI): upstream field list prefers integration metadata then database columns; Merge panel exposes the wait-for-all-inputs toggle.

[0.0.6] - 2026-04-09

Fixed

  • Merge: Merge inputs use the live branch payload when available; for other branches the executor resolves the latest source output even when workflow_node_id uses a suffix (id#…), so downstream nodes and tags keep data after a merge.
  • Expression: 0 / '0' are no longer treated as an empty expression (PHP empty()); rows are considered configured explicitly.
  • Flow editor (React): fewer chained updates and duplicate Livewire listeners (FlowEditor, global bridge, useUpstreamHash, standard node behavior); mitigates React error #185 after runs; DataViewer avoids feedback loops on derived columns.

Changed

  • Merge node: requires at least one valid input (no longer two mandatory inputs).
  • System notifications: tags merge full context with the first normalized record from the current payload (WorkflowPayload::primaryRecordForTags), keeping aliases and scalar fields consistent with runtime.

[0.0.5] - 2026-04-08

Fixed

  • Flow editor: sticky notes use a stable width and auto-grow in height; dimensions persist more reliably; header label NOTE.
  • System notification: template context merges immediate upstream output (e.g. Aggregate aliases such as list_name) so tags resolve in title/body.
  • Aggregate: Pluck values and Collect array (push) are implemented in PHP (previously UI-only).
  • TagReplacer: lists of scalars (e.g. plucked names) render as comma-separated text instead of [Array with N items].

Changed

  • System notification “Available tags”: suggestions and clipboard copy use paths consistent with execution-time TagReplacer (e.g. {{name}} vs data.name).

[0.0.4] - 2026-04-08

Added

  • Horizon-aware queue health in the admin widget (shows Horizon status, queue name, and supervisor details when available).
  • A voodflow:horizon-snapshot-loop command for environments without a scheduler to keep Horizon metrics up to date.

Changed

  • voodflow:work --horizon now starts the scheduler (and Reverb if available) even when Horizon is already running.
  • Health widget layout is now dynamic (license stat is shown only when configured, and columns adapt accordingly).

Fixed

  • Workflow broadcasting failures (e.g. Reverb offline) no longer fail executions; errors are logged and execution continues.
  • Queue worker activity detection is more reliable via a generic heartbeat updated on job lifecycle events.

[0.0.3] - 2026-04-08

Fixed

  • Scheduled workflows are now dispatched to the queue (and visible in Horizon) when VOODFLOW_EXECUTE_SYNC=false.

[0.0.2] - 2026-04-04

Changed

  • License dashboard cache: shorter TTL for license status (portal.license_cache_ttl_minutes, default 15 minutes, env VOODFLOW_PORTAL_LICENSE_CACHE_MINUTES) so Anystack deactivation is reflected in the admin widget without waiting for the 24h version cache.
  • Health widget: manual “Check now” control on the Voodflow License stat clears the portal license cache and refreshes the stat; success notification when a Composer license key is present.

Added

  • Localized strings for the license refresh control (voodflow::voodflow.widgets.health.*).

[0.0.1] - 2026-04-02

Added

  • First stable release: Voodflow — Filament plugin for visual workflows on Laravel.
  • Visual workflow editor (React Flow), triggers, flow-control and data nodes, actions, queue-based execution, credentials, and model integrations.
  • php artisan voodflow:install for config, published assets, and migrations.
  • Portal integration: version and license checks via api.voodflow.com, Composer-sourced license key, VoodflowPortalClient, and config/voodflow.phpportal.
  • Webhooks, scheduling, whitelabel hooks, optional tenancy support.
  • CLI: voodflow:make-node, voodflow:build-node, voodflow:package-node, workers, and maintenance commands.
  • Distribution via private Composer (Anystack).

Notes

Voodflow Documentation.