Changelog

Releases below are the user-facing changes from 0.2.0 (8 September 2026) through 0.2.21 (29 September 2026). Older 0.1 and 0.0 notes follow.

[0.2.21] - 2026-09-29

Added

  • Dynamic form visibleWhen (NodeDefinitionBuilder::withVisibleWhen) so a field shows only when a sibling matches a value.
  • Select fields keep a blank “Select…” option. Text fields can show a description under the input.

Fixed

  • Required selects no longer look selected while an empty value is saved.

[0.2.15] - 2026-09-25

Added

  • Authorization driver VOODFLOW_AUTHORIZATION (auto, permissions, panel). Without Filament Shield, Voodflow stays visible to panel users instead of hiding every resource.
  • Integrations tab: filter plugin nodes by author. Search matches the author. HTTP Request / Response use the functional blue accent.

[0.2.9] - 2026-09-23

Added

  • Optional VoodBuilder companion blocks: workflow demo canvas and core-nodes grid. Off unless VOODFLOW_VOODBUILDER_BLOCKS=true (0.2.14). Requires voodflow/voodbuilder plus the demo Vite entry and react / @xyflow/react peers.

[0.2.7] - 2026-09-17

Added

  • Plugin nodes can set manifest function (or display.function) so they keep the Integrations tab and still use the core role color (trigger amber, action blue, and so on).

[0.2.6] - 2026-09-17

Changed

  • Event discovery matches plugin trigger nodes that store eventClass in config, not only nodes whose type is trigger.

[0.2.5] - 2026-09-16

Security

  • {{secrets.*}} resolves only on HTTP Request and Send Webhook. Other nodes leave the tag unresolved.
  • Resolved secret plaintext is redacted from execution logs, dry-run output, and downstream node output ([REDACTED_SECRET]).

[0.2.1] - 2026-09-11

Changed

  • Voodflow registers its media vault root via RegistersPluginVault.
  • The approval-page hero media picker scopes to the Voodflow vault album when Vmedia is installed.

[0.2.0] - 2026-09-08

Distribution tag composer require voodflow/voodflow:^0.2. Run php artisan migrate and keep a queue worker running for waits and approvals.

Added

  • Human-in-the-loop: request_approval, Approvals inbox, signed email links.
  • Waits and signals: wait_for_signal, date_reached_node, Voodflow::signal(), voodflow:process-waits, voodflow:date-reached-run.
  • Secrets: encrypted Secret resource and {{secrets.key}} tags.
  • Ops: workflow versions, dry-run, open the failed node on the canvas.
  • Chat webhook templates for Slack, Discord, Teams, and Telegram.
  • AI prompt/agent nodes moved out of core into optional voodflow-ai packages.

Guides: Upgrading to 0.2, Human approvals, Waits and signals, Secrets.

[0.1.0] - 2026-06-25

Added

  • Filament 5: official support alongside Filament 4 (filament/filament and filament/spatie-laravel-settings-plugin ^4.0|^5.0).
  • Tests: restored package test bootstrap (migrations, Spatie settings, users table) so the suite runs reliably in isolation.

Changed

  • Flow editor: @xyflow/react updated to 12.11.1 (rebuilt dist assets).

Fixed

  • Tests: corrected ModelUpdateNodeTest namespace/import; removed reference to a non-existent migration stub in TestCase.

[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.

Full Changelog: https://github.com/voodflow/voodflow/compare/v0.0.8...v0.0.9

[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.

Full Changelog: https://github.com/voodflow/voodflow/compare/v0.0.7...v0.0.8

[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.

Full Changelog: https://github.com/voodflow/voodflow/compare/v0.0.6...v0.0.7

[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.

Full Changelog: https://github.com/voodflow/voodflow/compare/v0.0.5...v0.0.6

[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.php → portal.
  • 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