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:
FlowWorkflowenriches field metadata with enum options when the attribute is cast to a PHPBackedEnum; 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 bypassedCredentialProxy). Failures callrecordError()on the credential for visibility. - Model Update node: empty string values are normalized to
nullfor attributes cast to backed enums, avoidingValueErrorfromEnum::from('').
Changed
- Node registry:
resources/js/nodeRegistry.jsgeneration timestamp refreshed.
[0.0.7] - 2026-04-10
Added
- Model metadata:
EloquentRelationInspectorand registry enrichment add a stablekindper relation (e.g.belongs_to_manyvsbelongs_to) so nodes rely on metadata instead of naming conventions. - Model Update / events:
ModelRelationLoadereagerly loads relations fromHasVoodfloworModelRegistryafter persistence; tag context mergesWorkflowPayload::primaryRecordForTagsfor templates. - Flow editor:
WorkflowUpstreamFieldHintswalks upstream nodes through Merge so Update Model field suggestions match runtime payloads. - Filament: policies for credentials, executions, triggers, and message layouts;
FilamentShieldPageAccessintegrates Shield with dashboard and settings pages.
Fixed
- Merge: optional
waitForAllInputsdefers 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_iduses a suffix (id#…), so downstream nodes and tags keep data after a merge. - Expression:
0/'0'are no longer treated as an empty expression (PHPempty()); 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;DataVieweravoids 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}}vsdata.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-loopcommand for environments without a scheduler to keep Horizon metrics up to date.
Changed
voodflow:work --horizonnow 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, envVOODFLOW_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:installfor config, published assets, and migrations.- Portal integration: version and license checks via
api.voodflow.com, Composer-sourced license key,VoodflowPortalClient, andconfig/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
- Composer repository URL, licensing, and setup: docs.voodflow.com.